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.