ideal.spad line 1 [edit on github]
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.
I^n computes the nth power of the ideal I.
backOldPos(genPos) takes the result produced by generalPosition and performs the inverse transformation, returning the original ideal backOldPos(generalPosition(I, listvar)) = I.
coerce(polyList) converts the list of polynomials polyList to an ideal.
dimension(I) gives the dimension of the ideal I. in the ring F[lvar], where lvar are the variables appearing in I
dimension(I, lvar) gives the dimension of the ideal I, in the ring F[lvar]
element?(f, I) tests whether the polynomial f belongs to the ideal I.
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(I) returns a list of generators for the ideal I.
groebner(I) returns a set of generators of I that are a Groebner basis for I.
groebner?(I) tests if the generators of the ideal I are a Groebner basis.
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(polyList) constructs the ideal generated by the list of polynomials polyList.
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(I, J) computes the intersection of the ideals I and J.
intersect(LI) computes the intersection of the list of ideals LI.
leadingIdeal(I) is the ideal generated by the leading terms of the elements of the ideal I.
one?(I) tests whether the ideal I is the unit ideal, i.e. contains 1.
quotient(I, J) computes the quotient of the ideals I and J, (I: J).
quotient(I, f) computes the quotient of the ideal I by the principal ideal generated by the polynomial f, (I: (f)).
relationsIdeal(polyList) returns the ideal of relations among the polynomials in polyList.
saturate(I, f) is the saturation of the ideal I with respect to the multiplicative set generated by the polynomial f.
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?(I) tests whether the ideal I is the zero ideal
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?(I, lvar) tests if the ideal I is zero dimensional, i.e. all its associated primes are maximal, in the ring F[lvar]