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.