 Basic Polynomial Algebra Subprograms (BPAS)  v. 1.652
BPASBasePolynomial< Ring, Derived > Class Template Referenceabstract

Abstract Polynomial Classes. More...

#include <polynomial.h>

Simplified semantic inheritance diagram for BPASBasePolynomial< Ring, Derived >: Full inheritance diagram for BPASBasePolynomial< Ring, Derived >:
[legend]

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

virtual Derived & operator+= (const Derived &)=0

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... Static Public Attributes inherited from BPASRing< Derived >
static RingProperties properties
Static element describing the properties of this ring class.

Detailed Description

template<class Ring, class Derived> class BPASBasePolynomial< Ring, Derived >

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.

The documentation for this class was generated from the following file: