Macaulay2 » Documentation
Packages » MultiplicitySequence :: multiplicitySequence
next | previous | forward | backward | up | index | toc

multiplicitySequence -- the multiplicity sequence of an ideal

Synopsis

Description

Given a (graded) ideal I, this function computes the multiplicity sequence as defined in [0]. Specifying Strategy => "genElts" will use the general element method as in [4]: one can specify the "complexity" of the general elements by using the option minTerms.

i1 : R = QQ[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : I = ideal"xy2,yz3,zx4"

               2     3   4
o2 = ideal (x*y , y*z , x z)

o2 : Ideal of R
i3 : multiplicitySequence I

o3 = HashTable{2 => 9 }
               3 => 25

o3 : HashTable

The j-multiplicity of I is the l-th number, where l is the analytic spread of I.

i4 : analyticSpread I, jMult I

o4 = (3, 25)

o4 : Sequence

Note that this function does not require the ambient ring to be a polynomial ring:

i5 : S = QQ[a..d]

o5 = S

o5 : PolynomialRing
i6 : J = ideal (a*d - b*c, c^2-b*d)

                          2
o6 = ideal (- b*c + a*d, c  - b*d)

o6 : Ideal of S
i7 : R = S/J

o7 = R

o7 : QuotientRing
i8 : I = ideal(R_0^2,R_0*R_1,R_1^3)

             2        3
o8 = ideal (a , a*b, b )

o8 : Ideal of R
i9 : multiplicitySequence I

o9 = HashTable{1 => 5}
               2 => 7

o9 : HashTable

One can specify a particular element in the multiplicity sequence:

i10 : multiplicitySequence_1 I

o10 = 5

Caveat

There are two conventions in use about the order of the sequence. The current function follows that of [4] and in this setting the j-multiplicity of I appears at the l-th spot, where l is the analytic spread of I. If the ideal I is not graded, this function may produce incorrect results.

See also

Ways to use multiplicitySequence :

For the programmer

The object multiplicitySequence is a method function with options.