A univariate rational function templated by a unvariate polynomial over a field.
More...
|
| | UnivariateRationalFunction () |
| | Construct the zero univariate rational function. More...
|
| |
| | UnivariateRationalFunction (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Copy constructor. More...
|
| |
| | UnivariateRationalFunction (UnivariatePolynomialOverField a, UnivariatePolynomialOverField b) |
| |
| | ~UnivariateRationalFunction () |
| | Destroy the rational function. More...
|
| |
|
void | setVariableName (Symbol name) |
| |
|
Symbol | variable () |
| |
|
bool | isProfiling () |
| |
|
void | setProfiling (bool a) |
| |
|
bool | isAnalyzingError () |
| |
|
void | setAnalyzingError (bool a) |
| |
|
bool | isPFDLogPart () |
| |
|
void | setPFDLogPart (bool a) |
| |
|
bool | isFloatingPointPrinting () |
| |
|
void | setFloatingPointPrinting (bool a) |
| |
|
bool | isMapleOutput () |
| |
|
void | setMapleOutput () |
| |
|
bool | isMatlabOutput () |
| |
|
void | setMatlabOutput () |
| |
|
void | setNumerator (const UnivariatePolynomialOverField &b) |
| |
|
void | setDenominator (const UnivariatePolynomialOverField &b) |
| |
|
void | set (const UnivariatePolynomialOverField &a, const UnivariatePolynomialOverField &b) |
| |
| UnivariatePolynomialOverField | numerator () const |
| | Get the fraction's numerator. More...
|
| |
| UnivariatePolynomialOverField | denominator () const |
| | Get the fraction's denominator. More...
|
| |
|
Field | evaluate (const Field &c) |
| |
| bool | operator!= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Inequality test,. More...
|
| |
| bool | operator== (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Equality test,. More...
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator+ (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Addition.
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator+= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Addition assignment.
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator- (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Subtraction.
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator-= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Subtraction assignment.
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator- () const |
| | Negation.
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator^ (long long int e) const |
| | Overload operator ^ replace xor operation by exponentiation. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator^= (long long int e) |
| | Overload operator ^= replace xor operation by exponentiation. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | inverse () const |
| | Get the inverse of *this. More...
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator* (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Multiplication.
|
| |
|
UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator*= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Multiplication assignment.
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator/ (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Exact division. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator/= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Exact division assignment. More...
|
| |
|
void | canonicalize () |
| | Canonicalize this fraction, reducing terms as needed.
|
| |
| bool | isZero () const |
| | Determine if *this ring element is zero, that is the additive identity. More...
|
| |
|
void | zero () |
| | Make *this ring element zero.
|
| |
| bool | isOne () const |
| | Determine if *this ring element is one, that is the multiplication identity. More...
|
| |
|
void | one () |
| | Make *this ring element one.
|
| |
|
bool | isNegativeOne () const |
| |
|
void | negativeOne () |
| |
|
int | isConstant () const |
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | unitCanonical (UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *u=NULL, UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *v=NULL) const |
| | Obtain the unit normal (a.k.a canonical associate) of an element. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Overload operator =. More...
|
| |
| ExpressionTree | convertToExpressionTree () const |
| | Convert this to an expression tree. More...
|
| |
| void | print (std::ostream &ostream) const |
| | Overload stream operator <<. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | gcd (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | BPASGCDDomain, BPASEuclideanDomain, BPASField virtual methods. More...
|
| |
|
Factors< UnivariateRationalFunction > | squareFree () const |
| | Compute squarefree factorization of *this.
|
| |
|
Integer | euclideanSize () const |
| | Get the euclidean size of *this.
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | euclideanDivision (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b, UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *q=NULL) const |
| | Perform the eucldiean division of *this and b. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | quotient (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Get the quotient of *this and b. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | remainder (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Get the remainder of *this and b. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | extendedEuclidean (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b, UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *s=NULL, UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *t=NULL) const |
| | Perform the extended euclidean division on *this and b. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > | operator% (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) const |
| | Get the remainder of *this and b;. More...
|
| |
| UnivariateRationalFunction< UnivariatePolynomialOverField, Field > & | operator%= (const UnivariateRationalFunction< UnivariatePolynomialOverField, Field > &b) |
| | Assign *this to be the remainder of *this and b. More...
|
| |
|
void | hermiteReduce (std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, UnivariateRationalFunction< UnivariatePolynomialOverField, Field > *h) |
| |
|
void | integrateRationalFunctionLogPart (std::vector< SparseUnivariatePolynomial< UnivariatePolynomialOverField > > *S, std::vector< UnivariatePolynomialOverField > *U) |
| |
|
void | differentiate () |
| |
|
void | integrate (UnivariatePolynomialOverField *P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, std::vector< UnivariatePolynomialOverField > *U, std::vector< SparseUnivariatePolynomial< UnivariatePolynomialOverField > > *S) |
| |
|
void | realSymbolicNumericIntegrate (UnivariatePolynomialOverField *P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, std::vector< Field > *lg, std::vector< UnivariatePolynomialOverField > *Lg, std::vector< Field > *atn, std::vector< UnivariatePolynomialOverField > *Atn, int prec) |
| |
|
void | realSymbolicNumericIntegrate (UnivariatePolynomialOverField *P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, std::vector< Field > *lg, std::vector< UnivariatePolynomialOverField > *Lg, std::vector< Field > *atn, std::vector< UnivariatePolynomialOverField > *Atn1, std::vector< UnivariatePolynomialOverField > *Atn2, int prec) |
| |
|
void | realSymbolicNumericIntegratePFD (UnivariatePolynomialOverField *P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, std::vector< Field > *lg, std::vector< UnivariatePolynomialOverField > *Lg, std::vector< Field > *atn, std::vector< UnivariatePolynomialOverField > *Atn, int prec) |
| |
|
void | realSymbolicNumericIntegrateSimplePFD (UnivariatePolynomialOverField *P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > *g, std::vector< Field > *lg, std::vector< UnivariatePolynomialOverField > *Lg, std::vector< Field > *atn, std::vector< UnivariatePolynomialOverField > *Atn, int prec) |
| |
|
void | printIntegral (UnivariatePolynomialOverField &P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > &g, std::vector< UnivariatePolynomialOverField > &U, std::vector< SparseUnivariatePolynomial< UnivariatePolynomialOverField > > &S) |
| |
|
void | printIntegral (UnivariatePolynomialOverField &P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > &g, std::vector< Field > &lg, std::vector< UnivariatePolynomialOverField > &Lg, std::vector< Field > &atn, std::vector< UnivariatePolynomialOverField > &Atn) |
| |
|
void | printIntegral (UnivariatePolynomialOverField &P, std::vector< UnivariateRationalFunction< UnivariatePolynomialOverField, Field > > &g, std::vector< Field > &lg, std::vector< UnivariatePolynomialOverField > &Lg, std::vector< Field > &atn, std::vector< UnivariatePolynomialOverField > &Atn1, std::vector< UnivariatePolynomialOverField > &Atn2) |
| |
|
void | realSymbolicNumericIntegrate (int prec) |
| |
|
void | integrate () |
| |
template<class UnivariatePolynomialOverField, class Field>
class UnivariateRationalFunction< UnivariatePolynomialOverField, Field >
A univariate rational function templated by a unvariate polynomial over a field.
The univariate polynomial and the coefficient BPASField must be passed separately and explicitly.