Basic Polynomial Algebra Subprograms (BPAS)  v. 1.791
List of all members
BPASIntegralPolynomial< Ring, Derived > Class Template Reference

An abstract class defining the interface of a polynomial ring which is also an integral domain. More...

#include <BPASIntegralPolynomial.hpp>

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

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...
 

Detailed Description

template<class Ring, class Derived>
class BPASIntegralPolynomial< Ring, Derived >

An abstract class defining the interface of a polynomial ring which is also an integral domain.

E.g., a polynomial over an integral domain.

This class is automatically determined to be a superclass of a BPASPolynomial based on a template specialization of the Ring parameter.


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