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 0 b a 0 |
{-3} | d c 0 b a |
{-3} | 0 -d c 0 -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
|
Macaulay 2 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
|