next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: associatedPrimes(..., Strategy => ...)

associatedPrimes(..., Strategy => ...)

Description

The strategy option value is currently not considered while computing associated primes

There are three methods for computing associated primes in Macaulay2: If the ideal is a monomial ideal, use code that Greg Smith and Serkan Hosten wrote. If a primary decomposition has already been found, use the stashed associated primes found. If neither of these is the case, then use Ext modules to find the associated primes (this is Strategy=>1)

In order to use the monomial ideal algorithm, it is necessary to make I into a monomial ideal.

i1 : S = QQ[a,b,c,d,e];
i2 : I1 = ideal(a,b,c);

o2 : Ideal of S
i3 : I2 = ideal(a,b,d);

o3 : Ideal of S
i4 : I3 = ideal(a,e);

o4 : Ideal of S
i5 : P = I1*I2*I3

             3   2    2           2           2             2   2         
o5 = ideal (a , a e, a b, a*b*e, a d, a*d*e, a b, a*b*e, a*b , b e, a*b*d,
     ------------------------------------------------------------------------
             2
     b*d*e, a c, a*c*e, a*b*c, b*c*e, a*c*d, c*d*e)

o5 : Ideal of S
i6 : L1 = associatedPrimes P

o6 = {ideal (e, a), ideal (d, b, a), ideal (c, b, a), ideal (d, c, b, a),
     ------------------------------------------------------------------------
     ideal (e, c, b, a), ideal (e, d, b, a), ideal (e, d, c, b, a)}

o6 : List
i7 : L2 = apply(associatedPrimes monomialIdeal P, J -> ideal J)

o7 = {ideal (a, e), ideal (a, b, c), ideal (a, b, d), ideal (a, b, c, d),
     ------------------------------------------------------------------------
     ideal (a, b, c, e), ideal (a, b, d, e), ideal (a, b, c, d, e)}

o7 : List
i8 : M1 = set apply(L1, I -> sort flatten entries gens I)

o8 = set {{c, b, a}, {d, b, a}, {d, c, b, a}, {e, a}, {e, c, b, a}, {e, d, b,
     ------------------------------------------------------------------------
     a}, {e, d, c, b, a}}

o8 : Set
i9 : M2 = set apply(L2, I -> sort flatten entries gens I)

o9 = set {{c, b, a}, {d, b, a}, {d, c, b, a}, {e, a}, {e, c, b, a}, {e, d, b,
     ------------------------------------------------------------------------
     a}, {e, d, c, b, a}}

o9 : Set
i10 : assert(M1 === M2)
The method using Ext modules comes from Eisenbud-Huneke-Vasconcelos, Invent. Math 110 (1992) 207-235.

Further information