liftToDGMap -- Lift a ring homomorphism in degree zero to a DG algebra morphism

Synopsis

• Usage:
phiTilde = liftToDGMap(B,A,phi)
• Inputs:
• B, an instance of the type DGAlgebra, Target
• A, an instance of the type DGAlgebra, Source
• phi, , Map from A in degree zero to B in degree zero
• Optional inputs:
• EndDegree => ..., default value -1
• Outputs:
• phiTilde, an instance of the type DGAlgebraMap, DGAlgebraMap lifting phi to a map of DGAlgebras.

Description

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

Ways to use liftToDGMap :

• "liftToDGMap(DGAlgebra,DGAlgebra,RingMap)"

For the programmer

The object liftToDGMap is .