PolynomialIdeal(F, Expon, VarSet, DPoly)

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.

= : (%, %) -> Boolean
from BasicType
^ : (%, NonNegativeInteger) -> %

I^n computes the nth power of the ideal I.

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 : List(DPoly) -> %

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

coerce : % -> OutputForm
from CoercibleTo(OutputForm)
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 : % -> %

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

groebner? : % -> Boolean

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

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? : (DPoly, %) -> Boolean

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 : % -> %

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]

~= : (%, %) -> Boolean
from BasicType

BasicType

CoercibleTo(OutputForm)

SetCategory