next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
PrimaryDecomposition > primaryDecomposition(..., Strategy => ...)

primaryDecomposition(..., Strategy => ...)

Description

The strategy option value should be one of the following. The default strategy depends on the ideal. If the ideal is generated by monomials, then Strategy => Monomial is implied. In all other cases, the default is Strategy => ShimoyamaYokoyama.

Strategy => Monomial

This strategy only works for monomial ideals, and is the default strategy for such ideals. See the chapter "Monomial Ideals" in the Macaulay2 book.
i1 : Q = QQ[x,y]

o1 = Q

o1 : PolynomialRing
i2 : I = ideal(x^2,x*y)

             2
o2 = ideal (x , x*y)

o2 : Ideal of Q
i3 : primaryDecomposition(I, Strategy => Monomial)

                       2
o3 = {ideal x, ideal (x , y)}

o3 : List

Strategy => EisenbudHunekeVasconcelos

See "Direct methods for primary decomposition" by Eisenbud, Huneke, and Vasconcelos, Invent. Math. 110, 207-235 (1992).
i4 : Q = QQ[x,y]

o4 = Q

o4 : PolynomialRing
i5 : I = ideal(x^2,x*y)

             2
o5 = ideal (x , x*y)

o5 : Ideal of Q
i6 : primaryDecomposition(I, Strategy => EisenbudHunekeVasconcelos)

                       2        2
o6 = {ideal x, ideal (y , x*y, x )}

o6 : List

Strategy => ShimoyamaYokoyama

This strategy is the default for non-monomial ideals. See "Localization and Primary Decomposition of Polynomial ideals" by Shimoyama and Yokoyama, J. Symb. Comp. 22, 247-277 (1996).
i7 : Q = QQ[x,y]

o7 = Q

o7 : PolynomialRing
i8 : I = ideal(x^2,x*y)

             2
o8 = ideal (x , x*y)

o8 : Ideal of Q
i9 : primaryDecomposition(I, Strategy => ShimoyamaYokoyama)

                          2
o9 = {ideal x, ideal (y, x )}

o9 : List

Strategy => Hybrid

Use a hybrid of the Eisenbud-Huneke-Vasconcelos and Shimoyama-Yokoyama strategies. The field Strategy is a list of two integers, indicating the strategy to use for finding associated primes and localizing, respectively. WARNING: Setting the second paramter to 1 works only if the ideal is homogeneous and equidimensional.
i10 : Q = QQ[x,y]

o10 = Q

o10 : PolynomialRing
i11 : I = intersect(ideal(x^2), ideal(y^2))

             2 2
o11 = ideal(x y )

o11 : Ideal of Q
i12 : primaryDecomposition(I, Strategy => new Hybrid from (1,1))

              2         2
o12 = {ideal y , ideal x }

o12 : List
i13 : primaryDecomposition(I, Strategy => new Hybrid from (1,2))

              2         2
o13 = {ideal y , ideal x }

o13 : List
i14 : primaryDecomposition(I, Strategy => new Hybrid from (2,1))

              2         2
o14 = {ideal y , ideal x }

o14 : List
i15 : primaryDecomposition(I, Strategy => new Hybrid from (2,2))

              2         2
o15 = {ideal y , ideal x }

o15 : List

Further information