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.