Basic Polynomial Algebra Subprograms (BPAS)  v. 1.791
Public Member Functions | Public Attributes | Friends | List of all members
SparseUnivariateTempPoly< Ring, Derived > Class Template Reference

A univariate polynomial over an arbitrary BPASRing represented sparsely. More...

#include <upolynomial.h>

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

Public Member Functions

 SparseUnivariateTempPoly ()
 Construct a polynomial. More...
 
 SparseUnivariateTempPoly (const SparseUnivariateTempPoly< Ring, Derived > &b)
 Copy constructor. More...
 
 SparseUnivariateTempPoly (int a)
 
 SparseUnivariateTempPoly (const Integer &c)
 
 SparseUnivariateTempPoly (const RationalNumber &c)
 
 SparseUnivariateTempPoly (const ComplexRationalNumber &c)
 
 SparseUnivariateTempPoly (const DenseUnivariateIntegerPolynomial &b)
 
 SparseUnivariateTempPoly (const DenseUnivariateRationalPolynomial &b)
 
 SparseUnivariateTempPoly (Symbol sym)
 
 ~SparseUnivariateTempPoly ()
 Destroy the polynomial. More...
 
Integer numberOfTerms () const
 Get the number of terms. More...
 
Integer degree () const
 Get the degree of the polynomial. More...
 
Ring leadingCoefficient () const
 Get the leading coefficient. More...
 
Ring trailingCoefficient () const
 
Ring coefficient (int k) const
 Get a coefficient. More...
 
void setCoefficient (int e, const Ring &c)
 Set a coeffcient with its exponent. More...
 
Symbol variable () const
 Get the variable name. More...
 
void setVariableName (const Symbol &c)
 Set the variable name. More...
 
Derived unitCanonical (Derived *u=NULL, Derived *v=NULL) const
 
Derived & operator= (const Derived &b)
 Overload operator =. More...
 
Derived & operator= (const Ring &r)
 Overload operator =. More...
 
bool operator!= (const Derived &b) const
 Overload operator !=. More...
 
bool operator== (const Derived &b) const
 Overload operator ==. More...
 
bool operator== (const DenseUnivariateRationalPolynomial &b) const
 
bool operator== (const DenseUnivariateIntegerPolynomial &b) const
 
bool isZero () const
 Is zero polynomial. More...
 
void zero ()
 Zero polynomial. More...
 
bool isOne () const
 Is polynomial a constant 1. More...
 
void one ()
 Set polynomial to 1. More...
 
bool isNegativeOne () const
 Is polynomial a constant -1. More...
 
void negativeOne ()
 Set polynomial to -1. More...
 
int isConstant () const
 Is a constant. More...
 
Ring convertToConstant ()
 Convert to a constant. More...
 
Ring content () const override
 Content of the polynomial. More...
 
Derived primitivePart () const
 
Derived operator^ (long long int e) const
 Overload operator ^ replace xor operation by exponentiation. More...
 
Derived & operator^= (long long int e)
 Overload operator ^= replace xor operation by exponentiation. More...
 
Derived operator<< (int k) const
 Overload operator << replace by muplitying x^k. More...
 
Derived & operator<<= (int k)
 Overload operator <<= replace by muplitying x^k. More...
 
Derived operator>> (int k) const
 Overload operator >> replace by dividing x^k, and return the quotient. More...
 
Derived & operator>>= (int k)
 Overload operator >>= replace by dividing x^k, and return the quotient. More...
 
Derived operator+ (const Derived &b) const
 Overload operator +. More...
 
Derived & operator+= (const Derived &b)
 Overload operator+=. More...
 
Derived operator+ (const Ring &e) const
 Overload operator +. More...
 
Derived & operator+= (const Ring &e)
 Overload operator +=. More...
 
Derived operator- () const
 Overload operator -, negate. More...
 
Derived operator- (const Derived &b) const
 Subtract another polynomial. More...
 
Derived & operator-= (const Derived &b)
 Overload operator -=. More...
 
Derived operator- (const Ring &e) const
 Overload operator -. More...
 
Derived & operator-= (const Ring &e)
 Overload operator -=. More...
 
Derived operator* (const Derived &b) const
 Multiply another polynomial. More...
 
Derived & operator*= (const Derived &b)
 Overload operator *=. More...
 
Derived operator* (const Ring &c) const
 Overload operator *. More...
 
Derived operator* (const sfixn &e) const
 
Derived & operator*= (const Ring &c)
 Overload operator *=. More...
 
Derived & operator*= (const sfixn &e)
 
Derived operator/ (const Derived &b) const
 Overload operator / EdeDivision. More...
 
Derived & operator/= (const Derived &b)
 Overload operator /= ExactDivision. More...
 
Derived operator/ (const Ring &e) const
 Overload operator /. More...
 
Derived & operator/= (const Ring &e)
 Overload operator /=. More...
 
void negate ()
 Negate the polynomial. More...
 
Derived monicDivide (const Derived &b)
 Monic division Assuming the leading coefficient of dividend is 1 Return quotient and itself becomes remainder. More...
 
Derived monicDivide (const Derived &b, Derived *rem) const
 Monic division Assuming the leading coefficient of dividend is 1 Return quotient. More...
 
Derived lazyPseudoDivide (const Derived &b, Ring *c, Ring *d=NULL)
 Lazy pseudo dividsion Return the quotient and itself becomes remainder e is the exact number of division steps. More...
 
Derived lazyPseudoDivide (const Derived &b, Derived *rem, Ring *c, Ring *d) const
 Lazy pseudo dividsion Return the quotient e is the exact number of division steps. More...
 
Derived pseudoDivide (const Derived &b, Ring *d=NULL)
 Pseudo dividsion Return the quotient and itself becomes remainder. More...
 
Derived pseudoDivide (const Derived &b, Derived *rem, Ring *d) const
 Pseudo dividsion Return the quotient. More...
 
void differentiate (int k)
 Compute k-th derivative. More...
 
void differentiate ()
 Convert current object to its derivative. More...
 
Derived derivative (int k) const
 Return k-th derivative. More...
 
Derived derivative () const
 Compute derivative. More...
 
void integrate ()
 Compute integral with constant of integration set to 0. More...
 
Derived integral () const
 Compute integral with constant of integration 0. More...
 
bool isConstantTermZero () const
 Is trailing coefficient zero. More...
 
Ring evaluate (const Ring &x) const
 Evaluate f(x) More...
 
template<class LargerRing >
LargerRing evaluate (const LargerRing &x) const
 Evaluate f(x) More...
 
void fillChain (std::vector< Derived > &chain) const
 
std::vector< Derived > subresultantChain (const Derived &q, int filled=0) const
 Subresultant Chain Return the list of subresultants. More...
 
std::vector< Derived > monomialBasisSubresultantChain (const Derived &q)
 monomialBasisSubResultantChain More...
 
Derived resultant (const Derived &q)
 Resultant. More...
 
Derived gcd (const Derived &q) const
 GCD(p, q) More...
 
Factors< Derived > squareFree () const
 Square free. More...
 
void print (std::ostream &out) const
 Overload stream operator <<. More...
 
ExpressionTree convertToExpressionTree () const
 
DenseUnivariateRationalPolynomial convertToDUQP ()
 
DenseUnivariateIntegerPolynomial convertToDUZP ()
 

Public Attributes

mpz_class characteristic
 

Friends

Derived operator+ (const Ring &c, const Derived &p)
 
Derived operator- (const Ring &c, const Derived &p)
 
Derived operator* (const Ring &e, const Derived &p)
 
Derived operator* (const sfixn &e, const Derived &p)
 
Derived operator/ (const Ring &e, const Derived &p)
 

Detailed Description

template<class Ring, class Derived>
class SparseUnivariateTempPoly< Ring, Derived >

A univariate polynomial over an arbitrary BPASRing represented sparsely.

This is the base for all possible template instantiations. Users should use SparseUnivariatePolynomial directly and not thing class.

See also
SparseUnivariatePolynomial SparseUnivariateTempFieldPoly

Constructor & Destructor Documentation

◆ SparseUnivariateTempPoly() [1/2]

template<class Ring, class Derived>
SparseUnivariateTempPoly< Ring, Derived >::SparseUnivariateTempPoly ( )
inline

Construct a polynomial.

Parameters

◆ SparseUnivariateTempPoly() [2/2]

template<class Ring, class Derived>
SparseUnivariateTempPoly< Ring, Derived >::SparseUnivariateTempPoly ( const SparseUnivariateTempPoly< Ring, Derived > &  b)
inline

Copy constructor.

Parameters
bA sparse univariate polynomial

◆ ~SparseUnivariateTempPoly()

template<class Ring, class Derived>
SparseUnivariateTempPoly< Ring, Derived >::~SparseUnivariateTempPoly ( )
inline

Destroy the polynomial.

Parameters

Member Function Documentation

◆ coefficient()

template<class Ring, class Derived>
Ring SparseUnivariateTempPoly< Ring, Derived >::coefficient ( int  k) const
inlinevirtual

Get a coefficient.

Parameters
kThe exponent

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ content()

template<class Ring, class Derived>
Ring SparseUnivariateTempPoly< Ring, Derived >::content ( ) const
inlineoverride

Content of the polynomial.

Parameters

◆ convertToConstant()

template<class Ring, class Derived>
Ring SparseUnivariateTempPoly< Ring, Derived >::convertToConstant ( )
inline

Convert to a constant.

Parameters

◆ degree()

template<class Ring, class Derived>
Integer SparseUnivariateTempPoly< Ring, Derived >::degree ( ) const
inline

Get the degree of the polynomial.

Parameters

◆ derivative() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::derivative ( int  k) const
inlinevirtual

Return k-th derivative.

Parameters
kk-th derivative, k > 0

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ derivative() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::derivative ( ) const
inlinevirtual

Compute derivative.

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ differentiate() [1/2]

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::differentiate ( int  k)
inlinevirtual

Compute k-th derivative.

Parameters
kk-th derivative

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ differentiate() [2/2]

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::differentiate ( )
inlinevirtual

Convert current object to its derivative.

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ evaluate() [1/2]

template<class Ring, class Derived>
Ring SparseUnivariateTempPoly< Ring, Derived >::evaluate ( const Ring &  x) const
inlinevirtual

Evaluate f(x)

Parameters
xEvaluation point

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ evaluate() [2/2]

template<class Ring, class Derived>
template<class LargerRing >
LargerRing SparseUnivariateTempPoly< Ring, Derived >::evaluate ( const LargerRing &  x) const
inline

Evaluate f(x)

Parameters
xEvaluation point in larger ring, i.e. a ring in which the Ring of SUP<Ring> can be embedded

◆ gcd()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::gcd ( const Derived &  q) const
inline

GCD(p, q)

Parameters
qThe other polynomial

◆ integral()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::integral ( ) const
inline

Compute integral with constant of integration 0.

◆ integrate()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::integrate ( )
inline

Compute integral with constant of integration set to 0.

Parameters

◆ isConstant()

template<class Ring, class Derived>
int SparseUnivariateTempPoly< Ring, Derived >::isConstant ( ) const
inline

Is a constant.

Parameters

◆ isConstantTermZero()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::isConstantTermZero ( ) const
inline

Is trailing coefficient zero.

Parameters

◆ isNegativeOne()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::isNegativeOne ( ) const
inline

Is polynomial a constant -1.

Parameters

◆ isOne()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::isOne ( ) const
inline

Is polynomial a constant 1.

Parameters

◆ isZero()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::isZero ( ) const
inline

Is zero polynomial.

Parameters

◆ lazyPseudoDivide() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::lazyPseudoDivide ( const Derived &  b,
Ring *  c,
Ring *  d = NULL 
)
inlinevirtual

Lazy pseudo dividsion Return the quotient and itself becomes remainder e is the exact number of division steps.

Parameters
bThe dividend polynomial
cThe leading coefficient of b to the power e
dThat to the power deg(a) - deg(b) + 1 - e

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ lazyPseudoDivide() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::lazyPseudoDivide ( const Derived &  b,
Derived *  rem,
Ring *  c,
Ring *  d 
) const
inlinevirtual

Lazy pseudo dividsion Return the quotient e is the exact number of division steps.

Parameters
bThe divident polynomial
remThe remainder polynomial
cThe leading coefficient of b to the power e
dThat to the power deg(a) - deg(b) + 1 - e

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ leadingCoefficient()

template<class Ring, class Derived>
Ring SparseUnivariateTempPoly< Ring, Derived >::leadingCoefficient ( ) const
inline

Get the leading coefficient.

Parameters

◆ monicDivide() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::monicDivide ( const Derived &  b)
inlinevirtual

Monic division Assuming the leading coefficient of dividend is 1 Return quotient and itself becomes remainder.

Parameters
bThe dividend polynomial

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ monicDivide() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::monicDivide ( const Derived &  b,
Derived *  rem 
) const
inlinevirtual

Monic division Assuming the leading coefficient of dividend is 1 Return quotient.

Parameters
bThe dividend polynomial
remThe remainder polynomial

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ monomialBasisSubresultantChain()

template<class Ring, class Derived>
std::vector<Derived > SparseUnivariateTempPoly< Ring, Derived >::monomialBasisSubresultantChain ( const Derived &  q)
inline

monomialBasisSubResultantChain

Parameters
qThe other sparse univariate polynomial

◆ negate()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::negate ( )
inline

Negate the polynomial.

Parameters

◆ negativeOne()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::negativeOne ( )
inline

Set polynomial to -1.

Parameters

◆ numberOfTerms()

template<class Ring, class Derived>
Integer SparseUnivariateTempPoly< Ring, Derived >::numberOfTerms ( ) const
inline

Get the number of terms.

Parameters

◆ one()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::one ( )
inline

Set polynomial to 1.

Parameters

◆ operator!=()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::operator!= ( const Derived &  b) const
inline

Overload operator !=.

Parameters
bA sparse univariate polynomial

◆ operator*() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator* ( const Derived &  b) const
inline

Multiply another polynomial.

Parameters
bA univariate polynomial

◆ operator*() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator* ( const Ring &  c) const
inline

Overload operator *.

Parameters
cA coefficient

◆ operator*=() [1/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator*= ( const Derived &  b)
inline

Overload operator *=.

Parameters
bA univariate polynomial

◆ operator*=() [2/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator*= ( const Ring &  c)
inline

Overload operator *=.

Parameters
cA coefficient

◆ operator+() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator+ ( const Derived &  b) const
inline

Overload operator +.

Parameters
bA univariate polynomial

◆ operator+() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator+ ( const Ring &  e) const
inline

Overload operator +.

Parameters
eA coefficient constant

◆ operator+=() [1/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator+= ( const Derived &  b)
inline

Overload operator+=.

Parameters
bA univariate polynomial

◆ operator+=() [2/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator+= ( const Ring &  e)
inline

Overload operator +=.

Parameters
eA coefficient constant

◆ operator-() [1/3]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator- ( ) const
inline

Overload operator -, negate.

Parameters

◆ operator-() [2/3]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator- ( const Derived &  b) const
inline

Subtract another polynomial.

Parameters
bA univariate polynomial

◆ operator-() [3/3]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator- ( const Ring &  e) const
inline

Overload operator -.

Parameters
eA coefficient constant

◆ operator-=() [1/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator-= ( const Derived &  b)
inline

Overload operator -=.

Parameters
bA univariate polynomial

◆ operator-=() [2/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator-= ( const Ring &  e)
inline

Overload operator -=.

Parameters
eA coefficient constant

◆ operator/() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator/ ( const Derived &  b) const
inline

Overload operator / EdeDivision.

Parameters
bA univariate polynomial

◆ operator/() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator/ ( const Ring &  e) const
inline

Overload operator /.

Parameters
eA coefficient constant

◆ operator/=() [1/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator/= ( const Derived &  b)
inline

Overload operator /= ExactDivision.

Parameters
bA univariate polynomial

◆ operator/=() [2/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator/= ( const Ring &  e)
inline

Overload operator /=.

Parameters
eA coefficient constant

◆ operator<<()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator<< ( int  k) const
inlinevirtual

Overload operator << replace by muplitying x^k.

Parameters
kThe exponent of variable, k > 0

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ operator<<=()

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator<<= ( int  k)
inlinevirtual

Overload operator <<= replace by muplitying x^k.

Parameters
kThe exponent of variable, k > 0

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ operator=() [1/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator= ( const Derived &  b)
inline

Overload operator =.

Parameters
bA sparse univariate polynomial

◆ operator=() [2/2]

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator= ( const Ring &  r)
inline

Overload operator =.

Parameters
rA base ring element

◆ operator==()

template<class Ring, class Derived>
bool SparseUnivariateTempPoly< Ring, Derived >::operator== ( const Derived &  b) const
inline

Overload operator ==.

Parameters
bA sparse univariate polynomial

◆ operator>>()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator>> ( int  k) const
inlinevirtual

Overload operator >> replace by dividing x^k, and return the quotient.

Parameters
kThe exponent of variable, k > 0

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ operator>>=()

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator>>= ( int  k)
inlinevirtual

Overload operator >>= replace by dividing x^k, and return the quotient.

Parameters
kThe exponent of variable, k > 0

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ operator^()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::operator^ ( long long int  e) const
inline

Overload operator ^ replace xor operation by exponentiation.

Parameters
eThe exponentiation, e > 0

◆ operator^=()

template<class Ring, class Derived>
Derived& SparseUnivariateTempPoly< Ring, Derived >::operator^= ( long long int  e)
inline

Overload operator ^= replace xor operation by exponentiation.

Parameters
eThe exponentiation, e > 0

◆ print()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::print ( std::ostream &  out) const
inline

Overload stream operator <<.

Parameters
outStream object
bThe univariate polynomial

◆ pseudoDivide() [1/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::pseudoDivide ( const Derived &  b,
Ring *  d = NULL 
)
inlinevirtual

Pseudo dividsion Return the quotient and itself becomes remainder.

Parameters
bThe divident polynomial
dThe leading coefficient of b to the power deg(a) - deg(b) + 1

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ pseudoDivide() [2/2]

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::pseudoDivide ( const Derived &  b,
Derived *  rem,
Ring *  d 
) const
inlinevirtual

Pseudo dividsion Return the quotient.

Parameters
bThe divident polynomial
remThe remainder polynomial
dThe leading coefficient of b to the power deg(a) - deg(b) + 1

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ resultant()

template<class Ring, class Derived>
Derived SparseUnivariateTempPoly< Ring, Derived >::resultant ( const Derived &  q)
inline

Resultant.

Parameters
qThe other sparse univariate polynomial

◆ setCoefficient()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::setCoefficient ( int  e,
const Ring &  c 
)
inlinevirtual

Set a coeffcient with its exponent.

Parameters
eThe exponent
cThe coefficient

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ setVariableName()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::setVariableName ( const Symbol c)
inlinevirtual

Set the variable name.

Parameters
cVariable's name

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ squareFree()

template<class Ring, class Derived>
Factors<Derived> SparseUnivariateTempPoly< Ring, Derived >::squareFree ( ) const
inline

Square free.

Parameters

◆ subresultantChain()

template<class Ring, class Derived>
std::vector< Derived > SparseUnivariateTempPoly< Ring, Derived >::subresultantChain ( const Derived &  q,
int  filled = 0 
) const
inline

Subresultant Chain Return the list of subresultants.

Parameters
qThe other sparse univariate polynomial

◆ variable()

template<class Ring, class Derived>
Symbol SparseUnivariateTempPoly< Ring, Derived >::variable ( ) const
inlinevirtual

Get the variable name.

Parameters

Implements BPASUnivariatePolynomial< Ring, Derived >.

◆ zero()

template<class Ring, class Derived>
void SparseUnivariateTempPoly< Ring, Derived >::zero ( )
inline

Zero polynomial.

Parameters

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