# multiplicity -- Compute the Hilbert-Samuel multiplicity of an ideal

## Synopsis

• Usage:
multiplicity I
multiplicity(I,f)
• Inputs:
• I, an ideal,
• f, , optional argument, if given it should be a non-zero divisor in the ideal I
• Optional inputs:
• BasisElementLimit => ..., default value infinity, Bound the number of Groebner basis elements to compute in the saturation step
• DegreeLimit => ..., default value {}, Bound the degrees considered in the saturation step. Defaults to infinity
• MinimalGenerators => ..., default value true, Whether the saturation step returns minimal generators
• PairLimit => ..., default value infinity, Bound the number of s-pairs considered in the saturation step
• Strategy => ..., default value null, Choose a strategy for the saturation step
• Variable => ..., default value w, Option for intersectInP
• Outputs:
• an integer, the normalized leading coefficient of the Hilbert-Samuel polynomial of $I$

## Description

Given an ideal $I\subset{} R$, multiplicity I'' returns the degree of the normal cone of $I$. When $R/I$ has finite length this is the sum of the Samuel multiplicities of $I$ at the various localizations of $R$. When $I$ is generated by a complete intersection, this is the length of the ring $R/I$ but in general it is greater. For example,

 i1 : R=ZZ/101[x,y] o1 = R o1 : PolynomialRing i2 : I = ideal(x^3, x^2*y, y^3) 3 2 3 o2 = ideal (x , x y, y ) o2 : Ideal of R i3 : multiplicity I o3 = 9 i4 : degree I o4 = 7

## Caveat

The normal cone is computed using the Rees algebra, thus may be slow.

## Ways to use multiplicity :

• "multiplicity(Ideal)"
• "multiplicity(Ideal,RingElement)"

## For the programmer

The object multiplicity is .