|
| DenseUnivariatePolynomial () |
| Construct a polynomial. More...
|
|
| DenseUnivariatePolynomial (int s) |
| Construct a polynomial with degree. More...
|
|
| DenseUnivariatePolynomial (Field e) |
|
| DenseUnivariatePolynomial (const DenseUnivariatePolynomial< Field > &b) |
| Copy constructor. More...
|
|
| ~DenseUnivariatePolynomial () |
| Destroy the polynomial. More...
|
|
Integer | degree () const |
| Get degree of the polynomial. More...
|
|
Field | leadingCoefficient () const |
| Get the leading coefficient. More...
|
|
Field | trailingCoefficient () const |
|
Integer | numberOfTerms () const |
|
Field * | coefficients (int k=0) |
| Get coefficients of the polynomial, given start offset. More...
|
|
Field | coefficient (int k) const |
| Get a coefficient of the polynomial. More...
|
|
void | setCoefficient (int k, const Field &value) |
| Set a coefficient of the polynomial. More...
|
|
Symbol | variable () const |
| Get variable's name. More...
|
|
void | setVariableName (const Symbol &x) |
| Set variable's name. More...
|
|
DenseUnivariatePolynomial< Field > & | operator= (const DenseUnivariatePolynomial< Field > &b) |
| Overload operator =. More...
|
|
DenseUnivariatePolynomial< Field > & | operator= (const Field &f) |
|
bool | operator!= (const DenseUnivariatePolynomial< Field > &b) const |
| Overload operator !=. More...
|
|
bool | operator== (const DenseUnivariatePolynomial< Field > &b) const |
| Overload operator ==. More...
|
|
bool | isZero () const |
| Is zero polynomial. More...
|
|
void | zero () |
| Zero polynomial. More...
|
|
bool | isOne () const |
| Is polynomial a constatn 1. More...
|
|
void | one () |
| Set polynomial to 1. More...
|
|
bool | isNegativeOne () const |
| Is polynomial a constatn -1. More...
|
|
void | negativeOne () |
| Set polynomial to -1. More...
|
|
int | isConstant () const |
| Is a constant. More...
|
|
DenseUnivariatePolynomial< Field > | unitCanonical (DenseUnivariatePolynomial< Field > *u, DenseUnivariatePolynomial< Field > *v) const |
| Obtain the unit normal (a.k.a canonical associate) of an element. More...
|
|
Field | content () const |
| Content of the polynomial. More...
|
|
DenseUnivariatePolynomial< Field > | primitivePart () const |
|
DenseUnivariatePolynomial< Field > | operator^ (long long int e) const |
| Overload operator ^ replace xor operation by exponentiation. More...
|
|
DenseUnivariatePolynomial< Field > & | operator^= (long long int e) |
| Overload operator ^= replace xor operation by exponentiation. More...
|
|
DenseUnivariatePolynomial< Field > | operator<< (int k) const |
| Overload operator << replace by muplitying x^k. More...
|
|
DenseUnivariatePolynomial< Field > & | operator<<= (int k) |
| Overload operator <<= replace by muplitying x^k. More...
|
|
DenseUnivariatePolynomial< Field > | operator>> (int k) const |
| Overload operator >> replace by dividing x^k, and return the quotient. More...
|
|
DenseUnivariatePolynomial< Field > & | operator>>= (int k) |
| Overload operator >>= replace by dividing x^k, and return the quotient. More...
|
|
DenseUnivariatePolynomial< Field > | operator+ (const DenseUnivariatePolynomial< Field > &b) const |
| Overload operator +. More...
|
|
DenseUnivariatePolynomial< Field > & | operator+= (const DenseUnivariatePolynomial< Field > &b) |
| Overload Operator +=. More...
|
|
void | add (const DenseUnivariatePolynomial< Field > &b) |
| Add another polynomial to itself. More...
|
|
DenseUnivariatePolynomial< Field > | operator+ (const Field &c) const |
| Overload Operator +. More...
|
|
DenseUnivariatePolynomial< Field > & | operator+= (const Field &c) |
| Overload Operator +=. More...
|
|
DenseUnivariatePolynomial< Field > | operator- (const DenseUnivariatePolynomial< Field > &b) const |
| Subtract another polynomial. More...
|
|
DenseUnivariatePolynomial< Field > & | operator-= (const DenseUnivariatePolynomial< Field > &b) |
| Overload operator -=. More...
|
|
DenseUnivariatePolynomial< Field > | operator- () const |
| Overload operator -, negate. More...
|
|
void | subtract (const DenseUnivariatePolynomial< Field > &b) |
| Subtract another polynomial from itself. More...
|
|
DenseUnivariatePolynomial< Field > | operator- (const Field &c) const |
| Overload operator -. More...
|
|
DenseUnivariatePolynomial< Field > & | operator-= (const Field &c) |
| Overload operator -=. More...
|
|
bool | SRGFNcmp (mpz_class &p) |
| Helper function to compare a given prime number with manually computed Generalized Fermat Numbers. More...
|
|
DenseUnivariatePolynomial< Field > | operator* (const DenseUnivariatePolynomial< Field > &b) const |
| Multiply to another polynomial. More...
|
|
void | FFT (SmallPrimeField *field, int K, int e, SmallPrimeField &omega) |
|
void | FFT (BigPrimeField *field, int K, int e, BigPrimeField &omega) |
|
void | FFT (GeneralizedFermatPrimeField *field, int K, int e, GeneralizedFermatPrimeField &omega) |
|
void | IFFT (SmallPrimeField *field, int K, int e, SmallPrimeField &omega) |
|
void | IFFT (BigPrimeField *field, int K, int e, BigPrimeField &omega) |
|
void | IFFT (GeneralizedFermatPrimeField *field, int K, int e, GeneralizedFermatPrimeField &omega) |
|
DenseUnivariatePolynomial< Field > & | operator*= (const DenseUnivariatePolynomial< Field > &b) |
| Overload operator *=. More...
|
|
DenseUnivariatePolynomial< Field > | operator* (const Field &e) const |
| Overload operator *. More...
|
|
DenseUnivariatePolynomial< Field > & | operator*= (const Field &e) |
| Overload operator *=. More...
|
|
DenseUnivariatePolynomial< Field > | operator/ (const DenseUnivariatePolynomial< Field > &b) const |
| Overload operator / ExactDivision. More...
|
|
DenseUnivariatePolynomial< Field > & | operator/= (const DenseUnivariatePolynomial< Field > &b) |
| Overload operator /= ExactDivision. More...
|
|
DenseUnivariatePolynomial< Field > | operator/ (const Field &e) const |
| Overload operator /. More...
|
|
DenseUnivariatePolynomial< Field > & | operator/= (const Field &e) |
| Overload operator /=. More...
|
|
DenseUnivariatePolynomial< Field > | monicDivide (const DenseUnivariatePolynomial< Field > &b) |
| Monic division Return quotient and itself become the remainder. More...
|
|
DenseUnivariatePolynomial< Field > | monicDivide (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *rem) const |
| Monic division Return quotient. More...
|
|
DenseUnivariatePolynomial< Field > | lazyPseudoDivide (const DenseUnivariatePolynomial< Field > &b, Field *c, Field *d) |
| Lazy pseudo dividsion Return the quotient and itself becomes remainder e is the exact number of division steps. More...
|
|
DenseUnivariatePolynomial< Field > | lazyPseudoDivide (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *rem, Field *c, Field *d) const |
| Lazy pseudo dividsion Return the quotient e is the exact number of division steps. More...
|
|
DenseUnivariatePolynomial< Field > | pseudoDivide (const DenseUnivariatePolynomial< Field > &b, Field *d=NULL) |
| Pseudo dividsion Return the quotient and itself becomes remainder. More...
|
|
DenseUnivariatePolynomial< Field > | pseudoDivide (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *rem, Field *d) const |
| Pseudo dividsion Return the quotient. More...
|
|
DenseUnivariatePolynomial< Field > | halfExtendedEuclidean (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *g) |
| s * a g (mod b), where g = gcd(a, b) More...
|
|
void | diophantinEquationSolve (const DenseUnivariatePolynomial< Field > &a, const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *s, DenseUnivariatePolynomial< Field > *t) |
| s*a + t*b = c, where c in the ideal (a,b) More...
|
|
void | differentiate (int k) |
| Compute k-th differentiate. More...
|
|
void | differentiate () |
|
DenseUnivariatePolynomial< Field > | derivative (int k) const |
|
DenseUnivariatePolynomial< Field > | derivative () const |
|
DenseUnivariatePolynomial< Field > | integrate () const |
| Compute the integral with constant of integration 0. More...
|
|
Field | evaluate (const Field &x) const |
| Evaluate f(x) More...
|
|
bool | isConstantTermZero () const |
| Is the least signficant coefficient zero. More...
|
|
DenseUnivariatePolynomial< Field > | gcd (const DenseUnivariatePolynomial< Field > &q, int type) const |
| GCD(p, q) More...
|
|
DenseUnivariatePolynomial< Field > | gcd (const DenseUnivariatePolynomial< Field > &q) const |
| Get GCD of *this and other.
|
|
Factors< DenseUnivariatePolynomial< Field > > | squareFree () const |
| Square free. More...
|
|
bool | divideByVariableIfCan () |
| Divide by variable if it is zero. More...
|
|
void | reciprocal () |
| Number of coefficient sign variation. More...
|
|
void | homothetic (int k) |
| Homothetic operation. More...
|
|
void | scaleTransform (int k) |
| Scale transform operation. More...
|
|
void | negativeVariable () |
| Compute f(-x) More...
|
|
void | negate () |
| Compute -f(x) More...
|
|
void | print (std::ostream &out) const |
| Overload stream operator <<. More...
|
|
ExpressionTree | convertToExpressionTree () const |
| Convert this to an expression tree. More...
|
|
DenseUnivariatePolynomial< Field > | euclideanSize () const |
| Euclidean domain methods.
|
|
DenseUnivariatePolynomial< Field > | euclideanDivision (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *q=NULL) const |
| Perform the eucldiean division of *this and b. More...
|
|
DenseUnivariatePolynomial< Field > | extendedEuclidean (const DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > *s=NULL, DenseUnivariatePolynomial< Field > *t=NULL) const |
| Perofrm the extended euclidean division on *this and b. More...
|
|
DenseUnivariatePolynomial< Field > | quotient (const DenseUnivariatePolynomial< Field > &b) const |
| Get the quotient of *this and b.
|
|
DenseUnivariatePolynomial< Field > | remainder (const DenseUnivariatePolynomial< Field > &b) const |
| Get the remainder of *this and b.
|
|
DenseUnivariatePolynomial< Field > | operator% (const DenseUnivariatePolynomial< Field > &b) const |
| Get the remainder of *this and b;.
|
|
DenseUnivariatePolynomial< Field > & | operator%= (const DenseUnivariatePolynomial< Field > &b) |
| Assign *this to be the remainder of *this and b.
|
|
DenseUnivariatePolynomial< Field > | Reverse () const |
| Reverse a polynomial (based on Modern Computer Algebra , Newton Iteration Chapter 9) More...
|
|
DenseUnivariatePolynomial< Field > | NewtonIterationInversion (int l) |
| Does Newton Iteration to compute the Reverse Inverse of a polynomial (based on Modern Computer Algebra , Newton Iteration Chapter 9) More...
|
|
void | NewtonDivisionQuotient (DenseUnivariatePolynomial< Field > &b, DenseUnivariatePolynomial< Field > &q, DenseUnivariatePolynomial< Field > &r, int l) |
| Fast Division (based on Modern Computer Algebra , Newton Iteration Chapter 9) More...
|
|
template<class Field>
class DenseUnivariatePolynomial< Field >
A univariate polynomial with arbitrary BPASField coefficients represented densely.
This class is templated by a Field which should be a BPASField.