The function tailMF takes a module $M$ over a hypersurface ring $R = S/(f)$ and generates a ZZdFactorization. This involves computing a resolution of $M$ over the hypersurface $R$, taking a high truncation of this resolution, lifting it to the ambient ring $S$, then finding a nullhomotopy for multiplication by $f$.
i1 : S = ZZ/101[a,b,c];
|
i2 : R = S/(a^3+b^3+c^3);
|
i3 : m = ideal vars R;
o3 : Ideal of R
|
i4 : C1 = tailMF m
4 4 4
o4 = S <-- S <-- S
0 1 0
o4 : ZZdFactorization
|
i5 : C1.dd
4 4
o5 = 1 : S <------------------------ S : 0
{5} | -a -c2 b2 0 |
{5} | -c a2 0 b2 |
{5} | b 0 a2 c2 |
{6} | 0 -b -c a |
4 4
0 : S <-------------------------- S : 1
{3} | -a2 -c2 b2 0 |
{4} | -c a 0 -b2 |
{4} | b 0 a -c2 |
{4} | 0 b c a2 |
o5 : ZZdFactorizationMap
|
i6 : assert isWellDefined C1
|
i7 : C1.dd^2
4 4
o7 = 0 : S <----------------------------------------------- S : 0
{3} | a3+b3+c3 0 0 0 |
{4} | 0 a3+b3+c3 0 0 |
{4} | 0 0 a3+b3+c3 0 |
{4} | 0 0 0 a3+b3+c3 |
4 4
1 : S <----------------------------------------------- S : 1
{5} | a3+b3+c3 0 0 0 |
{5} | 0 a3+b3+c3 0 0 |
{5} | 0 0 a3+b3+c3 0 |
{6} | 0 0 0 a3+b3+c3 |
o7 : ZZdFactorizationMap
|
i8 : C2 = tailMF m^2
9 9 9
o8 = S <-- S <-- S
0 1 0
o8 : ZZdFactorization
|
i9 : C2.dd
9 9
o9 = 1 : S <------------------------------------------- S : 0
{6} | -a 0 c 0 b2 0 0 0 0 |
{6} | 0 -a 0 0 0 -c2 b2 0 bc |
{6} | 0 0 0 -ab -ac -b2 -bc a2 -c2 |
{6} | 0 0 -a -ac 0 -bc -c2 0 b2 |
{6} | -c 0 0 a2 0 ab ac b2 0 |
{6} | b 0 0 0 a2 0 0 c2 ac |
{6} | 0 -c 0 -b2 -bc a2 0 ab 0 |
{6} | 0 b -c -c2 0 0 a2 0 0 |
{6} | 0 0 b 0 -c2 0 0 ac a2 |
9 9
0 : S <------------------------------------------- S : 1
{4} | -a2 0 0 -ac -c2 b2 0 0 0 |
{4} | 0 -a2 0 0 0 0 -c2 b2 bc |
{4} | c2 0 0 -a2 -ac 0 0 0 b2 |
{5} | -c 0 0 0 a 0 -b -c 0 |
{5} | b 0 0 0 0 a 0 0 -c |
{5} | 0 -c -b 0 0 0 a 0 0 |
{5} | 0 b 0 -c 0 0 0 a 0 |
{5} | 0 0 a 0 b c 0 0 0 |
{5} | 0 0 -c b 0 0 0 0 a |
o9 : ZZdFactorizationMap
|
i10 : C2.dd^2
9 9
o10 = 0 : S <-------------------------------------------------------------------------------------------- S : 0
{4} | a3+b3+c3 0 0 0 0 0 0 0 0 |
{4} | 0 a3+b3+c3 0 0 0 0 0 0 0 |
{4} | 0 0 a3+b3+c3 0 0 0 0 0 0 |
{5} | 0 0 0 a3+b3+c3 0 0 0 0 0 |
{5} | 0 0 0 0 a3+b3+c3 0 0 0 0 |
{5} | 0 0 0 0 0 a3+b3+c3 0 0 0 |
{5} | 0 0 0 0 0 0 a3+b3+c3 0 0 |
{5} | 0 0 0 0 0 0 0 a3+b3+c3 0 |
{5} | 0 0 0 0 0 0 0 0 a3+b3+c3 |
9 9
1 : S <-------------------------------------------------------------------------------------------- S : 1
{6} | a3+b3+c3 0 0 0 0 0 0 0 0 |
{6} | 0 a3+b3+c3 0 0 0 0 0 0 0 |
{6} | 0 0 a3+b3+c3 0 0 0 0 0 0 |
{6} | 0 0 0 a3+b3+c3 0 0 0 0 0 |
{6} | 0 0 0 0 a3+b3+c3 0 0 0 0 |
{6} | 0 0 0 0 0 a3+b3+c3 0 0 0 |
{6} | 0 0 0 0 0 0 a3+b3+c3 0 0 |
{6} | 0 0 0 0 0 0 0 a3+b3+c3 0 |
{6} | 0 0 0 0 0 0 0 0 a3+b3+c3 |
o10 : ZZdFactorizationMap
|