# RingMap Complex -- apply a ring map

## Synopsis

• Operator: SPACE
• Usage:
phi C
• Inputs:
• phi, , whose source is a ring $R$, and whose target is a ring $S$
• C, , over the ring $R$
• Outputs:
• , over the ring $S$

## 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).