next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: RingMap Complex

RingMap Complex -- apply a ring map

Synopsis

Description

We illustrate the image of a complex under a ring map.

i1 : R = QQ[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : S = QQ[s,t]

o2 = S

o2 : PolynomialRing
i3 : phi = map(S, R, {s, s+t, t})

o3 = map (S, R, {s, s + t, t})

o3 : RingMap S <--- R
i4 : I = ideal(x^3, x^2*y, x*y^4, y*z^5)

             3   2      4     5
o4 = ideal (x , x y, x*y , y*z )

o4 : Ideal of R
i5 : C = freeResolution I

      1      4      4      1
o5 = R  <-- R  <-- R  <-- R
                           
     0      1      2      3

o5 : Complex
i6 : D = phi C

      1      4      4      1
o6 = S  <-- S  <-- S  <-- S
                           
     0      1      2      3

o6 : Complex
i7 : isWellDefined D

o7 = true
i8 : dd^D

          1                                                    4
o8 = 0 : S  <------------------------------------------------ S  : 1
               | s3 s3+s2t s5+4s4t+6s3t2+4s2t3+st4 st5+t6 |

          4                                                           4
     1 : S  <------------------------------------------------------- S  : 2
               {3} | -s-t 0                0   0                 |
               {3} | s    -s3-3s2t-3st2-t3 -t5 0                 |
               {5} | 0    s                0   -t5               |
               {6} | 0    0                s2  s4+3s3t+3s2t2+st3 |

          4                                 1
     2 : S  <----------------------------- S  : 3
               {4}  | 0                |
               {6}  | t5               |
               {8}  | -s3-3s2t-3st2-t3 |
               {10} | s                |

o8 : ComplexMap
i9 : prune HH D

o9 = cokernel | s2t s3 st4 t6 | <-- cokernel {7} | s t3 |
                                     
     0                              1

o9 : Complex

When the ring map doesn't preserve homogeneity, the DegreeMap option is needed to determine the degrees of the image free modules in the complex.

i10 : R = ZZ/101[a..d]

o10 = R

o10 : PolynomialRing
i11 : S = ZZ/101[s,t]

o11 = S

o11 : PolynomialRing
i12 : phi = map(S, R, {s^4, s^3*t, s*t^3, t^4}, DegreeMap => i -> 4*i)

                   4   3      3   4
o12 = map (S, R, {s , s t, s*t , t })

o12 : RingMap S <--- R
i13 : C = freeResolution coker vars R

       1      4      6      4      1
o13 = R  <-- R  <-- R  <-- R  <-- R
                                   
      0      1      2      3      4

o13 : Complex
i14 : D = phi C

       1      4      6      4      1
o14 = S  <-- S  <-- S  <-- S  <-- S
                                   
      0      1      2      3      4

o14 : Complex
i15 : assert isWellDefined D
i16 : assert isHomogeneous D
i17 : prune HH D

o17 = cokernel | t4 st3 s3t s4 | <-- cokernel {5} | s3 0  t3 0   0  st2 | <-- cokernel {10} | s2 0 0 t2 |
                                              {5} | 0  t3 s3 s2t 0  0   |              {11} | t  s 0 0  |
      0                                       {6} | 0  0  0  t2  st s2  |              {11} | 0  0 t s  |
                                                                               
                                     1                                        2

o17 : Complex

Caveat

Every term in the complex must be free or a submodule of a free module. Otherwise, use tensor(RingMap,Complex).

See also