# annihilator -- the annihilator ideal

## Synopsis

• Usage:
annihilator M
• Inputs:
• M, a module, an ideal, a ring element, or a coherent sheaf
• Optional inputs:
• Outputs:
• the annihilator ideal, ann(M) = { f in R | fM = 0 } where R is the ring of M

## Description

You may use ann as a synonym for annihilator.

As an example, we compute the annihilator of the canonical module of the rational quartic curve.

 `i1 : R = QQ[a..d];` ```i2 : J = monomialCurveIdeal(R,{1,3,4}) 3 2 2 2 3 2 o2 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o2 : Ideal of R``` ```i3 : M = Ext^2(R^1/J, R) o3 = cokernel {-3} | c a 0 b 0 | {-3} | -d -b c 0 a | {-3} | 0 0 d c b | 3 o3 : R-module, quotient of R``` ```i4 : annihilator M 3 2 2 2 3 2 o4 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o4 : Ideal of R```
For another example, we compute the annihilator of an element in a quotient ring
 ```i5 : A = R/(a*b,a*c,a*d) o5 = A o5 : QuotientRing``` ```i6 : ann a o6 = ideal (d, c, b) o6 : Ideal of A```
Macaulay2 uses two algorithms to compute annihilators. The default version is to compute the annihilator of each generator of the module M and to intersect these two by two. Each annihilator is done using a submodule quotient. The other algorithm computes the annihilator in one large computation and is used if Strategy => Quotient is specified.
 ```i7 : annihilator(M, Strategy=>Quotient) 3 2 2 2 3 2 o7 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o7 : Ideal of R```