PolynomialIdeal(F, Expon, VarSet, DPoly)ΒΆ
ideal.spad line 1 [edit on github]
F: Field
Expon: OrderedAbelianMonoidSup
VarSet: OrderedSet
DPoly: PolynomialCategory(F, Expon, VarSet)
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 idealI
andJ
.
- +: (%, %) -> %
I+J
computes the ideal generated by the union ofI
andJ
.
- ^: (%, NonNegativeInteger) -> %
I^n
computes then
th power of the idealI
.
- 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 idealbackOldPos(generalPosition(I, listvar))
=I
.
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: List DPoly -> %
coerce(polyList)
converts the list of polynomialspolyList
to an ideal.
- dimension: % -> Integer
dimension(I)
gives the dimension of the idealI
. in the ringF[lvar]
, where lvar are the variables appearing inI
- dimension: (%, List VarSet) -> Integer
dimension(I, lvar)
gives the dimension of the idealI
, in the ringF[lvar]
- element?: (DPoly, %) -> Boolean
element?(f, I)
tests whether the polynomialf
belongs to the idealI
.
- 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 idealI
.
- groebner?: % -> Boolean
groebner?(I)
tests if the generators of the idealI
are a Groebner basis.
- groebner: % -> %
groebner(I)
returns a set of generators ofI
that are a Groebner basis forI
.
- groebnerIdeal: List DPoly -> %
groebnerIdeal(polyList)
constructs the ideal generated by the list of polynomialspolyList
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 polynomialspolyList
.
- in?: (%, %) -> Boolean
in?(I, J)
tests if the idealI
is contained in the idealJ
.
- inRadical?: (DPoly, %) -> Boolean
inRadical?(f, I)
tests if some power of the polynomialf
belongs to the idealI
.
- intersect: (%, %) -> %
intersect(I, J)
computes the intersection of the idealsI
andJ
.
- intersect: List % -> %
intersect(LI)
computes the intersection of the list of idealsLI
.
- latex: % -> String
from SetCategory
- leadingIdeal: % -> %
leadingIdeal(I)
is the ideal generated by the leading terms of the elements of the idealI
.
- one?: % -> Boolean
one?(I)
tests whether the idealI
is the unit ideal, i.e. contains 1.
- quotient: (%, %) -> %
quotient(I, J)
computes the quotient of the idealsI
andJ
,(I: J)
.
- quotient: (%, DPoly) -> %
quotient(I, f)
computes the quotient of the idealI
by the principal ideal generated by the polynomialf
,(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 inpolyList
.
- saturate: (%, DPoly) -> %
saturate(I, f)
is the saturation of the idealI
with respect to the multiplicative set generated by the polynomialf
.
- saturate: (%, DPoly, List VarSet) -> %
saturate(I, f, lvar)
is the saturation with respect to the prime principal ideal which is generated byf
in the polynomial ringF[lvar]
.
- zero?: % -> Boolean
zero?(I)
tests whether the idealI
is the zero ideal
- zeroDim?: % -> Boolean
zeroDim?(I)
tests if the idealI
is zero dimensional, i.e. all its associated primes are maximal, in the ringF[lvar]
, where lvar are the variables appearing inI