2. Blackbox polynomials
This package provides a blackbox polynomial domain and is due
to L. Lehmann. The verbose flag is BbpVerbose
.
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.
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
- E is a domain returned by
BlackboxPolynomialAlgebra
.
- c is an element of the base ring of R.
It returns the blackbox polynomial corresponding to c.
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
- E, returned by
BlackboxPolynomialAlgebra
.
- l, a sequence.
It returns the sum of the element of l.
- intrinsic: Product (E::
RngMPol
, l::[Rec]
) -> Rec
- E, returned by
BlackboxPolynomialAlgebra
.
- l, a sequence.
It returns the product of the element of l.
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.
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:
#x must equal the rank of the polynomial domain.
- intrinsic: InitializeEvaluation (F::
[Rec]
)
- F, a nonempty sequence of expressions.
It initializes the evaluation process that will serve to evaluate
the element of F only.
- intrinsic: ChangeUniverseValues (~E::
RngMPol
, R::Rng
, f::UserProgram
)
- E, a domain returned by
BlackboxPolynomialAlgebra
.
- R, a ring
- f, map into R.
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.
2.6 Degree, coefficients
- intrinsic: ConvertToPolynomial (e::
Rec
) -> .
- intrinsic: ConvertToPolynomial (e::
[Rec]
) -> .
- e is an expression or a sequence of expressions.
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.
2.7 Linear algebra
The following linear algebra functionalities are based on Berkowitz'
algorithm.
- intrinsic: CharacteristicPolynomialBerkowitz (A) ->
.
- A, sequence of sequences of expressions, viewed as a
square matrix.
It returns the sequence of coefficients of the characteristic polynomial
of A, the last element being the coefficient of degree 0.
- intrinsic: DeterminantBerkowitz (A) ->
.
- A, sequence of sequences of Expressions, viewed as a
square matrix.
It returns the determinant of A.
2.8 Printing
- intrinsic: PrintBbp (s::
[]
)
- intrinsic: PrintBbp (e::
Rec
)
- It prints the expression represented by e.
This document was generated
by Grégoire Lecerf on June, 25 2002
using texi2html