# Singular

#### D.15.18.29 mappingcone

Usage:

Return:
chain complex (as a list)

Purpose:
construct a free resolution of the cokernel of a random map between Img(M), and Img(N).

Example:
 LIB "gradedModules.lib"; ring r=32003, (x(0..4)),dp; def A=KeneshlouMatrixPresentation(intvec(0,0,0,0,3)); def M=grgens(A); grview(M); ==> Graded homomorphism: r(-1)^3 <- r(-1)^3, given by a diagonal matrix, with\ degrees: ==> ..1 ..2 ..3 .... ==> --- --- --- +... ==> 1 : 0 - - |..1 ==> 1 : - 0 - |..2 ==> 1 : - - 0 |..3 ==> === === === ==> 1 1 1 def B=KeneshlouMatrixPresentation(intvec(0,1,0,0,0)); def N=grgens(B); grview(N); ==> Graded homomorphism: r^5 <- r(-1)^10, given by a matrix, with degrees: ==> ..1 ..2 ..3 ..4 ..5 ..6 ..7 ..8 ..9 .10 .... ==> --- --- --- --- --- --- --- --- --- --- +... ==> 0 : - - - - - - 1 1 1 1 |..1 ==> 0 : 1 1 - 1 - - 1 - - - |..2 ==> 0 : 1 - 1 - 1 - - 1 - - |..3 ==> 0 : - 1 1 - - 1 - - 1 - |..4 ==> 0 : - - - 1 1 1 - - - 1 |..5 ==> === === === === === === === === === === ==> 1 1 1 1 1 1 1 1 1 1 def R=grlifting(M,N); ==> t: 2 grview(R); ==> Graded homomorphism: r(-1)^10 <- r(-1)^3, given by a matrix, with degrees\ : ==> ..1 ..2 ..3 .... ==> --- --- --- +... ==> 1 : 0 0 0 |..1 ==> 1 : 0 0 0 |..2 ==> 1 : 0 0 0 |..3 ==> 1 : 0 0 0 |..4 ==> 1 : 0 0 0 |..5 ==> 1 : 0 0 0 |..6 ==> 1 : 0 0 0 |..7 ==> 1 : 0 0 0 |..8 ==> 1 : 0 0 0 |..9 ==> 1 : 0 0 0 |.10 ==> === === === ==> 1 1 1 def T=mappingcone(M,N); ==> t: 2 grview(T); ==> Graded resolution: ==> r(-1)^10 <-- d_1 -- ==> r(-1)^3 + r(-2)^10, given by maps: ==> d_1 : ==> Graded homomorphism: r(-1)^10 <- r(-1)^3 + r(-2)^10, given by a matrix, w\ ith degrees: ==> ..1 ..2 ..3 ..4 ..5 ..6 ..7 ..8 ..9 .10 .11 .12 .13 .... ==> --- --- --- --- --- --- --- --- --- --- --- --- --- +... ==> 1 : 0 0 0 1 1 - 1 - - - - - - |..1 ==> 1 : 0 0 0 1 - 1 - 1 - - - - - |..2 ==> 1 : 0 0 0 - 1 1 - - 1 - - - - |..3 ==> 1 : 0 0 0 - - - 1 1 1 - - - - |..4 ==> 1 : 0 0 0 1 - - - - - 1 1 - - |..5 ==> 1 : 0 0 0 - 1 - - - - 1 - 1 - |..6 ==> 1 : 0 0 0 - - - 1 - - - 1 1 - |..7 ==> 1 : 0 0 0 - - 1 - - - 1 - - 1 |..8 ==> 1 : 0 0 0 - - - - 1 - - 1 - 1 |..9 ==> 1 : 0 0 0 - - - - - 1 - - 1 1 |.10 ==> === === === === === === === === === === === === === ==> 1 1 1 2 2 2 2 2 2 2 2 2 2 def U=grtranspose(T[1]); resolution G=mres(U,0); print(betti(G),"betti"); ==> 0 1 2 ==> ------------------------ ==> -2: 10 7 - ==> -1: - - - ==> 0: - - 1 ==> ------------------------ ==> total: 10 7 1 ==> ideal I=groebner(flatten(G[2])); resolution GI=mres(I,0); print(betti(GI),"betti"); ==> 0 1 2 3 4 ==> ------------------------------------ ==> 0: 1 - - - - ==> 1: - - - - - ==> 2: - 7 10 5 1 ==> ------------------------------------ ==> total: 1 7 10 5 1 ==>