-- -*- M2-comint -*- hash: 11966876543960574538

i1 : R = ZZ/101[x,y,z]

o1 = R

o1 : PolynomialRing

i2 : f = matrix{{x^2*y+1,x+y-2,2*x*y}}

o2 = | x2y+1 x+y-2 2xy |

             1      3
o2 : Matrix R  <-- R

i3 : isUnimodular f

o3 = true

i4 : P1 = coker transpose f -- Construct the cokernel of the transpose of f.

o4 = cokernel {-3} | x2y+1 |
              {-1} | x+y-2 |
              {-2} | 2xy   |

                            3
o4 : R-module, quotient of R

i5 : isProjective P1

o5 = true

i6 : rank P1

o6 = 2

i7 : phi1 = qsIsomorphism P1

o7 = {-3} | 50x 0 |
     {-1} | 0   1 |
     {-2} | -1  0 |

                    2
o7 : Matrix P1 <-- R

i8 : isIsomorphism phi1

o8 = true

i9 : image phi1 == P1

o9 = true

i10 : P2 = ker f -- Construct the kernel of f.

o10 = image {3} | 0         x+y-2             y2-2y           |
            {1} | xy        -x2y-xy2+2xy-1    -xy3+2xy2-y     |
            {2} | 50x+50y+1 -50xy-50y2-x-2y+2 -50y3-2y2+2y-50 |

                              3
o10 : R-module, submodule of R

i11 : isProjective P2

o11 = true

i12 : rank P2

o12 = 2

i13 : phi2 = qsIsomorphism P2

o13 = {3} | 0 0 |
      {4} | 1 0 |
      {5} | 0 1 |

                     2
o13 : Matrix P2 <-- R

i14 : isIsomorphism phi2

o14 = true

i15 : image phi2 == P2

o15 = true

i16 : P3 = image f -- Construct the image of f.

o16 = image | x2y+1 x+y-2 2xy |

                              1
o16 : R-module, submodule of R

i17 : isProjective P3

o17 = true

i18 : rank P3

o18 = 1

i19 : phi3 = qsIsomorphism P3

o19 = {3} | -1   |
      {1} | 0    |
      {2} | -50x |

                     1
o19 : Matrix P3 <-- R

i20 : isIsomorphism phi3

o20 = true

i21 : image phi3 == P3

o21 = true

i22 : P4 = coimage f -- Construct the coimage of f.

o22 = cokernel {3} | 0         x+y-2             y2-2y           |
               {1} | xy        -x2y-xy2+2xy-1    -xy3+2xy2-y     |
               {2} | 50x+50y+1 -50xy-50y2-x-2y+2 -50y3-2y2+2y-50 |

                             3
o22 : R-module, quotient of R

i23 : isProjective P4

o23 = true

i24 : rank P4

o24 = 1

i25 : phi4 = qsIsomorphism P4

o25 = {3} | -1   |
      {1} | 0    |
      {2} | -50x |

                     1
o25 : Matrix P4 <-- R

i26 : isIsomorphism phi4

o26 = true

i27 : image phi4 == P4

o27 = true

i28 : 
