LexTriangularPackage(R, ls)ΒΆ
zerodim.spad line 110 [edit on github]
A package for solving polynomial systems with finitely many solutions. The decompositions are given by means of regular triangular sets. The computations use lexicographical Groebner bases. The main operations are lexTriangular and squareFreeLexTriangular. The second one provide decompositions by means of square-free regular triangular sets. Both are based on the lexTriangular method described in [1]. They differ from the algorithm described in [2] by the fact that multiciplities of the roots are not kept. With the squareFreeLexTriangular operation all multiciplities are removed. With the other operation some multiciplities may remain. Both operations admit an optional argument to produce normalized triangular sets.
- fglmIfCan: List NewSparseMultivariatePolynomial(R, OrderedVariableList ls) -> Union(List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), failed)
fglmIfCan(lp)
returns the lexicographical Groebner basis oflp
by using the FGLM strategy, ifzeroDimensional?(lp)
holds .
- groebner: List NewSparseMultivariatePolynomial(R, OrderedVariableList ls) -> List NewSparseMultivariatePolynomial(R, OrderedVariableList ls)
groebner(lp)
returns the lexicographical Groebner basis oflp
. Iflp
generates a zero-dimensional ideal then the FGLM strategy is used, otherwise the Sugar strategy is used.
- lexTriangular: (List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), Boolean) -> List RegularChain(R, ls)
lexTriangular(base, norm?)
decomposes the variety associated withbase
into regular chains. Thus a point belongs to this variety iff it is a regular zero of a regular set in in the output. Note thatbase
needs to be a lexicographical Groebner basis of a zero-dimensional ideal. Ifnorm?
istrue
then the regular sets are normalized.
- squareFreeLexTriangular: (List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), Boolean) -> List SquareFreeRegularTriangularSet(R, IndexedExponents OrderedVariableList ls, OrderedVariableList ls, NewSparseMultivariatePolynomial(R, OrderedVariableList ls))
squareFreeLexTriangular(base, norm?)
decomposes the variety associated withbase
into square-free regular chains. Thus a point belongs to this variety iff it is a regular zero of a regular set in in the output. Note thatbase
needs to be a lexicographical Groebner basis of a zero-dimensional ideal. Ifnorm?
istrue
then the regular sets are normalized.
- zeroDimensional?: List NewSparseMultivariatePolynomial(R, OrderedVariableList ls) -> Boolean
zeroDimensional?(lp)
returnstrue
ifflp
generates a zero-dimensional idealw
.r
.t
. the variables involved inlp
.
- zeroSetSplit: (List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), Boolean) -> List RegularChain(R, ls)
zeroSetSplit(lp, norm?)
decomposes the variety associated withlp
into regular chains. Thus a point belongs to this variety iff it is a regular zero of a regular set in in the output. Note thatlp
needs to generate a zero-dimensional ideal. Ifnorm?
istrue
then the regular sets are normalized.
- zeroSetSplit: (List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), Boolean) -> List SquareFreeRegularTriangularSet(R, IndexedExponents OrderedVariableList ls, OrderedVariableList ls, NewSparseMultivariatePolynomial(R, OrderedVariableList ls))
zeroSetSplit(lp, norm?)
decomposes the variety associated withlp
into square-free regular chains. Thus a point belongs to this variety iff it is a regular zero of a regular set in in the output. Note thatlp
needs to generate a zero-dimensional ideal. Ifnorm?
istrue
then the regular sets are normalized.