2 #ifndef _BPAS_RECURSIVE_POLY_H_     3 #define _BPAS_RECURSIVE_POLY_H_     5 #include "BPASMultivarPolynomial.hpp"    11 template <
class Ring, 
class Derived>
    22         virtual Derived 
initial() 
const = 0;
    47         virtual Derived 
rank() 
const = 0;
    57         virtual Derived 
tail() 
const = 0;
    67         virtual Derived 
head() 
const = 0;
    75         virtual Derived 
separant() 
const = 0;
 virtual Derived head() const =0
Get the head of this polynomial, that is, the leading term of this polynomial. 
virtual Derived separant() const =0
Get the separant of this polynomial, that is, its derivative with respect to the main variable...
virtual Derived tail() const =0
Get the tail of this polynomial, that is, this polynomial after removing its leading term...
An abstract class defining the interface of a multivariate polynomial over an arbitrary BPASRing...
Definition: BPASMultivarPolynomial.hpp:17
virtual Derived initial() const =0
Get the initial, or leading coefficient, with respect to the main variable of this polynomial...
virtual Derived rank() const =0
Get the rank of this polynomial, that is, the main variable of this polynomial raised to the main deg...
An encapsulation of a mathematical symbol. 
Definition: Symbol.hpp:23
virtual int mainDegree() const =0
Get the main degree of this polynomial, that is, the partial degree of the main variable. 
virtual Symbol mainVariable() const =0
Get the main variable of this polynomial, that is, the one which is most significant under its variab...
An abstract class defining the interface of a multivariate polynomial that can be viewed recursively...
Definition: BPASRecursivePolynomial.hpp:12