Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
|
An abstract class defining the interface of a multivariate polynomial that can be viewed recursively. More...
#include <BPASRecursivePolynomial.hpp>
Public Member Functions | |
virtual Derived | initial () const =0 |
Get the initial, or leading coefficient, with respect to the main variable of this polynomial. More... | |
virtual Symbol | mainVariable () const =0 |
Get the main variable of this polynomial, that is, the one which is most significant under its variable ordering. More... | |
virtual int | mainDegree () const =0 |
Get the main degree of this polynomial, that is, the partial degree of the main variable. More... | |
virtual Derived | rank () const =0 |
Get the rank of this polynomial, that is, the main variable of this polynomial raised to the main degree. More... | |
virtual Derived | tail () const =0 |
Get the tail of this polynomial, that is, this polynomial after removing its leading term. More... | |
virtual Derived | head () const =0 |
Get the head of this polynomial, that is, the leading term of this polynomial. More... | |
virtual Derived | separant () const =0 |
Get the separant of this polynomial, that is, its derivative with respect to the main variable. More... | |
Public Member Functions inherited from BPASMultivariatePolynomial< Ring, Derived > | |
virtual void | differentiate (const Symbol &var)=0 |
Differentiate this polynomial, with respect to a particular variable, setting itself to its derivative. More... | |
virtual void | differentiate (const Symbol &var, int k)=0 |
Differentiate this polynomial k times, with respect to a particular variable, setting itself to its derivative. More... | |
virtual Derived | derivative (const Symbol &) const =0 |
Differentiate this polynomial, with respect to a particular variable, setting itself to its derivative. More... | |
virtual Derived | derivative (const Symbol &, int) const =0 |
Differentiate this polynomial k times, with respect to a particular variable, setting itself to its derivative. More... | |
virtual Derived | evaluate (int n, const Symbol *vars, const Ring *elems) const =0 |
Evaluate this polynomial by substituting the input ring elements elems for the variables vars, such that vars[i] = elems[i]. More... | |
virtual Derived | evaluate (const std::vector< Symbol > &vars, const std::vector< Ring > &elems) const =0 |
Evaluate this polynomial by substituting the input ring elements elems for the variables vars, such that vars[i] = elems[i]. More... | |
virtual int | numberOfVariables () const =0 |
Get the number of variables in this multivariate polynomial which have positive degree. More... | |
virtual int | numberOfRingVariables () const =0 |
Get the number of variables defined for the poylnomial ring of this polynomial, that is, in the ambient space of this polynomial. More... | |
virtual Integer | degree (const Symbol &v) const =0 |
Get the partial degree of this polynomial with respect to the variable v. More... | |
virtual Ring | coefficient (int n, const int *exps) const =0 |
Get the coefficient of this polynomial with respect to the monomial defined by exponent vector exps of size n. More... | |
virtual Ring | coefficient (const std::vector< int > &exps) const =0 |
Get the coefficient of this polynomial with respect to the monomial defined by exponent vector exps. More... | |
virtual void | setCoefficient (int n, const int *, const Ring &r)=0 |
Set the coefficient of this polynomial for the monomial defined by exponent vector exps, of size n, to r. More... | |
virtual void | setCoefficient (const std::vector< int > &v, const Ring &r)=0 |
Set the coefficient of this polynomial for the monomial defined by exponent vector exps to r. More... | |
virtual void | setRingVariables (const std::vector< Symbol > &xs)=0 |
Set the variables in the polynomial ring to xs. More... | |
virtual std::vector< Symbol > | ringVariables () const =0 |
Get all the variables in the polynomial ring. More... | |
virtual std::vector< Symbol > | variables () const =0 |
Get all the variables in this polynomial with positive degree. More... | |
An abstract class defining the interface of a multivariate polynomial that can be viewed recursively.
That is, it can be viewed as a univariate polynomial with multivariate polynomial coefficients.
|
pure virtual |
Get the head of this polynomial, that is, the leading term of this polynomial.
It is equivalent to the initial of this polynomial multiplied by its rank.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the initial, or leading coefficient, with respect to the main variable of this polynomial.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the main degree of this polynomial, that is, the partial degree of the main variable.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the main variable of this polynomial, that is, the one which is most significant under its variable ordering.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the rank of this polynomial, that is, the main variable of this polynomial raised to the main degree.
This this returns a monomial.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the separant of this polynomial, that is, its derivative with respect to the main variable.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.
|
pure virtual |
Get the tail of this polynomial, that is, this polynomial after removing its leading term.
It is equivalent to the reductum of this polynomial, viewing it as a univariate polynomial in its main variable.
Implemented in SparseMultivariateRationalPolynomial, and SparseMultivariateIntegerPolynomial.