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.