Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
|
An abstract class defining the interface of a polynomial ring which is also a Euclidean domain. More...
#include <BPASEuclideanPolynomial.hpp>
Additional Inherited Members | |
Public Member Functions inherited from BPASBasePolynomial< Ring, Derived > | |
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... | |
Public Member Functions inherited from BPASRing< Derived > | |
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... | |
Public Member Functions inherited from ExpressionTreeConvert | |
virtual ExpressionTree | convertToExpressionTree () const =0 |
Convert this to an expression tree. More... | |
Public Member Functions inherited from BPASIntegralDomain< Derived > | |
virtual Derived | operator/ (const Derived &d) const =0 |
Exact division. More... | |
virtual Derived & | operator/= (const Derived &d)=0 |
Exact division assignment. More... | |
Public Member Functions inherited from BPASGCDDomain< Derived > | |
virtual Derived | gcd (const Derived &other) const =0 |
Get GCD of *this and other. More... | |
virtual Factors< Derived > | squareFree () const =0 |
Compute squarefree factorization of *this. More... | |
Public Member Functions inherited from BPASEuclideanDomain< Derived > | |
virtual Integer | euclideanSize () const =0 |
Get the euclidean size of *this. | |
virtual Derived | euclideanDivision (const Derived &b, Derived *q=NULL) const =0 |
Perform the eucldiean division of *this and b. More... | |
virtual Derived | extendedEuclidean (const Derived &b, Derived *s=NULL, Derived *t=NULL) const =0 |
Perform the extended euclidean division on *this and b. More... | |
virtual Derived | quotient (const Derived &b) const =0 |
Get the quotient of *this and b. More... | |
virtual Derived | remainder (const Derived &b) const =0 |
Get the remainder of *this and b. More... | |
virtual Derived | operator% (const Derived &b) const =0 |
Get the remainder of *this and b;. More... | |
virtual Derived & | operator%= (const Derived &b)=0 |
Assign *this to be the remainder of *this and b. More... | |
An abstract class defining the interface of a polynomial ring which is also a Euclidean domain.
Thus, it is a univariate polynomial over a field.
This class is automatically determined to be a superclass of a BPASPolynomial based on a template specialization of the Ring parameter.