The direct sum of two ZZ/d-graded factorization maps is a a ZZ/d-graded factorization map from the direct sum of the sources to the direct sum of the targets.
First, we define some non-trivial maps of ZZ/d-graded factorizations.
i1 : S = ZZ/101[a,b];
|
i2 : R = S/(a^3+b^3);
|
i3 : m = ideal vars R
o3 = ideal (a, b)
o3 : Ideal of R
|
i4 : use S;
|
i5 : C1 = tailMF m
2 2 2
o5 = S <-- S <-- S
0 1 0
o5 : ZZdFactorization
|
i6 : C2 = randomTailMF(a^3+b^3, 3, 5, 2)
5 5 5
o6 = S <-- S <-- S
0 1 0
o6 : ZZdFactorization
|
i7 : D1 = randomTailMF(a^3+b^3, 2, 4, 2)
4 4 4
o7 = S <-- S <-- S
0 1 0
o7 : ZZdFactorization
|
i8 : D2 = tailMF (m^2)
3 3 3
o8 = S <-- S <-- S
0 1 0
o8 : ZZdFactorization
|
i9 : f = randomFactorizationMap(D1, C1, Cycle => true)
4 2
o9 = 0 : S <---------------------------------------------- S : 0
| 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 |
| 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 |
| -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 |
| -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 |
4 2
1 : S <-------------------------------------------------------- S : 1
{1} | -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 |
{1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 |
{2} | 2a2+29ab-47b2 32a2-9ab-32b2 |
{2} | -10a2+30ab-18b2 -20a2+24ab-30b2 |
o9 : ZZdFactorizationMap
|
i10 : g = randomFactorizationMap(D2, C2, Cycle => true, InternalDegree => 4)
3 5
o10 = 0 : S <---------------------------------------------------- S : 0
{3} | 46a-4b -41a-9b 6a 43a+b 3a+12b |
{3} | 10a+10b -7a-11b -8a+38b -21a+b 39a+29b |
{3} | -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b |
3 5
1 : S <------------------------------------------------- S : 1
{5} | 36 -9a+12b 20a-39b 21a+23b -41a-25b |
{5} | 44 -45a+47b 41a-7b 32a+41b -33a-19b |
{5} | -39 -3a-33b 21a-15b 39a+7b 17a-20b |
o10 : ZZdFactorizationMap
|
i14 : directSum(f, g, f[2])
11 9
o14 = 0 : S <---------------------------------------------------------------------------------------------------------------------------------- S : 0
{0} | 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 0 0 0 0 0 0 0 |
{0} | 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 0 0 0 0 0 0 0 |
{0} | -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 0 0 0 0 0 0 0 |
{0} | -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 0 0 0 0 0 0 0 |
{3} | 0 0 46a-4b -41a-9b 6a 43a+b 3a+12b 0 0 |
{3} | 0 0 10a+10b -7a-11b -8a+38b -21a+b 39a+29b 0 0 |
{3} | 0 0 -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b 0 0 |
{0} | 0 0 0 0 0 0 0 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 |
{0} | 0 0 0 0 0 0 0 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 |
{0} | 0 0 0 0 0 0 0 -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 |
{0} | 0 0 0 0 0 0 0 -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 |
11 9
1 : S <------------------------------------------------------------------------------------------------------------------------------------------- S : 1
{1} | -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 0 0 0 0 0 0 0 |
{1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 0 0 0 0 0 0 0 |
{2} | 2a2+29ab-47b2 32a2-9ab-32b2 0 0 0 0 0 0 0 |
{2} | -10a2+30ab-18b2 -20a2+24ab-30b2 0 0 0 0 0 0 0 |
{5} | 0 0 36 -9a+12b 20a-39b 21a+23b -41a-25b 0 0 |
{5} | 0 0 44 -45a+47b 41a-7b 32a+41b -33a-19b 0 0 |
{5} | 0 0 -39 -3a-33b 21a-15b 39a+7b 17a-20b 0 0 |
{1} | 0 0 0 0 0 0 0 -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 |
{1} | 0 0 0 0 0 0 0 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 |
{2} | 0 0 0 0 0 0 0 2a2+29ab-47b2 32a2-9ab-32b2 |
{2} | 0 0 0 0 0 0 0 -10a2+30ab-18b2 -20a2+24ab-30b2 |
o14 : ZZdFactorizationMap
|
i15 : h2 = directSum(peanut => f, butter => g, jelly => f[2])
11 9
o15 = 0 : S <---------------------------------------------------------------------------------------------------------------------------------- S : 0
{0} | 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 0 0 0 0 0 0 0 |
{0} | 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 0 0 0 0 0 0 0 |
{0} | -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 0 0 0 0 0 0 0 |
{0} | -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 0 0 0 0 0 0 0 |
{3} | 0 0 46a-4b -41a-9b 6a 43a+b 3a+12b 0 0 |
{3} | 0 0 10a+10b -7a-11b -8a+38b -21a+b 39a+29b 0 0 |
{3} | 0 0 -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b 0 0 |
{0} | 0 0 0 0 0 0 0 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 |
{0} | 0 0 0 0 0 0 0 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 |
{0} | 0 0 0 0 0 0 0 -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 |
{0} | 0 0 0 0 0 0 0 -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 |
11 9
1 : S <------------------------------------------------------------------------------------------------------------------------------------------- S : 1
{1} | -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 0 0 0 0 0 0 0 |
{1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 0 0 0 0 0 0 0 |
{2} | 2a2+29ab-47b2 32a2-9ab-32b2 0 0 0 0 0 0 0 |
{2} | -10a2+30ab-18b2 -20a2+24ab-30b2 0 0 0 0 0 0 0 |
{5} | 0 0 36 -9a+12b 20a-39b 21a+23b -41a-25b 0 0 |
{5} | 0 0 44 -45a+47b 41a-7b 32a+41b -33a-19b 0 0 |
{5} | 0 0 -39 -3a-33b 21a-15b 39a+7b 17a-20b 0 0 |
{1} | 0 0 0 0 0 0 0 -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 |
{1} | 0 0 0 0 0 0 0 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 |
{2} | 0 0 0 0 0 0 0 2a2+29ab-47b2 32a2-9ab-32b2 |
{2} | 0 0 0 0 0 0 0 -10a2+30ab-18b2 -20a2+24ab-30b2 |
o15 : ZZdFactorizationMap
|
i16 : h2_[butter,jelly]
11 7
o16 = 0 : S <------------------------------------------------------------------------------------------- S : 0
{0} | 0 0 0 0 0 0 0 |
{0} | 0 0 0 0 0 0 0 |
{0} | 0 0 0 0 0 0 0 |
{0} | 0 0 0 0 0 0 0 |
{3} | 46a-4b -41a-9b 6a 43a+b 3a+12b 0 0 |
{3} | 10a+10b -7a-11b -8a+38b -21a+b 39a+29b 0 0 |
{3} | -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b 0 0 |
{0} | 0 0 0 0 0 21a2-6ab+32b2 15a3-35a2b+16ab2-47b3 |
{0} | 0 0 0 0 0 2a2-24ab-32b2 32a3-24a2b+5ab2+13b3 |
{0} | 0 0 0 0 0 -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3 |
{0} | 0 0 0 0 0 -10a2-9ab-18b2 -20a3-15a2b+44ab2+22b3 |
11 7
1 : S <---------------------------------------------------------------------------------------------- S : 1
{1} | 0 0 0 0 0 0 0 |
{1} | 0 0 0 0 0 0 0 |
{2} | 0 0 0 0 0 0 0 |
{2} | 0 0 0 0 0 0 0 |
{5} | 36 -9a+12b 20a-39b 21a+23b -41a-25b 0 0 |
{5} | 44 -45a+47b 41a-7b 32a+41b -33a-19b 0 0 |
{5} | -39 -3a-33b 21a-15b 39a+7b 17a-20b 0 0 |
{1} | 0 0 0 0 0 -21a3-9a2b+5ab2+13b3 -15a3+35a2b+37ab2+32b3 |
{1} | 0 0 0 0 0 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 |
{2} | 0 0 0 0 0 2a2+29ab-47b2 32a2-9ab-32b2 |
{2} | 0 0 0 0 0 -10a2+30ab-18b2 -20a2+24ab-30b2 |
o16 : ZZdFactorizationMap
|
i17 : assert(source oo == C2 ++ C1[2])
|