linbox
PolynomialRing< BaseRing, StorageTag > Class Template Reference

Polynomials. More...

#include <polynomial-ring.h>

+ Inheritance diagram for PolynomialRing< BaseRing, StorageTag >:

Public Types

typedef Givaro::Poly1Dom< BaseRing, StorageTag > Parent_t
 
typedef DensePolynomial< BaseRing > Element
 
typedef Element Polynomial
 
typedef Element Rep
 
using Element_ptr = Element*
 
using ConstElement_ptr = const Element*
 
typedef BaseRing::Element Type_t
 

Public Member Functions

 PolynomialRing (const BaseRing &R)
 
 PolynomialRing (const BaseRing &R, const Givaro::Indeter &I)
 
template<typename... Args>
Repinit (Rep &p, Args... args) const
 
template<class XXX>
Repinit (Rep &p, const std::initializer_list< XXX > &cste) const
 
template<typename... Args>
Repassign (Rep &p, Args... args) const
 
template<typename... Args>
Repmod (Rep &p, Args... args) const
 
template<typename... Args>
Repmodin (Rep &p, Args... args) const
 
template<typename... Args>
Repneg (Rep &p, Args... args) const
 
template<typename... Args>
Repnegin (Rep &p, Args... args) const
 
template<typename... Args>
Repadd (Rep &p, Args... args) const
 
template<typename... Args>
Repaddin (Rep &p, Args... args) const
 
template<typename... Args>
Repsub (Rep &p, Args... args) const
 
template<typename... Args>
Repsubin (Rep &p, Args... args) const
 
template<typename... Args>
Repmul (Rep &p, Args... args) const
 
template<typename... Args>
Repmulin (Rep &p, Args... args) const
 
template<typename... Args>
Repaxpy (Rep &p, Args... args) const
 
template<typename... Args>
Repaxpyin (Rep &p, Args... args) const
 
template<typename... Args>
Repaxmy (Rep &p, Args... args) const
 
template<typename... Args>
Repaxmyin (Rep &p, Args... args) const
 
template<typename... Args>
Repmaxpy (Rep &p, Args... args) const
 
template<typename... Args>
Repmaxpyin (Rep &p, Args... args) const
 
template<typename... Args>
Repinvmod (Rep &p, Args... args) const
 
template<typename... Args>
Repinvmodunit (Rep &p, Args... args) const
 
template<typename... Args>
Repgcd (Rep &p, Args... args) const
 
template<typename... Args>
Repgcd (Rep &p, Rep &u, Rep &v, Args... args) const
 
template<typename... Args>
Replcm (Rep &p, Args... args) const
 
template<typename... Args>
bool ratrecon (Rep &p, Rep &q, Args... args) const
 
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor (Vector< Polynomial, Alloc< Polynomial > > &factors, std::vector< uint64_t > &exp, const Polynomial &P)
 
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor (Vector< Polynomial, Alloc< Polynomial > > &factors, std::vector< uint64_t > &exp, const Polynomial &P, const RingCategories::ModularTag &tag)
 
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor (Vector< Polynomial, Alloc< Polynomial > > &factors, std::vector< uint64_t > &exp, const Polynomial &P, const RingCategories::IntegerTag &tag)
 
bool areAssociates (const Element &x, const Element &y) const
 
Elementnormalize (Element &z, const Element &x) const
 
Elementnormalizein (Element &z) const
 

Data Fields

Rep zero
 
Rep one
 
Rep mOne
 

Protected Types

typedef Parent_t::Element ParElem
 

Detailed Description

template<class BaseRing, class StorageTag = Givaro::Dense>
class LinBox::PolynomialRing< BaseRing, StorageTag >

Polynomials.

Template Parameters
Domain
StorageTag

Member Typedef Documentation

◆ Parent_t

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef Givaro::Poly1Dom<BaseRing,StorageTag> Parent_t

◆ Element

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef DensePolynomial<BaseRing> Element

◆ Polynomial

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef Element Polynomial

◆ Rep

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef Element Rep

◆ Element_ptr

template<class BaseRing, class StorageTag = Givaro::Dense>
using Element_ptr = Element*

◆ ConstElement_ptr

template<class BaseRing, class StorageTag = Givaro::Dense>
using ConstElement_ptr = const Element*

◆ Type_t

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef BaseRing::Element Type_t

◆ ParElem

template<class BaseRing, class StorageTag = Givaro::Dense>
typedef Parent_t::Element ParElem
protected

Constructor & Destructor Documentation

◆ PolynomialRing() [1/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
PolynomialRing ( const BaseRing & R)
inline

◆ PolynomialRing() [2/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
PolynomialRing ( const BaseRing & R,
const Givaro::Indeter & I )
inline

Member Function Documentation

◆ init() [1/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & init ( Rep & p,
Args... args ) const
inline

◆ init() [2/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<class XXX>
Rep & init ( Rep & p,
const std::initializer_list< XXX > & cste ) const
inline

◆ assign()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & assign ( Rep & p,
Args... args ) const
inline

◆ mod()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & mod ( Rep & p,
Args... args ) const
inline

◆ modin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & modin ( Rep & p,
Args... args ) const
inline

◆ neg()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & neg ( Rep & p,
Args... args ) const
inline

◆ negin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & negin ( Rep & p,
Args... args ) const
inline

◆ add()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & add ( Rep & p,
Args... args ) const
inline

◆ addin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & addin ( Rep & p,
Args... args ) const
inline

◆ sub()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & sub ( Rep & p,
Args... args ) const
inline

◆ subin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & subin ( Rep & p,
Args... args ) const
inline

◆ mul()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & mul ( Rep & p,
Args... args ) const
inline

◆ mulin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & mulin ( Rep & p,
Args... args ) const
inline

◆ axpy()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & axpy ( Rep & p,
Args... args ) const
inline

◆ axpyin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & axpyin ( Rep & p,
Args... args ) const
inline

◆ axmy()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & axmy ( Rep & p,
Args... args ) const
inline

◆ axmyin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & axmyin ( Rep & p,
Args... args ) const
inline

◆ maxpy()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & maxpy ( Rep & p,
Args... args ) const
inline

◆ maxpyin()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & maxpyin ( Rep & p,
Args... args ) const
inline

◆ invmod()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & invmod ( Rep & p,
Args... args ) const
inline

◆ invmodunit()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & invmodunit ( Rep & p,
Args... args ) const
inline

◆ gcd() [1/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & gcd ( Rep & p,
Args... args ) const
inline

◆ gcd() [2/2]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & gcd ( Rep & p,
Rep & u,
Rep & v,
Args... args ) const
inline

◆ lcm()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
Rep & lcm ( Rep & p,
Args... args ) const
inline

◆ ratrecon()

template<class BaseRing, class StorageTag = Givaro::Dense>
template<typename... Args>
bool ratrecon ( Rep & p,
Rep & q,
Args... args ) const
inline

◆ factor() [1/3]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor ( Vector< Polynomial, Alloc< Polynomial > > & factors,
std::vector< uint64_t > & exp,
const Polynomial & P )
inline

◆ factor() [2/3]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor ( Vector< Polynomial, Alloc< Polynomial > > & factors,
std::vector< uint64_t > & exp,
const Polynomial & P,
const RingCategories::ModularTag & tag )
inline

◆ factor() [3/3]

template<class BaseRing, class StorageTag = Givaro::Dense>
template<template< class, class > class Vector, template< class > class Alloc>
size_t factor ( Vector< Polynomial, Alloc< Polynomial > > & factors,
std::vector< uint64_t > & exp,
const Polynomial & P,
const RingCategories::IntegerTag & tag )

◆ areAssociates()

template<class BaseRing, class StorageTag = Givaro::Dense>
bool areAssociates ( const Element & x,
const Element & y ) const
inline

◆ normalize()

template<class BaseRing, class StorageTag = Givaro::Dense>
Element & normalize ( Element & z,
const Element & x ) const
inline

◆ normalizein()

template<class BaseRing, class StorageTag = Givaro::Dense>
Element & normalizein ( Element & z) const
inline

Field Documentation

◆ zero

template<class BaseRing, class StorageTag = Givaro::Dense>
Rep zero

◆ one

template<class BaseRing, class StorageTag = Givaro::Dense>
Rep one

◆ mOne

template<class BaseRing, class StorageTag = Givaro::Dense>
Rep mOne

The documentation for this class was generated from the following files: