# PolynomialIdeal(F, Expon, VarSet, DPoly)ΒΆ

This domain represents polynomial ideals with coefficients in any field and supports the basic ideal operations, including intersection, sum and quotient. An ideal is represented by a list of polynomials (the generators of the ideal) and a boolean that is `true` if the generators are a Groebner basis. The algorithms used are based on Groebner basis computations. The ordering is determined by the datatype of the input polynomials. Users may use refinements of total degree orderings.

*: (%, %) -> %

`I*J` computes the product of the ideal `I` and `J`.

+: (%, %) -> %

`I+J` computes the ideal generated by the union of `I` and `J`.

=: (%, %) -> Boolean

from BasicType

^: (%, NonNegativeInteger) -> %

`I^n` computes the `n`th power of the ideal `I`.

~=: (%, %) -> Boolean

from BasicType

backOldPos: Record(mval: Matrix F, invmval: Matrix F, genIdeal: %) -> %

`backOldPos(genPos)` takes the result produced by generalPosition and performs the inverse transformation, returning the original ideal `backOldPos(generalPosition(I, listvar))` = `I`.

coerce: % -> OutputForm
coerce: List DPoly -> %

`coerce(polyList)` converts the list of polynomials `polyList` to an ideal.

dimension: % -> Integer

`dimension(I)` gives the dimension of the ideal `I`. in the ring `F[lvar]`, where lvar are the variables appearing in `I`

dimension: (%, List VarSet) -> Integer

`dimension(I, lvar)` gives the dimension of the ideal `I`, in the ring `F[lvar]`

element?: (DPoly, %) -> Boolean

`element?(f, I)` tests whether the polynomial `f` belongs to the ideal `I`.

generalPosition: (%, List VarSet) -> Record(mval: Matrix F, invmval: Matrix F, genIdeal: %)

`generalPosition(I, listvar)` perform a random linear transformation on the variables in listvar and returns the transformed ideal along with the change of basis matrix.

generators: % -> List DPoly

`generators(I)` returns a list of generators for the ideal `I`.

groebner?: % -> Boolean

`groebner?(I)` tests if the generators of the ideal `I` are a Groebner basis.

groebner: % -> %

`groebner(I)` returns a set of generators of `I` that are a Groebner basis for `I`.

groebnerIdeal: List DPoly -> %

`groebnerIdeal(polyList)` constructs the ideal generated by the list of polynomials `polyList` which are assumed to be a Groebner basis. Note: this operation avoids a Groebner basis computation.

ideal: List DPoly -> %

`ideal(polyList)` constructs the ideal generated by the list of polynomials `polyList`.

in?: (%, %) -> Boolean

`in?(I, J)` tests if the ideal `I` is contained in the ideal `J`.

`inRadical?(f, I)` tests if some power of the polynomial `f` belongs to the ideal `I`.

intersect: (%, %) -> %

`intersect(I, J)` computes the intersection of the ideals `I` and `J`.

intersect: List % -> %

`intersect(LI)` computes the intersection of the list of ideals `LI`.

latex: % -> String

from SetCategory

`leadingIdeal(I)` is the ideal generated by the leading terms of the elements of the ideal `I`.

one?: % -> Boolean

`one?(I)` tests whether the ideal `I` is the unit ideal, i.e. contains 1.

quotient: (%, %) -> %

`quotient(I, J)` computes the quotient of the ideals `I` and `J`, `(I: J)`.

quotient: (%, DPoly) -> %

`quotient(I, f)` computes the quotient of the ideal `I` by the principal ideal generated by the polynomial `f`, `(I: (f))`.

relationsIdeal: List DPoly -> SuchThat(List Polynomial F, List Equation Polynomial F) if VarSet has ConvertibleTo Symbol

`relationsIdeal(polyList)` returns the ideal of relations among the polynomials in `polyList`.

saturate: (%, DPoly) -> %

`saturate(I, f)` is the saturation of the ideal `I` with respect to the multiplicative set generated by the polynomial `f`.

saturate: (%, DPoly, List VarSet) -> %

`saturate(I, f, lvar)` is the saturation with respect to the prime principal ideal which is generated by `f` in the polynomial ring `F[lvar]`.

zero?: % -> Boolean

`zero?(I)` tests whether the ideal `I` is the zero ideal

zeroDim?: % -> Boolean

`zeroDim?(I)` tests if the ideal `I` is zero dimensional, i.e. all its associated primes are maximal, in the ring `F[lvar]`, where lvar are the variables appearing in `I`

zeroDim?: (%, List VarSet) -> Boolean

`zeroDim?(I, lvar)` tests if the ideal `I` is zero dimensional, i.e. all its associated primes are maximal, in the ring `F[lvar]`

BasicType

SetCategory