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 : C = tailMF m
2 2 2
o4 = S <-- S <-- S
0 1 0
o4 : ZZdFactorization
|
i5 : D = tailMF (m^2)
3 3 3
o5 = S <-- S <-- S
0 1 0
o5 : ZZdFactorization
|
i6 : f = randomFactorizationMap(C,D)
2 3
o6 = 0 : S <------------------------------------- S : 0
{2} | 24a-36b -29a+19b -10a-29b |
{3} | -30 19 -8 |
2 3
1 : S <-------------------------------------- S : 1
{4} | -22a-29b -16a+39b 19a-47b |
{4} | -24a-38b 21a+34b -39a-18b |
o6 : ZZdFactorizationMap
|
i7 : E = (dual C)
2 2 2
o7 = S <-- S <-- S
0 1 0
o7 : ZZdFactorization
|
i8 : F = (dual D)
3 3 3
o8 = S <-- S <-- S
0 1 0
o8 : ZZdFactorization
|
i9 : g = randomFactorizationMap(F,E)
3 2
o9 = 0 : S <------------------------ S : 0
{-3} | -13a-43b 2 |
{-3} | -15a-28b 16 |
{-3} | -47a+38b 22 |
3 2
1 : S <----------------------------- S : 1
{-5} | 45a-34b -16a+7b |
{-5} | -48a-47b 15a-23b |
{-5} | 47a+19b 39a+43b |
o9 : ZZdFactorizationMap
|
i10 : h = f ** g
12 12
o10 = 0 : S <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- S : 0
{-1} | -9a2+42ab+33b2 48a+29b -27a2-10ab-9b2 43a+38b 29a2-ab+35b2 -20a+43b 0 0 0 0 0 0 |
{-1} | 44a2-31ab-2b2 -20a+30b 31a2+22ab-27b2 41a+b 49a2+8ab+4b2 42a+41b 0 0 0 0 0 0 |
{-1} | -17a2-22ab+46b2 23a+16b 50a2+25ab+15b2 -32a+14b -35a2-27ab+9b2 -18a-32b 0 0 0 0 0 0 |
{0} | -14a-23b 41 -45a-9b 38 3a+41b -16 0 0 0 0 0 0 |
{0} | 46a+32b 25 18a-27b 1 19a+22b -27 0 0 0 0 0 0 |
{0} | -4a-29b 47 16a+15b 14 -28a-b 26 0 0 0 0 0 0 |
{-1} | 0 0 0 0 0 0 20a2+49ab-24b2 49a2+7ab-b2 -13a2-24ab-13b2 -47a2-29ab-30b2 47a2-34ab-18b2 -a2-24ab-26b2 |
{-1} | 0 0 0 0 0 0 46a2+2ab+50b2 -27a2-30ab-40b2 -40a2-9ab-15b2 -38a2+44ab+12b2 -3a2+50ab-13b2 -18a2-31ab-30b2 |
{-1} | 0 0 0 0 0 0 -24a2+37ab-46b2 -50a2+44ab-35b2 -45a2+14ab+34b2 -18a2+25ab-40b2 -16a2-30ab+16b2 34a2-6ab-b2 |
{-1} | 0 0 0 0 0 0 31a2+15ab-21b2 -20a2+36ab+37b2 36a2+8ab-45b2 -33a2+7ab+36b2 -38a2+11ab+6b2 18a2+15ab-25b2 |
{-1} | 0 0 0 0 0 0 41a2+23ab-32b2 44a2-18ab-35b2 2a2+7ab+18b2 12a2+27ab+26b2 -47a2-30ab+38b2 21a2+21ab+10b2 |
{-1} | 0 0 0 0 0 0 -17a2-20ab-15b2 -27a2+11ab-18b2 -23a2-23ab+40b2 11a2+7ab+48b2 -15a2+29ab-39b2 -6a2+45ab+34b2 |
12 12
1 : S <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- S : 1
{-3} | -31a2-12ab+12b2 20a2+37ab-50b2 8a2+23ab-40b2 -41a2-2ab+32b2 -46a2+45ab-24b2 -42a2-10ab-b2 0 0 0 0 0 0 |
{-3} | -41a2-6ab-25b2 -44a2+19ab+20b2 -22a2+47ab+16b2 -31a2+43ab-33b2 -25a2+44ab+50b2 -49a2-3ab-40b2 0 0 0 0 0 0 |
{-3} | 17a2-24ab+23b2 27a2+32ab-33b2 -50a2+39ab-43b2 -20a2-ab+9b2 35a2-38ab-46b2 14a2-46ab-35b2 0 0 0 0 0 0 |
{-2} | -37a+10b -25a-8b 47a-40b -a+32b 44a-31b 27a+45b 0 0 0 0 0 0 |
{-2} | 26a-4b -46a-17b -3a+16b -18a-33b -20a-28b -19a-18b 0 0 0 0 0 0 |
{-2} | 4a+36b 42a+23b -16a-43b 34a+9b 28a+50b -9a-41b 0 0 0 0 0 0 |
{1} | 0 0 0 0 0 0 -17a2+10ab+35b2 -44a+43b 6a2-21ab+40b2 -32a-23b -45a2-4ab+b2 38a+7b |
{1} | 0 0 0 0 0 0 27a2+41ab+4b2 -49a+41b 38a2-36ab+19b2 47a+18b 18a2-29ab+3b2 a-45b |
{1} | 0 0 0 0 0 0 24a2+22ab+9b2 21a-32b 45a2-17ab-33b2 -49a+50b 16a2+2ab+32b2 14a-24b |
{1} | 0 0 0 0 0 0 9a2+11ab+18b2 -48a+25b 30a2-32ab-48b2 42a-33b 2a2-8ab-34b2 23a-36b |
{1} | 0 0 0 0 0 0 -44a2+30ab-47b2 20a-2b -12a2+13ab-43b2 33a+39b -21a2+49ab-b2 -18a+15b |
{1} | 0 0 0 0 0 0 17a2-35ab-30b2 -23a-28b 23a2+8ab-21b2 -43a+41b 15a2-30ab+23b2 -50a+8b |
o10 : ZZdFactorizationMap
|
i11 : assert isWellDefined h
|
i12 : assert(source h === D ** E)
|
i13 : assert(target h === C ** F)
|