|
| SparseUnivariatePolynomial () |
| Construct a polynomial. More...
|
|
| SparseUnivariatePolynomial (const SparseUnivariatePolynomial< Ring > &b) |
| Copy constructor. More...
|
|
| SparseUnivariatePolynomial (int a) |
|
| SparseUnivariatePolynomial (const Integer &c) |
|
| SparseUnivariatePolynomial (const RationalNumber &c) |
|
| SparseUnivariatePolynomial (const ComplexRationalNumber &c) |
|
| SparseUnivariatePolynomial (const DenseUnivariateIntegerPolynomial &b) |
|
| SparseUnivariatePolynomial (const DenseUnivariateRationalPolynomial &b) |
|
| SparseUnivariatePolynomial (Symbol sym) |
|
| ~SparseUnivariatePolynomial () |
| Destroy the polynomial. More...
|
|
Integer | numberOfTerms () const |
| Get the number of terms. More...
|
|
Integer | degree () const |
| Get the degree of the polynomial. More...
|
|
Ring | leadingCoefficient () const |
| Get the leading coefficient. More...
|
|
Ring | trailingCoefficient () const |
|
Ring | coefficient (int k) const |
| Get a coefficient. More...
|
|
void | setCoefficient (int e, const Ring &c) |
| Set a coeffcient with its exponent. More...
|
|
Symbol | variable () const |
| Get the variable name. More...
|
|
void | setVariableName (const Symbol &c) |
| Set the variable name. More...
|
|
SparseUnivariatePolynomial< Ring > | unitCanonical (SparseUnivariatePolynomial< Ring > *u=NULL, SparseUnivariatePolynomial< Ring > *v=NULL) const |
|
SparseUnivariatePolynomial< Ring > & | operator= (const SparseUnivariatePolynomial< Ring > &b) |
| Overload operator =. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator= (const Ring &r) |
| Overload operator =. More...
|
|
bool | operator!= (const SparseUnivariatePolynomial< Ring > &b) const |
| Overload operator !=. More...
|
|
bool | operator== (const SparseUnivariatePolynomial< Ring > &b) const |
| Overload operator ==. More...
|
|
bool | operator== (const DenseUnivariateRationalPolynomial &b) const |
|
bool | operator== (const DenseUnivariateIntegerPolynomial &b) const |
|
bool | isZero () const |
| Is zero polynomial. More...
|
|
void | zero () |
| Zero polynomial. More...
|
|
bool | isOne () const |
| Is polynomial a constant 1. More...
|
|
void | one () |
| Set polynomial to 1. More...
|
|
bool | isNegativeOne () const |
| Is polynomial a constant -1. More...
|
|
void | negativeOne () |
| Set polynomial to -1. More...
|
|
int | isConstant () const |
| Is a constant. More...
|
|
Ring | convertToConstant () |
| Convert to a constant. More...
|
|
Ring | content () const override |
| Content of the polynomial. More...
|
|
SparseUnivariatePolynomial< Ring > | primitivePart () const |
|
SparseUnivariatePolynomial< Ring > | operator^ (long long int e) const |
| Overload operator ^ replace xor operation by exponentiation. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator^= (long long int e) |
| Overload operator ^= replace xor operation by exponentiation. More...
|
|
SparseUnivariatePolynomial< Ring > | operator<< (int k) const |
| Overload operator << replace by muplitying x^k. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator<<= (int k) |
| Overload operator <<= replace by muplitying x^k. More...
|
|
SparseUnivariatePolynomial< Ring > | operator>> (int k) const |
| Overload operator >> replace by dividing x^k, and return the quotient. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator>>= (int k) |
| Overload operator >>= replace by dividing x^k, and return the quotient. More...
|
|
SparseUnivariatePolynomial< Ring > | operator+ (const SparseUnivariatePolynomial< Ring > &b) const |
| Overload operator +. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator+= (const SparseUnivariatePolynomial< Ring > &b) |
| Overload operator+=. More...
|
|
SparseUnivariatePolynomial< Ring > | operator+ (const Ring &e) const |
| Overload operator +. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator+= (const Ring &e) |
| Overload operator +=. More...
|
|
SparseUnivariatePolynomial< Ring > | operator- () const |
| Overload operator -, negate. More...
|
|
SparseUnivariatePolynomial< Ring > | operator- (const SparseUnivariatePolynomial< Ring > &b) const |
| Subtract another polynomial. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator-= (const SparseUnivariatePolynomial< Ring > &b) |
| Overload operator -=. More...
|
|
SparseUnivariatePolynomial< Ring > | operator- (const Ring &e) const |
| Overload operator -. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator-= (const Ring &e) |
| Overload operator -=. More...
|
|
SparseUnivariatePolynomial< Ring > | operator* (const SparseUnivariatePolynomial< Ring > &b) const |
| Multiply another polynomial. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator*= (const SparseUnivariatePolynomial< Ring > &b) |
| Overload operator *=. More...
|
|
SparseUnivariatePolynomial< Ring > | operator* (const Ring &c) const |
| Overload operator *. More...
|
|
SparseUnivariatePolynomial< Ring > | operator* (const sfixn &e) const |
|
SparseUnivariatePolynomial< Ring > & | operator*= (const Ring &c) |
| Overload operator *=. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator*= (const sfixn &e) |
|
SparseUnivariatePolynomial< Ring > | operator/ (const SparseUnivariatePolynomial< Ring > &b) const |
| Overload operator / EdeDivision. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator/= (const SparseUnivariatePolynomial< Ring > &b) |
| Overload operator /= ExactDivision. More...
|
|
SparseUnivariatePolynomial< Ring > | operator/ (const Ring &e) const |
| Overload operator /. More...
|
|
SparseUnivariatePolynomial< Ring > & | operator/= (const Ring &e) |
| Overload operator /=. More...
|
|
void | negate () |
| Negate the polynomial. More...
|
|
SparseUnivariatePolynomial< Ring > | monicDivide (const SparseUnivariatePolynomial< Ring > &b) |
| Monic division Assuming the leading coefficient of dividend is 1 Return quotient and itself becomes remainder. More...
|
|
SparseUnivariatePolynomial< Ring > | monicDivide (const SparseUnivariatePolynomial< Ring > &b, SparseUnivariatePolynomial< Ring > *rem) const |
| Monic division Assuming the leading coefficient of dividend is 1 Return quotient. More...
|
|
SparseUnivariatePolynomial< Ring > | lazyPseudoDivide (const SparseUnivariatePolynomial< Ring > &b, Ring *c, Ring *d=NULL) |
| Lazy pseudo dividsion Return the quotient and itself becomes remainder e is the exact number of division steps. More...
|
|
SparseUnivariatePolynomial< Ring > | lazyPseudoDivide (const SparseUnivariatePolynomial< Ring > &b, SparseUnivariatePolynomial< Ring > *rem, Ring *c, Ring *d) const |
| Lazy pseudo dividsion Return the quotient e is the exact number of division steps. More...
|
|
SparseUnivariatePolynomial< Ring > | pseudoDivide (const SparseUnivariatePolynomial< Ring > &b, Ring *d=NULL) |
| Pseudo dividsion Return the quotient and itself becomes remainder. More...
|
|
SparseUnivariatePolynomial< Ring > | pseudoDivide (const SparseUnivariatePolynomial< Ring > &b, SparseUnivariatePolynomial< Ring > *rem, Ring *d) const |
| Pseudo dividsion Return the quotient. More...
|
|
void | differentiate (int k) |
| Compute k-th derivative. More...
|
|
void | differentiate () |
| Convert current object to its derivative. More...
|
|
SparseUnivariatePolynomial< Ring > | derivative (int k) const |
| Return k-th derivative. More...
|
|
SparseUnivariatePolynomial< Ring > | derivative () const |
| Compute derivative. More...
|
|
void | integrate () |
| Compute integral with constant of integration set to 0. More...
|
|
SparseUnivariatePolynomial< Ring > | integral () const |
| Compute integral with constant of integration 0. More...
|
|
bool | isConstantTermZero () const |
| Is trailing coefficient zero. More...
|
|
Ring | evaluate (const Ring &x) const |
| Evaluate f(x) More...
|
|
template<class LargerRing > |
LargerRing | evaluate (const LargerRing &x) const |
| Evaluate f(x) More...
|
|
void | fillChain (std::vector< SparseUnivariatePolynomial< Ring >> &chain) const |
|
std::vector< SparseUnivariatePolynomial< Ring > > | subresultantChain (const SparseUnivariatePolynomial< Ring > &q, int filled=0) const |
| Subresultant Chain Return the list of subresultants. More...
|
|
std::vector< SparseUnivariatePolynomial< Ring > > | monomialBasisSubresultantChain (const SparseUnivariatePolynomial< Ring > &q) |
| monomialBasisSubResultantChain More...
|
|
SparseUnivariatePolynomial< Ring > | resultant (const SparseUnivariatePolynomial< Ring > &q) |
| Resultant. More...
|
|
SparseUnivariatePolynomial< Ring > | gcd (const SparseUnivariatePolynomial< Ring > &q) const |
| GCD(p, q) More...
|
|
Factors< SparseUnivariatePolynomial< Ring > > | squareFree () const |
| Square free. More...
|
|
void | print (std::ostream &out) const |
| Overload stream operator <<. More...
|
|
ExpressionTree | convertToExpressionTree () const |
|
DenseUnivariateRationalPolynomial | convertToDUQP () |
|
DenseUnivariateIntegerPolynomial | convertToDUZP () |
|
template<class Ring>
class SparseUnivariatePolynomial< Ring >
A univariate polynomial over an arbitrary BPASRing represented sparsely.
This class is used as part of the automatic template deduction of SparseUnivariatePolynomial, whether the template is a BPASRing or a BPASGCDDomain. A univariate polynomial over an arbitrary BPASRing represented sparsely.
Inheritance of proper base class, and exporting of proper functions, is automatic when the Ring template parameter is specified at compile time by means of std::conditional.