# 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 nth 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.

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

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