A multivariate polynomial with coefficients in an arbitrary finite field represented densely.  
 More...
|  | 
|  | DistributedDenseMultivariateModularPolynomial () | 
|  | Constructor using a default field. 
 | 
|  | 
|  | DistributedDenseMultivariateModularPolynomial (const Field &m) | 
|  | Constructor with the Field.  More... 
 | 
|  | 
|  | DistributedDenseMultivariateModularPolynomial (int v, int *ds, Field m) | 
|  | Constructor with number of variables and terms.  More... 
 | 
|  | 
|  | DistributedDenseMultivariateModularPolynomial (const Symbol &x, const Field &m) | 
|  | Construct with a variable name such that f(x) = x;.  More... 
 | 
|  | 
|  | DistributedDenseMultivariateModularPolynomial (const DistributedDenseMultivariateModularPolynomial< Field > &b) | 
|  | Copy constructor.  More... 
 | 
|  | 
|  | ~DistributedDenseMultivariateModularPolynomial () | 
|  | Deconstructor.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator= (const DistributedDenseMultivariateModularPolynomial< Field > &b) | 
|  | Overload operator =.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator= (const Field &f) | 
|  | Overload operator =.  More... 
 | 
|  | 
| mpz_class | getCharacteristic () const override | 
|  | The characteristic of this ring class. 
 | 
|  | 
| bool | isZero () const | 
|  | Is a zero polynomial.  More... 
 | 
|  | 
| void | zero () | 
|  | Zero polynomial.  More... 
 | 
|  | 
| bool | isOne () const | 
|  | Is polynomial 1.  More... 
 | 
|  | 
| void | one () | 
|  | Set polynomial to 1.  More... 
 | 
|  | 
| bool | isNegativeOne () const | 
|  | Is polynomial -1.  More... 
 | 
|  | 
| void | negativeOne () | 
|  | Set polynomial to -1.  More... 
 | 
|  | 
| int | isConstant () const | 
|  | Is a constant.  More... 
 | 
|  | 
| int | numberOfVariables () const | 
|  | Get the number of variables.  More... 
 | 
|  | 
| int | numberOfRingVariables () const | 
|  | Get the number of variables in this polynomial ring. 
 | 
|  | 
| Integer | numberOfTerms () const | 
|  | Get the number of non-zero terms.  More... 
 | 
|  | 
| int | size () const | 
|  | Get the size of the polynomial.  More... 
 | 
|  | 
| Integer | degree () const | 
|  | Get the total degree. 
 | 
|  | 
| Integer | degree (const Symbol &x) const | 
|  | Get a partial degree of variable x.  More... 
 | 
|  | 
| Field | leadingCoefficient () const | 
|  | Get the leading coefficient.  More... 
 | 
|  | 
| Field | trailingCoefficient () const | 
|  | 
| bool | isConstantTermZero () const | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | unitCanonical (DistributedDenseMultivariateModularPolynomial *u=NULL, DistributedDenseMultivariateModularPolynomial *v=NULL) const | 
|  | 
| Field | coefficient (int v, const int *d) const | 
|  | Get a coefficient.  More... 
 | 
|  | 
| Field | coefficient (const std::vector< int > &v) const | 
|  | Get the coefficient of this polynomial with respect to the monomial defined by exponent vector exps.  More... 
 | 
|  | 
| void | setCoefficient (int v, const int *d, const Field &val) | 
|  | Set a coefficient.  More... 
 | 
|  | 
| void | setCoefficient (const std::vector< int > &v, const Field &val) | 
|  | Set the coefficient of this polynomial for the monomial defined by exponent vector exps to r.  More... 
 | 
|  | 
| void | setCoefficient (int k, const Field &val) | 
|  | Set a coefficient.  More... 
 | 
|  | 
| Field | content () const | 
|  | 
| DistributedDenseMultivariateModularPolynomial | primitivePart () const | 
|  | 
| bool | operator== (const DistributedDenseMultivariateModularPolynomial< Field > &b) const | 
|  | Overload operator ==.  More... 
 | 
|  | 
| bool | operator!= (const DistributedDenseMultivariateModularPolynomial< Field > &b) const | 
|  | Overload operator !=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator+ (const DistributedDenseMultivariateModularPolynomial< Field > &b) const | 
|  | Overload operator +.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator+= (const DistributedDenseMultivariateModularPolynomial< Field > &b) | 
|  | Overload operator +=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator+ (const Field &e) const | 
|  | Overload operator +.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator+= (const Field &e) | 
|  | Overload operator +=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator- (const DistributedDenseMultivariateModularPolynomial< Field > &b) const | 
|  | Overload operator -.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator-= (const DistributedDenseMultivariateModularPolynomial< Field > &b) | 
|  | Overload operator -=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator- () const | 
|  | Overload operator -, negate.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator- (const Field &e) const | 
|  | Overload operator -.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator-= (const Field &e) | 
|  | Overload operator -=.  More... 
 | 
|  | 
| void | negate () | 
|  | Negate, f(-x)  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator* (const DistributedDenseMultivariateModularPolynomial< Field > &b) const | 
|  | Overload operator *.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator*= (const DistributedDenseMultivariateModularPolynomial< Field > &b) | 
|  | Overload operator *=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator* (const Field &e) const | 
|  | Overload operator *.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator*= (const Field &f) | 
|  | Overload operator *=.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator^ (long long int e) const | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator^= (long long int e) | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator/ (const DistributedDenseMultivariateModularPolynomial< Field > &p) const | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator/= (const DistributedDenseMultivariateModularPolynomial< Field > &p) | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | operator/ (const Field &e) const | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > & | operator/= (const Field &e) | 
|  | 
| void | setRingVariables (const std::vector< Symbol > &xs) | 
|  | Set variable names.  More... 
 | 
|  | 
| std::vector< Symbol > | ringVariables () const | 
|  | Get variable names.  More... 
 | 
|  | 
| std::vector< Symbol > | variables () const | 
|  | Get all the variables in this polynomial with positive degree.  More... 
 | 
|  | 
| void | print (std::ostream &out) const | 
|  | Overload stream operator <<.  More... 
 | 
|  | 
| ExpressionTree | convertToExpressionTree () const | 
|  | Convert *this to an expression tree. 
 | 
|  | 
| void | differentiate (const Symbol &s, int k) | 
|  | Differentiate this polynomial k times, with respect to a particular variable, setting itself to its derivative.  More... 
 | 
|  | 
| void | differentiate (const Symbol &s) | 
|  | Differentiate this polynomial, with respect to a particular variable, setting itself to its derivative.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | derivative (const Symbol &s, int k) const | 
|  | Differentiate this polynomial k times, with respect to a particular variable, setting itself to its derivative.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | derivative (const Symbol &s) const | 
|  | Differentiate this polynomial, with respect to a particular variable, setting itself to its derivative.  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | evaluate (const std::vector< Symbol > &syms, const std::vector< Field > &vals) const | 
|  | Evaluate this polynomial by substituting the input ring elements elems for the variables vars, such that vars[i] = elems[i].  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | evaluate (int n, const Symbol *syms, const Field *vals) const | 
|  | Evaluate this polynomial by substituting the input ring elements elems for the variables vars, such that vars[i] = elems[i].  More... 
 | 
|  | 
| DistributedDenseMultivariateModularPolynomial< Field > | gcd (const DistributedDenseMultivariateModularPolynomial< Field > &p) const | 
|  | 
| Factors< DistributedDenseMultivariateModularPolynomial > | squareFree () const | 
|  | Compute squarefree factorization of *this. 
 | 
|  | 
template<class Field>
class DistributedDenseMultivariateModularPolynomial< Field >
A multivariate polynomial with coefficients in an arbitrary finite field represented densely. 
The class is templated by a Field which should be a BPASField.