The strategy option value should be one of the following.
- Monomial -- uses Alexander duality of a monomial ideal
- Binomial -- finds a cellular resolution of a binomial ideal. NOT IMPLEMENTED YET.
- EisenbudHunekeVasconcelos -- uses the algorithm of Eisenbud-Huneke-Vasconcelos
- ShimoyamaYokoyama -- uses the algorithm of Shimoyama-Yokoyama
- Hybrid -- uses parts of the above two algorithms
- GTZ -- uses the algorithm of Gianni-Trager-Zacharias. NOT IMPLEMENTED YET.
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(x ), ideal(y )}
o12 : List
|
i13 : primaryDecomposition(I, Strategy => new Hybrid from (1,2))
2 2
o13 = {ideal(x ), ideal(y )}
o13 : List
|
i14 : primaryDecomposition(I, Strategy => new Hybrid from (2,1))
2 2
o14 = {ideal(x ), ideal(y )}
o14 : List
|
i15 : primaryDecomposition(I, Strategy => new Hybrid from (2,2))
2 2
o15 = {ideal(x ), ideal(y )}
o15 : List
|