|
| | RegularChain () |
| | Default constructor: creates an empty regular chain of variable size with empty list of transcendentals. More...
|
| |
| | RegularChain (const std::vector< Symbol > &xs) |
| | Construct an empty fixed variable list regular chain in the decreasingly ordered variables given by xs with empty list of transcendentals. More...
|
| |
| | RegularChain (const std::vector< Symbol > &xs, const std::vector< Symbol > &ts) |
| | Construct an empty fixed variable list regular chain in the decreasingly ordered variables given by xs and list of transcendentals given by ts. More...
|
| |
| | RegularChain (const RecursivePoly &p) |
| | Construct a variable regular chain containing p, such that the variables of p are treated as algebraic, with empty list of transcendentals. More...
|
| |
| | RegularChain (const RecursivePoly &p, const std::vector< Symbol > &ts) |
| | Construct a variable regular chain containing p, such that the variables in ts are treated as transcendental, while any remaining variables of p are treated as algebraic. More...
|
| |
| | RegularChain (const ZeroDimensionalRegularChain< Field, RecursivePoly > &a) |
| | Copy constructor taking a zero-dimensional regular chain as input. More...
|
| |
| | RegularChain (const RegularChain< Field, RecursivePoly > &a) |
| | Copy constructor. More...
|
| |
| | RegularChain (const TriangularSet< Field, RecursivePoly > &a) |
| | Copy constructor taking a triangular set as input, assuming that the triangular set is a regular chain. More...
|
| |
| | RegularChain (ZeroDimensionalRegularChain< Field, RecursivePoly > &&a) |
| | Move constructor taking an r-value zero-dimensional regular chain as input. More...
|
| |
| | RegularChain (RegularChain< Field, RecursivePoly > &&a) |
| | Move constructor. More...
|
| |
| | RegularChain (TriangularSet< Field, RecursivePoly > &&a) |
| | Move constructor taking an r-value triangular set as input, assuming that the triangular set is a regular chain. More...
|
| |
| | RegularChain (const std::vector< Symbol > &vs, const std::vector< Symbol > &avs, const std::vector< Symbol > &tvs, const std::vector< RecursivePoly > &ts, TriangularSetMode tsm, const mpz_class &c) |
| | Computational constructor: creates a regular chain given all the data. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator= (const ZeroDimensionalRegularChain< Field, RecursivePoly > &a) |
| | Assignment operator = for a zero-dimensional regular chain. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator= (const RegularChain< Field, RecursivePoly > &a) |
| | Assignment operator =. More...
|
| |
| BPASTriangularSet< Field, RecursivePoly > & | operator= (const BPASTriangularSet< Field, RecursivePoly > &a) override |
| | Assignment operator = imposed by abstract class BPASTriangularSet. More...
|
| |
| BPASRegularChain< Field, RecursivePoly > & | operator= (const BPASRegularChain< Field, RecursivePoly > &a) override |
| | Assignment operator = imposed by abstract class BPASRegularChain. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator= (ZeroDimensionalRegularChain< Field, RecursivePoly > &&a) |
| | Move assignment operator = taking an r-value zero-dimensional regular chain as input. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator= (RegularChain< Field, RecursivePoly > &&a) |
| | Move assignment operator =. More...
|
| |
| BPASTriangularSet< Field, RecursivePoly > & | operator= (BPASTriangularSet< Field, RecursivePoly > &&a) override |
| | Move assignment operator = imposed by abstract class BPASTriangularSet. More...
|
| |
| BPASRegularChain< Field, RecursivePoly > & | operator= (BPASRegularChain< Field, RecursivePoly > &&a) override |
| | Move assignment operator = imposed by abstract class BPASRegularChain. More...
|
| |
| RegularChain< Field, RecursivePoly > | operator+ (const RecursivePoly &p) const |
| | Add operator +: Adds a polynomial to a regular chain and returns a new regular chain, assuming that the main variable of p is above any in the current object and that init(p) is regular modulo the saturated ideal of the current object. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator+= (const RecursivePoly &p) |
| | Add assignment operator +=: Adds a polynomial to a regular chain, assuming that the main variable of p is above any in the current object and that init(p) is regular modulo the saturated ideal of the current object. More...
|
| |
| RegularChain< Field, RecursivePoly > | operator+ (const RegularChain< Field, RecursivePoly > &T) const |
| | Add operator +: Adds a regular chain to a regular chain and returns a new regular chain, assuming that the input is above the current object and the result of adding the chains is a regular chain. More...
|
| |
| RegularChain< Field, RecursivePoly > & | operator+= (const RegularChain< Field, RecursivePoly > &T) |
| | Add assignment operator +=: Adds a regular chain to a regular chain, assuming that the input is above the current object and the result adding the chains is a regular chain. More...
|
| |
| bool | operator== (RegularChain< Field, RecursivePoly > &a) |
| | Identity operator ==. More...
|
| |
| bool | operator!= (RegularChain< Field, RecursivePoly > &a) |
| | Negated identity operator !=. More...
|
| |
| int | numberOfVariables () const |
| | Get the number of (potentially algebraic) variables in the current object. More...
|
| |
| int | options () const |
| | Get the encoded options of the regular chain, a bitwise or of RegularChainOption values. More...
|
| |
| void | setOptions (int opts) |
| | Set the encoded options of the regular chain. More...
|
| |
| bool | isKnownToBeSquareFree () const |
| | Find out if the regular chain is known to be squarefree. More...
|
| |
| bool | isInSaturatedIdeal (const RecursivePoly &p) const |
| | Find out if the input polynomial is in the saturated ideal of the current regular chain. More...
|
| |
| bool | isInSaturatedIdeal (const RecursivePoly &p, RecursivePoly &redp) const |
| | Find out if the input polynomial is in the saturated ideal of the current regular chain. More...
|
| |
| bool | isInRadicalSaturatedIdeal (const RecursivePoly &p) const |
| | Find out if the input polynomial is in the radical saturated ideal of the current regular chain. More...
|
| |
| bool | isRegular (const RecursivePoly &p) const |
| | Find out if the input polynomial is regular modulo the saturated ideal of the current regular chain. More...
|
| |
| std::vector< Symbol > | variables () const |
| | Get the (potentially algebriac) variable names in decreasing order. More...
|
| |
| RecursivePoly | select (const Symbol &s) const |
| | Select the polynomial in the current object with main variable s, if it exists. More...
|
| |
| void | lower (const Symbol &s, BPASTriangularSet< Field, RecursivePoly > &ts) const |
| | Returns the regular chain consisting of polynomials with main variable strictly less than s. More...
|
| |
| void | upper (const Symbol &s, BPASTriangularSet< Field, RecursivePoly > &ts) const |
| | Returns the regular chain consisting of polynomials with main variable strictly greater than s. More...
|
| |
| void | lowerSlice (const Symbol &s) |
| | Destructively converts the current object into lower(s) by changing the set of (potentially algebraic) variables to be only those below s in the variable order. More...
|
| |
| std::vector< RegularChain< Field, RecursivePoly > > | triangularize (const std::vector< RecursivePoly > &F) |
| | Compute a triangular decomposition of the list of input polynomials. More...
|
| |
| std::vector< RegularChain< Field, RecursivePoly > > | intersect (const RecursivePoly &p) const |
| | Compute the common solutions of the input polynomial and the current regular chain. More...
|
| |
| std::vector< PolyChainPair< RecursivePoly, RegularChain< Field, RecursivePoly > > > | regularize (const RecursivePoly &p) const |
| | Compute a decomposition of the current object such that on each component the input polynomial is either zero or regular modulo the saturated ideal of that component. More...
|
| |
| std::vector< PolyChainPair< RecursivePoly, RegularChain< Field, RecursivePoly > > > | regularGCD (const RecursivePoly &p, const RecursivePoly &q, const Symbol &v, const SubResultantChain< RecursivePoly, RecursivePoly > &src) const |
| | Compute the gcd of two input polynomials p and q modulo the saturated ideal of the current object. More...
|
| |
| std::vector< RegularChain< Field, RecursivePoly > > | squareFreePart (const RecursivePoly &p, const Symbol &v, int options=ASSUME_REGULAR) const |
| | A routine that decomposes the regular chain formed from the current object and an input polynomial into a set of squarefree regular chains. More...
|
| |
| void | randomRegularChain (int nVars, int nAlgVars, int nTrcVars, int nTerms, unsigned long int coefBound, int pSparsity, bool includeNeg) |
| | Generate a random regular chain based on the number of terms of the polynomials in the chain. More...
|
| |
| void | randomRegularChain (int nVars, int nAlgVars, int nTrcVars, std::vector< int > maxDegs, unsigned long int coefBound, double pSparsity, bool includeNeg) |
| | Generate a random regular chain based on a list of maximum degrees of variables in the polynomials in the chain. More...
|
| |
| | TriangularSet () |
| | Default constructor: creates an empty triangular set of variable size with empty list of transcendentals. More...
|
| |
| | TriangularSet (const std::vector< Symbol > &xs) |
| | Construct an empty triangular set of fixed size in the s decreasingly ordered variables given by xs with empty list of transcendentals. More...
|
| |
| | TriangularSet (const std::vector< Symbol > &xs, const std::vector< Symbol > &ts) |
| | Construct an empty triangular set of fixed size in the s decreasingly ordered variables given by xs and list of transcendentals given by ts. More...
|
| |
| | TriangularSet (const RecursivePoly &p) |
| | Construct a variable triangular set containing p, such that the variables of p are treated as (potentially algebraic) variables, with empty list of transcendentals. More...
|
| |
| | TriangularSet (const RecursivePoly &p, const std::vector< Symbol > &ts) |
| | Construct a variable triangular set containing p, such that the variables in ts are treated as transcendental, while any remaining variables of p are treated as (potentially algebraic) variables. More...
|
| |
| | TriangularSet (const TriangularSet< Field, RecursivePoly > &a) |
| | Copy constructor. More...
|
| |
| | TriangularSet (TriangularSet< Field, RecursivePoly > &&a) |
| | Copy constructor. More...
|
| |
| | TriangularSet (const std::vector< Symbol > &vs, const std::vector< Symbol > &avs, const std::vector< Symbol > &tvs, const std::vector< RecursivePoly > &ts, TriangularSetMode tsm, const mpz_class &c) |
| | Move constructor. More...
|
| |
| | ~TriangularSet () |
| | Deconstructor. More...
|
| |
| bool | isEmpty () const |
| | Copy an object derived from abstract BPASTriangularSet class to type of current object. More...
|
| |
| bool | isConstantPolynomial (const RecursivePoly &p) const |
| | Tests if the polynomial is constant relative to the TriangularSet, i.e., whether it is and element of the Field or its only variables are transcendental. More...
|
| |
| TriangularSet< Field, RecursivePoly > & | operator= (const TriangularSet< Field, RecursivePoly > &a) |
| | Assignment operator =. More...
|
| |
| BPASTriangularSet< Field, RecursivePoly > & | operator= (const BPASTriangularSet< Field, RecursivePoly > &a) override |
| | Assignment operator =. More...
|
| |
| TriangularSet< Field, RecursivePoly > & | operator= (TriangularSet< Field, RecursivePoly > &&a) |
| | Move assignment operator =. More...
|
| |
| BPASTriangularSet< Field, RecursivePoly > & | operator= (BPASTriangularSet< Field, RecursivePoly > &&a) override |
| | Move assignment operator =. More...
|
| |
| TriangularSet< Field, RecursivePoly > | operator+ (const RecursivePoly &p) |
| | Add operator +. More...
|
| |
| TriangularSet< Field, RecursivePoly > & | operator+= (const RecursivePoly &p) |
| | Add assignment operator +=. More...
|
| |
| bool | operator== (TriangularSet< Field, RecursivePoly > &a) |
| | Identity operator ==. More...
|
| |
| bool | operator!= (TriangularSet< Field, RecursivePoly > &a) |
| | Negated identity operator !=. More...
|
| |
| int | numberOfVariables () const |
| | Get the number of variables. More...
|
| |
| int | size () const |
| | Get the size of the triangular set. More...
|
| |
| int | numberOfAlgebraicVariables () const |
| | Get the number of algebraic variables. More...
|
| |
| int | numberOfTranscendentalVariables () const |
| | Get the number of transcendental variables. More...
|
| |
| std::vector< Symbol > | variables () const |
| | Get the variable names in decreasing order. More...
|
| |
| std::vector< Symbol > | mainVariables () const |
| | Get the algebraic variables. More...
|
| |
| std::vector< Symbol > | transcendentalVariables () const |
| | Get the transcendentalVariables variables. More...
|
| |
| std::vector< Symbol > | allVariables () const |
| | Get the list of variables followed by the transcendental variables. More...
|
| |
| bool | isAlgebraic (const Symbol &s) const |
| | Determine if the input variable s is algebraic, i.e., if the triangular set contains a polynomial with s its as leading variable. More...
|
| |
| bool | isStronglyNormalized () const |
| | Return true if the triangular set is strongly normalized, i.e., the initals of all polynomials are in the Field; return false otherwise. More...
|
| |
| std::vector< RecursivePoly > | polynomials () const |
| | Get the vector of polynoials in the triangular set. More...
|
| |
| int | dimension () const |
| | Return the dimension of the triangular set (understood in terms of the space of (potentially algebraic) variables). More...
|
| |
| int | dimensionLower (Symbol v) const |
| | Return the dimension of the triangular set lower(v) (understood in terms of the space of (potentially algebraic) variables). More...
|
| |
| int | codimension () const |
| | Return the codimension of the triangular set (understood in terms of the space of (potentially algebraic) variables). More...
|
| |
| bool | canComputeInDimensionZero (const RecursivePoly &p, bool excludeMainVariable=false) const |
| | Test to determine whether the triangular set can be treated as zero dimensional, i.e., whether the triangular set becomes zero dimensional when all non-algebraic variables are removed and whether the polynomial p contains only algebraic variables. More...
|
| |
| bool | isZeroDimensionalMathematically () const |
| | Test to determine if only algebraic variables (aside from transcendentals) appear in the polynomials of the triangular set. More...
|
| |
| RecursivePoly | select (const Symbol &s) const |
| | Select a polynomial given the leading variable; if no such polynomial, 0 is returned. More...
|
| |
| void | makePrimitive () |
| | Replace each polynomial of the triangular set with its primitive part. More...
|
| |
| void | lower (const Symbol &s, BPASTriangularSet< Field, RecursivePoly > &ts) const |
| | Returns the triangular set consisting of polynomials with main variable strictly less than s. More...
|
| |
| void | upper (const Symbol &s, BPASTriangularSet< Field, RecursivePoly > &ts) const |
| | Returns the triangular set consisting of polynomials with main variable strictly greater than s. More...
|
| |
| RecursivePoly | pseudoDivide (const RecursivePoly &p, std::vector< RecursivePoly > *quo=NULL, RecursivePoly *c=NULL) const |
| | Pseudo division: return the pseudo-remainder, the pseudo-quotients and c such that c*p = ∑(q_i T_i) + r. More...
|
| |
| RecursivePoly | normalForm (const RecursivePoly &p, std::vector< RecursivePoly > *Q=NULL) const |
| | Return the normalForm of the input polynomial modulo the triangular set in the sense of Groebner basis. More...
|
| |
| RecursivePoly | reduce (const RecursivePoly &p) const |
| | Reduce the input polynomial modulo the triangular set. More...
|
| |
| RecursivePoly | reduce (const RecursivePoly &p, RecursivePoly &c, bool usePrimitiveFactorization=true, bool onlyInDimZero=false) const |
| | returns r such that c*r = p modulo sat(T) such that c has no algebraic variables, and c is returned as an input parameter. More...
|
| |
| RecursivePoly | randomTriangularSetPolynomial (std::vector< Symbol > variables, int algVar, std::vector< Symbol > transcendentalVariables, int nTerms, unsigned long int coefBound, int pSparsity, bool includeNeg) |
| | Generate a random triangular set polynomial based on its number of terms. More...
|
| |
| RecursivePoly | randomTriangularSetPolynomial (std::vector< Symbol > variables, int algVar, std::vector< Symbol > transcendentalVariables, std::vector< int > maxDegs, unsigned long int coefBound, double pSparsity, bool includeNeg) |
| | Generate a random triangular set polynomial based on its maximum degrees in its variables. More...
|
| |
| void | randomTriangularSet (int nVars, int nAlgVars, int nTrcVars, int nTerms, unsigned long int coefBound, int pSparsity, bool includeNeg) |
| | Generate a random triangular set based on the number of terms of its polynomials. More...
|
| |
| void | randomStronglyNormalizedTriangularSet (int nVars, int nAlgVars, int nTrcVars, int nTerms, unsigned long int coefBound, int pSparsity, bool includeNeg) |
| | Generate a random strongly normalized triangular set based on the number of terms in its polynomials. More...
|
| |
| void | display () |
| | Display the triangular set. More...
|
| |
| ExpressionTree | convertToExpressionTree () const |
| | Convert a triangular set to an expression tree (array of its polynomials). More...
|
| |