# QuasiAlgebraicSet2 vlΒΆ

qalgset.spad line 186 [edit on github]

QuasiAlgebraicSet2 adds a function radicalSimplify which uses IdealDecompositionPackage to simplify the representation of a quasi-algebraic set. A quasi-algebraic set is the intersection of a Zariski closed set, defined as the common zeros of a given list of polynomials (the defining polynomials for equations), and a principal Zariski open set, defined as the complement of the common zeros of a polynomial `f`

(the defining polynomial for the inequation). Quasi-algebraic sets are implemented in the domain QuasiAlgebraicSet, where two simplification routines are provided: idealSimplify and simplify. The function radicalSimplify is added for comparison study only. Because the domain IdealDecompositionPackage provides facilities for computing with radical ideals, it is necessary to restrict the ground ring to the domain Fraction Integer, and the polynomial ring to be of type DistributedMultivariatePolynomial. The routine radicalSimplify uses these to compute groebner basis of radical ideals and is inefficient and restricted when compared to the two in QuasiAlgebraicSet.

- radicalSimplify: QuasiAlgebraicSet(Fraction Integer, OrderedVariableList vl, DirectProduct(# vl, NonNegativeInteger), DistributedMultivariatePolynomial(vl, Fraction Integer)) -> QuasiAlgebraicSet(Fraction Integer, OrderedVariableList vl, DirectProduct(# vl, NonNegativeInteger), DistributedMultivariatePolynomial(vl, Fraction Integer))
`radicalSimplify(s)`

returns a different and presumably simpler representation of`s`

with the defining polynomials for the equations forming a groebner basis, and the defining polynomial for the inequation reduced with respect to the basis, using using groebner basis of radical ideals