- Usage:
`multiplicity I``multiplicity(I,f)`

- Inputs:
`I`, an ideal`f`, a ring element, optional argument, if given it should be a non-zero divisor in the ideal I

- Outputs:
- an integer, the normalized leading coefficient of the Hilbert-Samuel polynomial of
*I*

- an integer, the normalized leading coefficient of the Hilbert-Samuel polynomial of

Given an ideal *I⊂ 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 |

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

- multiplicity(Ideal)
- multiplicity(Ideal,RingElement)