Basic Polynomial Algebra Subprograms (BPAS)
v. 1.652

Abstract Polynomial Classes. More...
#include <polynomial.h>
Public Member Functions  
virtual Derived &  operator= (const Ring &)=0 
In addition to the ring arithmetic for Derived defined by BPASRing polynomials must do arithmetic with their base ring.  
virtual Derived  operator+ (const Ring &) const =0 
virtual Derived &  operator+= (const Ring &)=0 
virtual Derived  operator (const Ring &) const =0 
virtual Derived  operator () const =0 
Negation.  
virtual Derived &  operator= (const Ring &)=0 
virtual Derived  operator* (const Ring &) const =0 
virtual Derived &  operator*= (const Ring &)=0 
virtual Integer  degree () const =0 
virtual Ring  leadingCoefficient () const =0 
virtual Ring  trailingCoefficient () const =0 
virtual bool  isConstantTermZero () const =0 
virtual Integer  numberOfTerms () const =0 
Public Member Functions inherited from BPASRing< Derived >  
virtual mpz_class  characteristic () 
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...  
Public Member Functions inherited from ExpressionTreeConvert  
virtual ExpressionTree  convertToExpressionTree () const =0 
Convert this to an expression tree. More...  
Additional Inherited Members  
Static Public Attributes inherited from BPASRing< Derived >  
static RingProperties  properties 
Static element describing the properties of this ring class.  
Abstract Polynomial Classes.
An abstract class defining the interface of a polynomial over an arbitrary BPASRing. This calss is Polynomials themselves form a ring, BPASRing<Derived> as well as the base ring, Ring, is also a valid ring.