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 of lp by using the FGLM strategy, if zeroDimensional?(lp) holds .

groebner: List NewSparseMultivariatePolynomial(R, OrderedVariableList ls) -> List NewSparseMultivariatePolynomial(R, OrderedVariableList ls)

groebner(lp) returns the lexicographical Groebner basis of lp. If lp 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 with base 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 that base needs to be a lexicographical Groebner basis of a zero-dimensional ideal. If norm? is true 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 with base 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 that base needs to be a lexicographical Groebner basis of a zero-dimensional ideal. If norm? is true then the regular sets are normalized.

zeroDimensional?: List NewSparseMultivariatePolynomial(R, OrderedVariableList ls) -> Boolean

zeroDimensional?(lp) returns true iff lp generates a zero-dimensional ideal w.r.t. the variables involved in lp.

zeroSetSplit: (List NewSparseMultivariatePolynomial(R, OrderedVariableList ls), Boolean) -> List RegularChain(R, ls)

zeroSetSplit(lp, norm?) decomposes the variety associated with lp 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 that lp needs to generate a zero-dimensional ideal. If norm? is true 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 with lp 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 that lp needs to generate a zero-dimensional ideal. If norm? is true then the regular sets are normalized.