# decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra

## Synopsis

• Usage:
decomposeMonomialAlgebra f
decomposeMonomialAlgebra R
decomposeMonomialAlgebra B
decomposeMonomialAlgebra(B,A)
decomposeMonomialAlgebra M
• Inputs:
• f, , between multigraded polynomial rings, or
• R, , multigraded, with B = degrees R and K = coefficientRing R, or
• B, a list, In the case B is specified, K is set via the Option CoefficientField. If a list of positive integers is given, the function uses adjoinPurePowers and homogenizeSemigroup to convert it into a list of elements of \mathbb{N}^2.
• A, a list, of elements of B, such that K[B] is finite as a K[A]-module. If A is specified, the function chooses the canonical map f from the A-graded to the B-graded polynomial ring.
• M, ,
• Optional inputs:
• CoefficientField => ..., default value ZZ/101, Option to set the coefficient field.
• ReturnMingens => ..., default value false, Option to return the minimal generating set B_A of K[B] as K[A]-module.
• Verbose => ..., default value 0, Option to print intermediate results.
• Outputs:
• , with the following data: Let B be the degree monoid of the target of f and analogously A for the source. The keys are representatives of congruence classes in G(B) / G(A). The value associated to a key k is a tuple whose first component is an ideal of K[A] isomorphic to the K[A]-submodule of K[B] consisting of elements in the class k, and whose second component is an element of G(B) that is the translation vector between the weights of the generators of the ideal and those of the submodule of K[B].

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

 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

## Ways to use decomposeMonomialAlgebra :

• "decomposeMonomialAlgebra(List)"
• "decomposeMonomialAlgebra(List,List)"
• "decomposeMonomialAlgebra(MonomialAlgebra)"
• "decomposeMonomialAlgebra(PolynomialRing)"
• "decomposeMonomialAlgebra(RingMap)"

## For the programmer

The object decomposeMonomialAlgebra is .