The module $\operatorname{Ext}^d_R(M,N)$ is constructed from a free resolution $F$ of $M$, \[ 0 \leftarrow M \leftarrow F_0 \leftarrow F_1 \leftarrow \dots \leftarrow F_d \leftarrow \ldots, \] by taking the homology of the complex $\operatorname{Hom}_R(F, N)$. An element of $\operatorname{Ext}^d_R(M,N)$ is represented by an element of $\operatorname{Hom}_R(F_d, N)$. This map extends to a map of degree $-d$ from $F$ to the free resolution of $N$.
i1 : S = ZZ/101[a..d]
o1 = S
o1 : PolynomialRing
|
i2 : I = ideal"a2,ab,ac,b3"
2 3
o2 = ideal (a , a*b, a*c, b )
o2 : Ideal of S
|
i3 : E = Ext^1(I, S^1/I)
o3 = subquotient ({-3} | 0 a b 0 0 0 0 0 |, {-3} | -b a 0 0 0 0 0 ac ab a2 0 0 0 0 0 0 0 b3 0 0 |)
{-3} | 0 0 c a 0 0 0 b2 | {-3} | -c 0 a 0 0 0 0 0 0 0 ac ab a2 0 0 0 0 0 b3 0 |
{-3} | 0 0 0 0 c b a 0 | {-3} | 0 -c b 0 0 0 0 0 0 0 0 0 0 ac ab a2 0 0 0 b3 |
{-4} | 1 0 0 0 0 0 0 0 | {-4} | 0 b2 0 -a ac ab a2 0 0 0 0 0 0 0 0 0 b3 0 0 0 |
4
o3 : S-module, subquotient of S
|
i4 : B = basis(0, E)
o4 = {-4} | bc3 bc2d bcd2 bd3 c4 c3d c2d2 cd3 d4 0 0 0 0 0 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 d2 0 0 0 0 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 0 d2 0 0 0 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 0 0 c2 cd d2 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
{-2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d2 0 |
{-1} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d |
16
o4 : Matrix E <-- S
|
i5 : f = B * random(S^16, S^1)
o5 = {-4} | 24bc3+19c4-36bc2d+19c3d-30bcd2-10c2d2-29bd3-29cd3-8d4 |
{-2} | -22d2 |
{-2} | 0 |
{-2} | -29d2 |
{-2} | -24c2-38cd-16d2 |
{-2} | 0 |
{-2} | 39d2 |
{-1} | 21d |
1
o5 : Matrix E <-- S
|
i6 : g = yonedaMap f
1 4
o6 = 0 : S <-------------------------------------------------------------------------------------------------------- S : 1
| -22ad2 21b2d-29ad2 -24c3-38c2d+39ad2-16cd2 24bc3+19c4-36bc2d+19c3d-30bcd2-10c2d2-29bd3-29cd3-8d4 |
4 1
1 : S <-------------------------- S : 2
{2} | -39d2 |
{2} | -29d2 |
{2} | 24c2+38cd+38d2 |
{3} | 21d |
o6 : ComplexMap
|
i7 : assert isWellDefined g
|
i8 : assert(degree g === -1)
|
i9 : assert isCommutative g
|
i10 : assert isHomogeneous g
|
i11 : source g -- free resolution of I
4 4 1
o11 = S <-- S <-- S
0 1 2
o11 : Complex
|
i12 : target g -- free resolution of S/I
1 4 4 1
o12 = S <-- S <-- S <-- S
0 1 2 3
o12 : Complex
|
i13 : assert(yonedaMap' g == f)
|
i14 : R = ZZ/101[x,y,z]/(y^2*z-x*(x-z)*(x-2*z));
|
i15 : M = image vars R
o15 = image | x y z |
1
o15 : R-module, submodule of R
|
i16 : prune Ext^3(M, M)
o16 = cokernel {-4} | z y x 0 0 0 0 0 0 0 0 0 |
{-4} | 0 0 0 z y x 0 0 0 0 0 0 |
{-4} | 0 0 0 0 0 0 z y x 0 0 0 |
{-3} | 0 0 0 0 0 0 0 0 0 z y x |
4
o16 : R-module, quotient of R
|
i17 : B = basis(-4, Ext^3(M, M))
o17 = {-4} | 0 0 0 |
{-4} | 0 0 0 |
{-4} | 1 0 0 |
{-4} | 0 0 0 |
{-4} | 0 1 0 |
{-4} | 0 0 1 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
{-3} | 0 0 0 |
o17 : Matrix
|
i18 : f = B_{2}
o18 = {-4} | 0 |
{-4} | 0 |
{-4} | 0 |
{-4} | 0 |
{-4} | 0 |
{-4} | 1 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
{-3} | 0 |
o18 : Matrix
|
i19 : g = yonedaMap(f, LengthLimit => 8)
3 4
o19 = 0 : R <------------------- R : 3
{1} | 0 0 1 0 |
{1} | 1 0 0 0 |
{1} | 0 0 0 0 |
4 4
1 : R <-------------------- R : 4
{2} | 1 0 0 0 |
{2} | 0 0 0 0 |
{2} | 0 0 0 0 |
{3} | 0 0 -1 0 |
4 4
2 : R <------------------- R : 5
{3} | 0 0 0 0 |
{4} | 1 0 0 0 |
{4} | 0 0 0 0 |
{4} | 0 0 1 0 |
4 4
3 : R <-------------------- R : 6
{5} | 0 0 0 0 |
{5} | 1 0 0 0 |
{5} | 0 0 0 0 |
{6} | 0 0 -1 0 |
4 4
4 : R <------------------- R : 7
{6} | 0 0 0 0 |
{7} | 1 0 0 0 |
{7} | 0 0 0 0 |
{7} | 0 0 1 0 |
4 4
5 : R <-------------------- R : 8
{8} | 0 0 0 0 |
{8} | 1 0 0 0 |
{8} | 0 0 0 0 |
{9} | 0 0 -1 0 |
o19 : ComplexMap
|
i20 : assert isHomogeneous g
|
i21 : assert isWellDefined g
|
i22 : assert isCommutative g
|
i23 : assert(degree g === -3)
|
i24 : assert(yonedaMap' g == map(target f, R^1, f, Degree => -4))
|
i25 : assert(isHomogeneous yonedaMap' g)
|