In order for phiTilde to be defined, phi of the image of the differential of A in degree 1 must lie in the image of the differential of B in degree 1. At present, this condition is not checked.
i1 : R = ZZ/101[a,b,c]/ideal{a^3,b^3,c^3}
o1 = R
o1 : QuotientRing
|
i2 : S = R/ideal{a^2*b^2*c^2}
o2 = S
o2 : QuotientRing
|
i3 : f = map(S,R)
o3 = map (S, R, {a, b, c})
o3 : RingMap S <-- R
|
i4 : A = acyclicClosure(R,EndDegree=>3)
o4 = {Ring => R }
Underlying algebra => R[T ..T ]
1 6
2 2 2
Differential => {a, b, c, a T , b T , c T }
1 2 3
o4 : DGAlgebra
|
i5 : B = acyclicClosure(S,EndDegree=>3)
o5 = {Ring => S }
Underlying algebra => S[T ..T ]
1 16
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Differential => {a, b, c, a T , b T , c T , a*b c T , b c T , -a b T , -a c T , b c T T , -a c T T , b c T T , -a T T , c T T , b T T }
1 2 3 1 4 6 5 3 4 3 5 2 4 1 7 3 7 2 7
o5 : DGAlgebra
|
i6 : phi = liftToDGMap(B,A,f)
o6 = map (S[T ..T ], R[T ..T ], {T , T , T , T , T , T , a, b, c})
1 16 1 6 1 2 3 4 5 6
o6 : DGAlgebraMap
|
i7 : toComplexMap(phi,EndDegree=>3)
1
o7 = 0 : cokernel | a2b2c2 | <--------- R : 0
| 1 |
3
1 : cokernel {1} | a2b2c2 0 0 | <----------------- R : 1
{1} | 0 a2b2c2 0 | {1} | 1 0 0 |
{1} | 0 0 a2b2c2 | {1} | 0 1 0 |
{1} | 0 0 1 |
6
2 : cokernel {2} | a2b2c2 0 0 0 0 0 0 | <----------------------- R : 2
{2} | 0 a2b2c2 0 0 0 0 0 | {2} | 1 0 0 0 0 0 |
{2} | 0 0 a2b2c2 0 0 0 0 | {2} | 0 1 0 0 0 0 |
{3} | 0 0 0 a2b2c2 0 0 0 | {2} | 0 0 1 0 0 0 |
{3} | 0 0 0 0 a2b2c2 0 0 | {3} | 0 0 0 1 0 0 |
{3} | 0 0 0 0 0 a2b2c2 0 | {3} | 0 0 0 0 1 0 |
{6} | 0 0 0 0 0 0 a2b2c2 | {3} | 0 0 0 0 0 1 |
{6} | 0 0 0 0 0 0 |
10
3 : cokernel {3} | a2b2c2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <------------------------------- R : 3
{4} | 0 a2b2c2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {3} | 1 0 0 0 0 0 0 0 0 0 |
{4} | 0 0 a2b2c2 0 0 0 0 0 0 0 0 0 0 0 0 0 | {4} | 0 1 0 0 0 0 0 0 0 0 |
{4} | 0 0 0 a2b2c2 0 0 0 0 0 0 0 0 0 0 0 0 | {4} | 0 0 1 0 0 0 0 0 0 0 |
{4} | 0 0 0 0 a2b2c2 0 0 0 0 0 0 0 0 0 0 0 | {4} | 0 0 0 1 0 0 0 0 0 0 |
{4} | 0 0 0 0 0 a2b2c2 0 0 0 0 0 0 0 0 0 0 | {4} | 0 0 0 0 1 0 0 0 0 0 |
{4} | 0 0 0 0 0 0 a2b2c2 0 0 0 0 0 0 0 0 0 | {4} | 0 0 0 0 0 1 0 0 0 0 |
{4} | 0 0 0 0 0 0 0 a2b2c2 0 0 0 0 0 0 0 0 | {4} | 0 0 0 0 0 0 1 0 0 0 |
{4} | 0 0 0 0 0 0 0 0 a2b2c2 0 0 0 0 0 0 0 | {4} | 0 0 0 0 0 0 0 1 0 0 |
{4} | 0 0 0 0 0 0 0 0 0 a2b2c2 0 0 0 0 0 0 | {4} | 0 0 0 0 0 0 0 0 1 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 a2b2c2 0 0 0 0 0 | {4} | 0 0 0 0 0 0 0 0 0 1 |
{7} | 0 0 0 0 0 0 0 0 0 0 0 a2b2c2 0 0 0 0 | {7} | 0 0 0 0 0 0 0 0 0 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 0 0 a2b2c2 0 0 0 | {7} | 0 0 0 0 0 0 0 0 0 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 0 0 0 a2b2c2 0 0 | {7} | 0 0 0 0 0 0 0 0 0 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a2b2c2 0 | {7} | 0 0 0 0 0 0 0 0 0 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a2b2c2 | {7} | 0 0 0 0 0 0 0 0 0 0 |
{7} | 0 0 0 0 0 0 0 0 0 0 |
o7 : ChainComplexMap
|