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