# IdealDecompositionPackage vlΒΆ

This package provides functions for the primary decomposition of polynomial ideals over the rational numbers. The ideals are members of the PolynomialIdeal domain, and the polynomial generators are required to be from the DistributedMultivariatePolynomial domain.

contract: (PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)), List OrderedVariableList vl) -> PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer))

`contract(I, lvar)` contracts the ideal `I` to the polynomial ring `F[lvar]`.

primaryDecomp: PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)) -> List PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer))

`primaryDecomp(I)` returns a list of primary ideals such that their intersection is the ideal `I`.

prime?: PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)) -> Boolean

`prime?(I)` tests if the ideal `I` is prime.

radical: PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)) -> PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer))

`radical(I)` returns the radical of the ideal `I`.

zeroDimPrimary?: PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)) -> Boolean

`zeroDimPrimary?(I)` tests if the ideal `I` is 0-dimensional primary.

zeroDimPrime?: PolynomialIdeal(Fraction Integer, DirectProduct(# vl, NonNegativeInteger), OrderedVariableList vl, DistributedMultivariatePolynomial(vl, Fraction Integer)) -> Boolean

`zeroDimPrime?(I)` tests if the ideal `I` is a 0-dimensional prime.