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 |
Currently two algorithms to compute annihilators are implemented. The default 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
|
The object annihilator is a method function with options.