[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Blackbox polynomials

This package provides a blackbox polynomial domain and is due to L. Lehmann. The verbose flag is BbpVerbose.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Creation of a blackbox polynomial algebra

intrinsic: BlackboxPolynomialAlgebra (R::Rng, n::RngIntElt) -> RngMPol
It returns a ring of multivariate blackbox polynomials over R in n variables.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Creation of elements

intrinsic: Var (x::RngMPolElt) -> Rec
It returns the blackbox polynomial element corresponding to x.
intrinsic: Cst (E::RngMPol, c) -> Rec
It returns the blackbox polynomial corresponding to c.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Arithmetic operations

All elementary ring operations are supported.

intrinsic: '+' (x::Rec) -> Rec
intrinsic: '+' (x::Rec, y) -> Rec
intrinsic: '+' (y, x::Rec) -> Rec
intrinsic: '-' (x::Rec) -> Rec
intrinsic: '-' (x::Rec, y) -> Rec
intrinsic: '-' (y, x::Rec) -> Rec
intrinsic: '*' (x::Rec, y) -> Rec
intrinsic: '*' (y, x::Rec) -> Rec
intrinsic: '/' (x::Rec, c) -> Rec
c must be invertible.
intrinsic: '^' (x::Rec, n::RngIntElt) -> Rec
n must be a non-negative integer.
intrinsic: Add (E::RngMPol, l::[Rec]) -> Rec
It returns the sum of the element of l.
intrinsic: Product (E::RngMPol, l::[Rec]) -> Rec
It returns the product of the element of l.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 Equality tests

Equality test corresponds to the test on the representations: two blackbox polynomials are equal iff their address is the same.

intrinsic: IsZero (e::Rec) -> BoolElt
Tells whether the expression e is the constant 0 or not.
intrinsic: IsOne (e::Rec) -> BoolElt
Tells whether the expression e is the constant 1 or not.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 Evaluation

intrinsic: ClearRememberTableValues (~E::RngMPol)
It clears the remember table of the current evaluation process.
intrinsic: Evaluate (F::Rec, x::[]) -> .
intrinsic: Evaluate (F::[Rec], x::[]) -> .
It returns the sequence of the values of the elements of F when the i-th variable is specialized to x[i], for i from 1 to #x. If F is empty then it returns [Universe(x)|].
Error conditions:
intrinsic: InitializeEvaluation (F::[Rec])
It initializes the evaluation process that will serve to evaluate the element of F only.
intrinsic: ChangeUniverseValues (~E::RngMPol, R::Rng, f::UserProgram)
It applies f onto the remember table of the current evaluation process.
intrinsic: Derivative (e::Rec, i::RngIntElt: algorithm:="backward") -> Rec
The derivative of e wrt its i-th variable.
intrinsic: Gradient (e::Rec: algorithm:="backward") -> []
intrinsic: Gradient (F::[Rec]: algorithm:="backward") -> []
Sequence of the partial derivatives. The parameter algorithm can be "backward" (for Baur-Strassen) or "forward".
intrinsic: ClearRememberTableGradients (~E::RngMPol)
It clears the remember tables used for gradient storage.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.6 Degree, coefficients

intrinsic: ConvertToPolynomial (e::Rec) -> .
intrinsic: ConvertToPolynomial (e::[Rec]) -> .
It returns the multivariate polynomial elements represented by e.
intrinsic: IsHomogeneous (e::Rec) -> BoolElt
It tells whether e is homogeneous (w.r.t. to grading on the variables of its polynomial ring). It is not probabilistic.
intrinsic: TotalDegree (e::Rec: Strategy:="UpperBound") -> RngIntElt
intrinsic: TotalDegree (F::[Rec]: Strategy:="UpperBound") -> .
It returns the total degrees of the mulivariate polynomial represented by F.
Parameter: Strategy can be either "Deterministic" or "Probabilistic". Strategy can also be "UpperBound" in order to compute a deterministic upper bound only.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7 Linear algebra

The following linear algebra functionalities are based on Berkowitz' algorithm.

intrinsic: CharacteristicPolynomialBerkowitz (A) -> .
It returns the sequence of coefficients of the characteristic polynomial of A, the last element being the coefficient of degree 0.
intrinsic: DeterminantBerkowitz (A) -> .
It returns the determinant of A.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.8 Printing

intrinsic: PrintBbp (s::[])
intrinsic: PrintBbp (e::Rec)
It prints the expression represented by e.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Grégoire Lecerf on June, 25 2002 using texi2html