next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MonomialAlgebras :: decomposeMonomialAlgebra

decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra

Synopsis

Description

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{| 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 |
                             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
               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 |

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 |
                                  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 |
                0 => {ideal 1, 0}

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 |
                                  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 |
                0 => {ideal 1, 0}

o15 : HashTable

Specifying a monomial algebra:

i16 : M = monomialAlgebra {{4,2},{10,6},{3,7},{3,6}}

       ZZ
o16 = ---[x , x , x , x ]
      101  0   1   2   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 |
                                  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 |
                0 => {ideal 1, 0}

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 |
                | 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 |
                0 => {ideal 1, 0}

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 |
                                   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 |
                0 => {ideal 1, 0}

o24 : HashTable

Consider the family of smooth monomial curves in 3, the one of degree d having parametrization

(s,t) →(sd, sd-1t, std-1 td) ∈ℙ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 |
          | 1  | => {ideal 1, | 1 |}
          | -1 |              | 3 |
          | 2 | => {ideal (x , x ), | 2 |}
          | 2 |             0   3   | 2 |
          0 => {ideal 1, 0}
HashTable{| -1 | => {ideal 1, | 4 |}       }
          | 1  |              | 1 |
                                 2
          | -2 | => {ideal (x , x ), | 3 |}
          | 2  |             0   3   | 2 |
          | 1  | => {ideal 1, | 1 |}
          | -1 |              | 4 |
                             2
          | 2  | => {ideal (x , x ), | 2 |}
          | -2 |             0   3   | 3 |
          0 => {ideal 1, 0}
HashTable{| -1 | => {ideal 1, | 5 |}       }
          | 1  |              | 1 |
                                 3
          | -2 | => {ideal (x , x ), | 4 |}
          | 2  |             0   3   | 2 |
          | 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 |
          0 => {ideal 1, 0}
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 |
          | 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 |
          0 => {ideal 1, 0}
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 |
          | 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 |
          0 => {ideal 1, 0}
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 |
          | 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 |
          0 => {ideal 1, 0}
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 |
          | 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 |
          0 => {ideal 1, 0}

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}}
                | 1 |             0 5   3
                | 0 |
                                  2
                0 => {ideal (x , x x ), -1}
                              3   0 5

o28 : HashTable

Ways to use decomposeMonomialAlgebra :