Let K[B] be the monomial algebra of the degree monoid of the target of f and analogously K[A] for source of f. Assume that K[B] is finite as a K[A]-module.
The monomial algebra K[B] is decomposed as a direct sum of monomial ideals in K[A] with twists in G(B).
If R with degrees B is specified then A is computed via findGeneratorsOfSubalgebra.
Note that the shift chosen by the function depends on the monomial ordering of K[A] (in the non-simplicial case).
i1 : B = {{4,2},{10,6},{3,7},{3,6}} o1 = {{4, 2}, {10, 6}, {3, 7}, {3, 6}} o1 : List |
i2 : A = {{4,2},{10,6},{3,7}} o2 = {{4, 2}, {10, 6}, {3, 7}} o2 : List |
i3 : S = ZZ/101[x_0..x_(#B-1), Degrees=>B]; |
i4 : P = ZZ/101[x_0..x_(#A-1), Degrees=>A]; |
i5 : f = map(S,P) o5 = map(S,P,{x , x , x }) 0 1 2 o5 : RingMap S <--- P |
i6 : decomposeMonomialAlgebra f 210 189 9 194 7 2 199 5 4 204 3 6 209 8 188 10 8 193 8 10 198 6 12 203 4 14 208 2 16 o6 = HashTable{0 => {ideal (x , x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x ), | -840 |} } 0 0 1 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 | -420 | 210 189 9 194 7 2 199 5 4 204 3 6 209 8 188 10 8 193 8 10 198 6 12 203 4 14 208 2 16 | 1 | => {ideal (x , x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x ), | -837 |} | 0 | 0 0 1 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 | -414 | o6 : HashTable |
Decomposition over a polynomial ring
i7 : B = {{4,2},{3,7},{10,6},{3,6}} o7 = {{4, 2}, {3, 7}, {10, 6}, {3, 6}} o7 : List |
i8 : A = {{4,2},{3,7}} o8 = {{4, 2}, {3, 7}} o8 : List |
i9 : S = ZZ/101[x_0..x_(#B-1), Degrees=>B]; |
i10 : P = ZZ/101[x_0..x_(#A-1), Degrees=>A]; |
i11 : f = map(S,P) o11 = map(S,P,{x , x }) 0 1 o11 : RingMap S <--- P |
i12 : decomposeMonomialAlgebra f 16 2 o12 = HashTable{| -1 | => {ideal (x , x ), | 9 |} } | 0 | 0 1 | 16 | 8 | -2 | => {ideal (x , x ), | 6 |} | 0 | 0 1 | 4 | 17 2 10 | -3 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 1 1 | 20 | 2 8 16 | -4 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 1 1 | 8 | | -5 | => {ideal 1, | 9 |} | 0 | | 18 | 6 6 | -6 | => {ideal (x , x ), | 6 |} | 0 | 0 1 | 6 | 8 | -7 | => {ideal (x , x ), | 15 |} | 0 | 0 1 | 22 | 7 6 14 | -8 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 1 1 | 10 | | -9 | => {ideal 1, | 3 |} | 0 | | 6 | 11 4 | -10 | => {ideal (x , x ), | 6 |} | 0 | 0 1 | 8 | 0 => {ideal 1, 0} 12 4 12 | 1 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 1 1 | 18 | 8 | 2 | => {ideal (x , x ), | 12 |} | 0 | 0 1 | 16 | 11 4 | 3 | => {ideal (x , x ), | 9 |} | 0 | 0 1 | 14 | | 4 | => {ideal 1, | 6 |} | 0 | | 12 | 7 6 14 | 5 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 1 1 | 16 | 17 2 10 | 6 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 1 1 | 14 | 6 6 | 7 | => {ideal (x , x ), | 9 |} | 0 | 0 1 | 12 | 16 2 | 8 | => {ideal (x , x ), | 6 |} | 0 | 0 1 | 10 | 2 8 16 | 9 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 1 1 | 14 | 12 4 12 | 10 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 1 1 | 12 | 8 | 11 | => {ideal (x , x ), | 9 |} | 0 | 0 1 | 10 | o12 : HashTable |
Specifying R:
i13 : B = {{4,2},{10,6},{3,7},{3,6}} o13 = {{4, 2}, {10, 6}, {3, 7}, {3, 6}} o13 : List |
i14 : S = ZZ/101[x_0..x_(#B-1), Degrees=>B]; |
i15 : decomposeMonomialAlgebra S 16 2 o15 = HashTable{| -1 | => {ideal (x , x ), | 9 |} } | 0 | 0 2 | 16 | 8 | -2 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 4 | 17 2 10 | -3 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 20 | 2 8 16 | -4 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 8 | | -5 | => {ideal 1, | 9 |} | 0 | | 18 | 6 6 | -6 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 6 | 8 | -7 | => {ideal (x , x ), | 15 |} | 0 | 0 2 | 22 | 7 6 14 | -8 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 10 | | -9 | => {ideal 1, | 3 |} | 0 | | 6 | 11 4 | -10 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 8 | 0 => {ideal 1, 0} 12 4 12 | 1 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 18 | 8 | 2 | => {ideal (x , x ), | 12 |} | 0 | 0 2 | 16 | 11 4 | 3 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 14 | | 4 | => {ideal 1, | 6 |} | 0 | | 12 | 7 6 14 | 5 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 16 | 17 2 10 | 6 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 14 | 6 6 | 7 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 12 | 16 2 | 8 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 10 | 2 8 16 | 9 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 14 | 12 4 12 | 10 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 12 | 8 | 11 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 10 | o15 : HashTable |
Specifying a monomial algebra:
i16 : M = monomialAlgebra {{4,2},{10,6},{3,7},{3,6}} ZZ o16 = ---[x ..x ] 101 0 3 o16 : MonomialAlgebra generated by {{4, 2}, {10, 6}, {3, 7}, {3, 6}} |
i17 : decomposeMonomialAlgebra M 16 2 o17 = HashTable{| -1 | => {ideal (x , x ), | 9 |} } | 0 | 0 2 | 16 | 8 | -2 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 4 | 17 2 10 | -3 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 20 | 2 8 16 | -4 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 8 | | -5 | => {ideal 1, | 9 |} | 0 | | 18 | 6 6 | -6 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 6 | 8 | -7 | => {ideal (x , x ), | 15 |} | 0 | 0 2 | 22 | 7 6 14 | -8 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 10 | | -9 | => {ideal 1, | 3 |} | 0 | | 6 | 11 4 | -10 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 8 | 0 => {ideal 1, 0} 12 4 12 | 1 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 18 | 8 | 2 | => {ideal (x , x ), | 12 |} | 0 | 0 2 | 16 | 11 4 | 3 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 14 | | 4 | => {ideal 1, | 6 |} | 0 | | 12 | 7 6 14 | 5 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 16 | 17 2 10 | 6 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 14 | 6 6 | 7 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 12 | 16 2 | 8 | => {ideal (x , x ), | 6 |} | 0 | 0 2 | 10 | 2 8 16 | 9 | => {ideal (x , x x , x ), | 15 |} | 0 | 0 0 2 2 | 14 | 12 4 12 | 10 | => {ideal (x , x x , x ), | 12 |} | 0 | 0 0 2 2 | 12 | 8 | 11 | => {ideal (x , x ), | 9 |} | 0 | 0 2 | 10 | o17 : HashTable |
Specifying a monomial curve by a list of positive integers:
i18 : decomposeMonomialAlgebra {1,4,8,9,11} o18 = HashTable{| -1 | => {ideal 1, | 10 |} } | 1 | | 12 | | -2 | => {ideal 1, | 9 |} | 2 | | 2 | | -3 | => {ideal 1, | 8 |} | 3 | | 3 | 3 | -4 | => {ideal (x , x ), | 7 |} | 4 | 1 0 | 4 | 2 | -5 | => {ideal (x , x ), | 6 |} | 5 | 1 0 | 5 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 10 | | 2 | => {ideal (x , x ), | 2 |} | -2 | 1 0 | 9 | 2 2 | 3 | => {ideal (x , x x , x ), | 3 |} | -3 | 1 0 1 0 | 8 | | 4 | => {ideal 1, | 4 |} | -4 | | 7 | | 5 | => {ideal (x , x ), | 5 |} | -5 | 1 0 | 6 | o18 : HashTable |
Some simpler examples:
i19 : B = adjoinPurePowers homogenizeSemigroup {{1,2},{3,0},{0,4},{0,5}} o19 = {{5, 0, 0}, {0, 5, 0}, {0, 0, 5}, {1, 2, 2}, {3, 0, 2}, {0, 4, 1}} o19 : List |
i20 : A = adjoinPurePowers homogenizeSemigroup {{0,5}} o20 = {{5, 0, 0}, {0, 5, 0}, {0, 0, 5}} o20 : List |
i21 : S = ZZ/101[x_0..x_(#B-1), Degrees=>B]; |
i22 : P = ZZ/101[x_0..x_(#A-1), Degrees=>A]; |
i23 : f = map(S,P) o23 = map(S,P,{x , x , x }) 0 1 2 o23 : RingMap S <--- P |
i24 : decomposeMonomialAlgebra f 2 o24 = HashTable{| -1 | => {ideal (x , x ), | 4 |} } | -1 | 1 0 | 4 | | 2 | | 7 | | -1 | => {ideal 1, | 4 |} | -2 | | 8 | | -2 | | 8 | 2 | -1 | => {ideal (x , x ), | 4 |} | 0 | 1 0 | 0 | | 1 | | 6 | | -1 | => {ideal 1, | 4 |} | 1 | | 6 | | 0 | | 5 | | -1 | => {ideal 1, | 4 |} | 2 | | 2 | | -1 | | 4 | | -2 | => {ideal 1, | 3 |} | -1 | | 4 | | -2 | | 3 | | -2 | => {ideal 1, | 3 |} | -2 | | 8 | | -1 | | 4 | | -2 | => {ideal 1, | 3 |} | 0 | | 0 | | 2 | | 2 | | -2 | => {ideal 1, | 3 |} | 1 | | 6 | | 1 | | 6 | 2 2 | -2 | => {ideal (x x , x ), | 3 |} | 2 | 0 2 1 | 2 | | 0 | | 5 | | 0 | => {ideal 1, | 0 |} | -1 | | 4 | | 1 | | 1 | | 0 | => {ideal 1, | 0 |} | -2 | | 8 | | 2 | | 2 | 0 => {ideal 1, 0} 2 2 | 0 | => {ideal (x x , x ), | 0 |} | 1 | 0 2 1 | 6 | | -1 | | 4 | 2 2 | 0 | => {ideal (x x , x ), | 0 |} | 2 | 0 2 1 | 2 | | -2 | | 3 | 2 | 1 | => {ideal (x , x ), | 1 |} | -1 | 1 0 | 4 | | 0 | | 5 | 2 | 1 | => {ideal (x , x ), | 1 |} | -2 | 1 0 | 8 | | 1 | | 6 | 2 | 1 | => {ideal (x , x ), | 1 |} | 0 | 1 0 | 0 | | -1 | | 4 | | 1 | => {ideal 1, | 1 |} | 1 | | 6 | | -2 | | 3 | | 1 | => {ideal 1, | 1 |} | 2 | | 2 | | 2 | | 2 | | 2 | => {ideal 1, | 2 |} | -1 | | 4 | | -1 | | 4 | | 2 | => {ideal 1, | 2 |} | -2 | | 8 | | 0 | | 5 | 4 2 2 | 2 | => {ideal (x , x x , x ), | 2 |} | 0 | 1 0 1 0 | 0 | | -2 | | 8 | 2 | 2 | => {ideal (x , x ), | 2 |} | 1 | 1 0 | 6 | | 2 | | 7 | 2 | 2 | => {ideal (x , x ), | 2 |} | 2 | 1 0 | 2 | | 1 | | 6 | o24 : HashTable |
Consider the family of smooth monomial curves in $\mathbb{P}^3$, the one of degree $d$ having parametrization $$ (s,t) \rightarrow (s^d, s^{d-1}t, st^{d-1} t^d) \in \mathbb{P}^3. $$
i25 : kk=ZZ/101; |
i26 : L= for d from 4 to 10 list (f= map(kk[x_0..x_3,Degrees=>{{d,0},{d-1,1},{1,d-1},{0,d}}], kk[x_0,x_3,Degrees=>{{d,0},{0,d}}])); |
i27 : print\decomposeMonomialAlgebra\L HashTable{| -1 | => {ideal 1, | 3 |} } | 1 | | 1 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 3 | | 2 | => {ideal (x , x ), | 2 |} | 2 | 0 3 | 2 | HashTable{| -1 | => {ideal 1, | 4 |} } | 1 | | 1 | 2 | -2 | => {ideal (x , x ), | 3 |} | 2 | 0 3 | 2 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 4 | 2 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 3 | HashTable{| -1 | => {ideal 1, | 5 |} } | 1 | | 1 | 3 | -2 | => {ideal (x , x ), | 4 |} | 2 | 0 3 | 2 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 5 | 3 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 4 | 2 2 | 3 | => {ideal (x , x ), | 3 |} | 3 | 0 3 | 3 | HashTable{| -1 | => {ideal 1, | 6 |} } | 1 | | 1 | 4 | -2 | => {ideal (x , x ), | 5 |} | 2 | 0 3 | 2 | 2 3 | -3 | => {ideal (x , x ), | 4 |} | 3 | 0 3 | 3 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 6 | 4 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 5 | 3 2 | 3 | => {ideal (x , x ), | 3 |} | -3 | 0 3 | 4 | HashTable{| -1 | => {ideal 1, | 7 |} } | 1 | | 1 | 5 | -2 | => {ideal (x , x ), | 6 |} | 2 | 0 3 | 2 | 2 4 | -3 | => {ideal (x , x ), | 5 |} | 3 | 0 3 | 3 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 7 | 5 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 6 | 4 2 | 3 | => {ideal (x , x ), | 3 |} | -3 | 0 3 | 5 | 3 3 | 4 | => {ideal (x , x ), | 4 |} | 4 | 0 3 | 4 | HashTable{| -1 | => {ideal 1, | 8 |} } | 1 | | 1 | 6 | -2 | => {ideal (x , x ), | 7 |} | 2 | 0 3 | 2 | 2 5 | -3 | => {ideal (x , x ), | 6 |} | 3 | 0 3 | 3 | 3 4 | -4 | => {ideal (x , x ), | 5 |} | 4 | 0 3 | 4 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 8 | 6 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 7 | 5 2 | 3 | => {ideal (x , x ), | 3 |} | -3 | 0 3 | 6 | 4 3 | 4 | => {ideal (x , x ), | 4 |} | -4 | 0 3 | 5 | HashTable{| -1 | => {ideal 1, | 9 |} } | 1 | | 1 | 7 | -2 | => {ideal (x , x ), | 8 |} | 2 | 0 3 | 2 | 2 6 | -3 | => {ideal (x , x ), | 7 |} | 3 | 0 3 | 3 | 3 5 | -4 | => {ideal (x , x ), | 6 |} | 4 | 0 3 | 4 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 9 | 7 | 2 | => {ideal (x , x ), | 2 |} | -2 | 0 3 | 8 | 6 2 | 3 | => {ideal (x , x ), | 3 |} | -3 | 0 3 | 7 | 5 3 | 4 | => {ideal (x , x ), | 4 |} | -4 | 0 3 | 6 | 4 4 | 5 | => {ideal (x , x ), | 5 |} | 5 | 0 3 | 5 | o27 = {, , , , , , } o27 : List |
See also decomposeHomogeneousMA:
i28 : decomposeHomogeneousMA {{2,0,1},{0,2,1},{1,1,1},{2,2,1},{2,1,1},{1,4,1}} 2 o28 = HashTable{0 => {ideal (x , x x ), -1} } 3 0 5 2 | 0 | => {ideal (x x , x ), -1} | 1 | 0 5 3 | 0 | o28 : HashTable |
The object decomposeMonomialAlgebra is a method function with options.