|
virtual Derived & | operator= (const Ring &r)=0 |
| Assignment operator from the ground ring. More...
|
|
virtual Derived | operator+ (const Ring &r) const =0 |
| Addition operator of a ground ring element. More...
|
|
virtual Derived & | operator+= (const Ring &)=0 |
| Addition assignment operator of a ground ring element. More...
|
|
virtual Derived | operator- (const Ring &) const =0 |
| Subtraction operator of a ground ring element. More...
|
|
virtual Derived & | operator-= (const Ring &)=0 |
| Subtraction assignment operator of a ground ring element. More...
|
|
virtual Derived | operator- () const =0 |
| Negation operation. More...
|
|
virtual Derived | operator* (const Ring &) const =0 |
| Multiplication operator of a ground ring element. More...
|
|
virtual Derived & | operator*= (const Ring &)=0 |
| Multiplication assignment operator of a ground ring element. More...
|
|
virtual Integer | degree () const =0 |
| Return the (total) degree of polynomial. More...
|
|
virtual Ring | leadingCoefficient () const =0 |
| Get the leading coefficient of this polynomial, the non-zero coefficient of the monomial with maximum degree. More...
|
|
virtual Ring | trailingCoefficient () const =0 |
| Get the trailing coefficient of this polynomial, the non-zero coefficient of the monomial with minimum degree. More...
|
|
virtual bool | isConstantTermZero () const =0 |
| Determine if the constant term of this polynomial is zero or not. More...
|
|
virtual Integer | numberOfTerms () const =0 |
| Determine the number of non-zero terms in this polynomial. More...
|
|
virtual mpz_class | getCharacteristic () const |
| The characteristic of this ring class.
|
|
virtual bool | isZero () const =0 |
| Determine if *this ring element is zero, that is the additive identity. More...
|
|
virtual void | zero ()=0 |
| Make *this ring element zero.
|
|
virtual bool | isOne () const =0 |
| Determine if *this ring element is one, that is the multiplication identity. More...
|
|
virtual void | one ()=0 |
| Make *this ring element one.
|
|
virtual Derived | unitCanonical (Derived *u=NULL, Derived *v=NULL) const =0 |
| Obtain the unit normal (a.k.a canonical associate) of an element. More...
|
|
virtual Derived & | operator= (const Derived &)=0 |
| Copy assignment.
|
|
virtual Derived | operator+ (const Derived &) const =0 |
| Addition.
|
|
virtual Derived & | operator+= (const Derived &)=0 |
| Addition assignment.
|
|
virtual Derived | operator- (const Derived &) const =0 |
| Subtraction.
|
|
virtual Derived & | operator-= (const Derived &)=0 |
| Subtraction assignment.
|
|
virtual Derived | operator* (const Derived &) const =0 |
| Multiplication.
|
|
virtual Derived & | operator*= (const Derived &)=0 |
| Multiplication assignment.
|
|
virtual Derived | operator^ (long long int e) const =0 |
| Exponentiation.
|
|
virtual Derived & | operator^= (long long int e)=0 |
| Exponentiation assignment.
|
|
virtual bool | operator== (const Derived &) const =0 |
| Equality test,. More...
|
|
virtual bool | operator!= (const Derived &) const =0 |
| Inequality test,. More...
|
|
virtual void | print (std::ostream &ostream) const |
| Print the Ring element. More...
|
|
virtual std::string | toString () const |
| Convert the Ring element to a string. More...
|
|
virtual ExpressionTree | convertToExpressionTree () const =0 |
| Convert this to an expression tree. More...
|
|
template<class Ring, class Derived>
class BPASBasePolynomial< Ring, Derived >
An abstract class defining the interface of polynomial over an arbitrary BPASRing.
This is class is the common interface for both univariate and multivariate polynomials.
Depending on the true type of Ring, the interface may add some additional methods.
- See also
- BPASEuclideanPolynomial, BPASGCDPolynomial, BPASIntegralPolynomial.
Since polynomials themselves form a ring, we inherit from BPASRing<Derived>, meanwhile the ground ring, Ring, must also be a valid ring.