next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: connectingTorMap(Module,Matrix,Matrix)

connectingTorMap(Module,Matrix,Matrix) -- makes the connecting maps in Tor

Synopsis

Description

Since Tor is a bifunctor, there are two different connecting maps. The first comes from applying the covariant functor $M \otimes_S -$ to a short exact sequence of modules. The second comes from applying the covariant functor $- \otimes_S M$ to a short exact sequence of modules. More explicitly, given the short exact sequence

$\phantom{WWWW} 0 \leftarrow C \xleftarrow{g} B \xleftarrow{f} A \leftarrow 0, $

the $i$-th connecting homomorphism is, in the first case, a map $\operatorname{Tor}^S_i(M, C) \to \operatorname{Tor}^S_{i-1}(M, A)$ and, in the second case, a map $\operatorname{Tor}^S_i(A, M) \to \operatorname{Tor}^S_{i-1}(C, M)$.

As a first example, let $\Bbbk$ be the base field as an $S$-module. Applying the functor $\Bbbk \otimes_S -$ to a short exact sequence of modules

$\phantom{WWWW} 0 \leftarrow S/(I+J) \leftarrow S/I \oplus S/J \leftarrow S/I \cap J \leftarrow 0 $

gives rise to the long exact sequence of Tor modules having the form

$\phantom{WWWW} \dotsb \leftarrow \operatorname{Tor}_{i-1}(\Bbbk, S/(I+J)) \xleftarrow{\delta_{i}} \operatorname{Tor}_i(\Bbbk, S/I \cap J) \leftarrow \operatorname{Tor}_i(\Bbbk, S/I \oplus S/J) \leftarrow \operatorname{Tor}_i(\Bbbk, S/(I+J)) \leftarrow \dotsb. $

i1 : S = ZZ/101[a..d];
i2 : I = ideal(c^3-b*d^2, b*c-a*d)

             3      2
o2 = ideal (c  - b*d , b*c - a*d)

o2 : Ideal of S
i3 : J = ideal(a*c^2-b^2*d, b^3-a^2*c)

               2    2    3    2
o3 = ideal (a*c  - b d, b  - a c)

o3 : Ideal of S
i4 : g = map(S^1/(I+J), S^1/I ++ S^1/J, {{1,1}});

o4 : Matrix
i5 : f = map(S^1/I ++ S^1/J, S^1/intersect(I,J), {{1},{-1}});

o5 : Matrix
i6 : assert isShortExactSequence(g,f)
i7 : kk = coker vars S

o7 = cokernel | a b c d |

                            1
o7 : S-module, quotient of S
i8 : delta = connectingTorMap(kk, g, f)

o8 = 2 : subquotient ({1} | -b 0  -c 0  0  -d bc2-acd c2d  c3   -b2d |, {1} | -b -c 0  -d 0  0  ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        0         0        0         0        |) <----------------------------------------------------- subquotient ({2} | c  d  0  0  bc-ad 0     -d2 cd  bd  0     0   0   d2  c2  c3-bd2 ac2-b2d b3-a2c 0      0    |, {2} | c  d  0  0  c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      |) : 2
                      {1} | a  -c 0  0  -d 0  0       -bd2 -bcd b2c  |  {1} | a  0  -c 0  -d 0  0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        |     {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |                {2} | -b 0  0  d  0     bc-ad c2  -bd -ac 0     -cd d2  0   0   0      0       0      0      0    |  {2} | -b 0  d  0  0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      |
                      {1} | 0  b  a  -d 0  0  0       0    0    0    |  {1} | 0  a  b  0  0  -d 0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        |     {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |                {2} | a  0  d  0  0     0     -bd bc  b2  0     c2  -cd 0   0   0      0       0      c3-bd2 d3   |  {2} | a  0  0  d  0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      0      0     0       0      |
                      {1} | 0  0  0  c  b  a  0       0    0    0    |  {1} | 0  0  0  a  b  c  0         0        0         0        0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d |     {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |                {2} | 0  -b 0  -c 0     0     0   0   0   bc-ad c2  -cd -bd -ac 0      0       0      0      0    |  {2} | 0  -b -c 0  0      0     0       0      0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      |
                                                                                                                                                                                                                                                              {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |                {2} | 0  a  -c 0  0     0     0   0   0   0     -bd c2  bc  b2  0      0       0      0      -cd2 |  {2} | 0  a  0  -c 0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      |
                                                                                                                                                                                                                                                              {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |                {2} | 0  0  b  a  0     0     0   0   0   0     0   0   0   0   0      0       0      0      c3   |  {2} | 0  0  a  b  0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c |
                                                                                                                                                                                                                                                              {2} | 0 0 0 0 0 0 0  0 0  0 0  0 0 0  0 0 0 0 0 |
                                                                                                                                                                                                                                                              {4} | 0 0 0 0 0 0 0  0 0  0 0  0 0 -1 0 0 0 0 0 |
                                                                                                                                                                                                                                                              {4} | 0 0 0 0 0 0 0  0 0  0 -1 0 0 0  0 0 0 0 0 |
                                                                                                                                                                                                                                                              {4} | 0 0 0 0 0 0 -1 0 0  0 0  0 0 0  0 0 0 0 0 |
                                                                                                                                                                                                                                                              {4} | 0 0 0 0 0 0 0  0 -1 0 0  0 0 0  0 0 0 0 0 |

     3 : subquotient ({2} | c  d  0  0  0    c3       ac2d-b2d2 ac3-b2cd b2c2-abcd abc2-a2cd b3c-ab2d 0         0        -bc3+b2d2 0         0        -c3d  -c4   b2cd 0         -bc2d+acd2 0         -c2d2 |, {2} | c  d  0  0  ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        |) <---------------------------------------- subquotient ({3} | -d bc-ad 0     0     -d2 -c2 c3-bd2 ac2-b2d b3-a2c 0      0       0      0      0      |, {3} | -d c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      0      0     0       0      |) : 3
                      {2} | -b 0  0  d  -c2d -bc2+acd 0         0        0         0         0        ac2d-b2d2 ac3-b2cd b2c2-abcd abc2-a2cd b3c-ab2d bc2d  bc3   -b3d 0         0          0         0     |  {2} | -b 0  d  0  0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        |     {3} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |                {3} | c  0     bc-ad 0     cd  bd  0      0       0      c3-bd2 ac2-b2d b3-a2c 0      0      |  {3} | c  0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      0      0     0       0      |
                      {2} | a  0  d  0  bd2  0        0         0        0         0         0        0         0        0         0         0        -b2d2 -b2cd b3c  0         0          0         0     |  {2} | a  0  0  d  0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        0         0        0         0        |     {3} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |                {3} | -b 0     0     bc-ad -bd -ac 0      0       0      0      0       0      c3-bd2 0      |  {3} | -b 0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c 0      0     0       0      |
                      {2} | 0  -b 0  -c c3   -b2d     0         0        0         0         0        0         0        0         0         0        0     0     0    ac2d-b2d2 b2c2-abcd  abc2-a2cd bc2d  |  {2} | 0  -b -c 0  0         0        0         0        0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        0         0        0         0        |     {3} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |                {3} | a  0     0     0     bc  b2  0      0       0      0      0       0      0      c3-bd2 |  {3} | a  0      0     0       0      0      0     0       0      0      0     0       0      c3-bd2 bc-ad ac2-b2d b3-a2c |
                      {2} | 0  a  -c 0  -bcd b2c      0         0        0         0         0        0         0        0         0         0        0     0     0    0         0          0         -b2d2 |  {2} | 0  a  0  -c 0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d 0         0        0         0        |     {3} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                      {2} | 0  0  b  a  0    0        0         0        0         0         0        0         0        0         0         0        0     0     0    0         0          0         0     |  {2} | 0  0  a  b  0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        0         0        ac2d-b2d2 ac3-b2cd abc2-a2cd b3c-ab2d |     {5} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {5} | 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           {6} | 0 0 0 0 0 0  0 0 0 0 0 0 0 0 |

o8 : ComplexMap
i9 : assert isWellDefined delta
i10 : assert(source delta_2 == Tor_2(kk, target g))
i11 : assert(target delta_2 == Tor_1(kk, source f))
i12 : prune delta

o12 = 2 : cokernel {4} | d c b a 0 0 0 0 0 0 0 0 0 0 0 0 | <----------------------- cokernel {4} | d c b a 0 0 0 0 0 0 0 0 0 0 0 0 | : 2
                   {4} | 0 0 0 0 d c b a 0 0 0 0 0 0 0 0 |    {4} | 0  0  0  -1 |            {4} | 0 0 0 0 d c b a 0 0 0 0 0 0 0 0 |
                   {4} | 0 0 0 0 0 0 0 0 d c b a 0 0 0 0 |    {4} | 0  0  -1 0  |            {4} | 0 0 0 0 0 0 0 0 d c b a 0 0 0 0 |
                   {4} | 0 0 0 0 0 0 0 0 0 0 0 0 d c b a |    {4} | -1 0  0  0  |            {4} | 0 0 0 0 0 0 0 0 0 0 0 0 d c b a |
                                                              {4} | 0  -1 0  0  |

      3 : cokernel {5} | d c b a 0 0 0 0 0 0 0 0 | <-------------- cokernel {5} | d c b a | : 3
                   {5} | 0 0 0 0 d c b a 0 0 0 0 |    {5} | 0  |
                   {6} | 0 0 0 0 0 0 0 0 d c b a |    {5} | -1 |
                                                      {6} | 0  |

o12 : ComplexMap

The connecting homomorphism fits into a natural long exact sequence in Tor.

i13 : F = freeResolution kk;
i14 : LES = longExactSequence(F ** g, F ** f);
i15 : assert all(3, i -> dd^LES_(3*(i+1)) == delta_(i+1))
i16 : assert(HH LES == 0)

As a second example, applying the functor $- \otimes_S \Bbbk$ to a short exact sequence of modules

$\phantom{WWWW} 0 \leftarrow S/(I+J) \leftarrow S/I \oplus S/J \leftarrow S/I \cap J \leftarrow 0 $

gives rise to the long exact sequence of Tor modules having the form

$\phantom{WWWW} \dotsb \leftarrow \operatorname{Tor}_{i-1}(S/(I+J), \Bbbk) \xleftarrow{\delta_{i}} \operatorname{Tor}_i(S/I \cap J, \Bbbk) \leftarrow \operatorname{Tor}_i(S/I \oplus S/J, \Bbbk) \leftarrow \operatorname{Tor}_i(S/(I+J), \Bbbk) \leftarrow \dotsb. $

i17 : delta' = connectingTorMap(g, f, kk)

o17 = 2 : cokernel {4} | 0 0 0 a b c d 0 0 0 0 0 0 0 0 0 0 0 0 | <--------------------- cokernel {4} | 0 a b c d 0 0 0 0 0 0 0 0 0 0 0 0 | : 2
                   {4} | 0 0 0 0 0 0 0 a b c d 0 0 0 0 0 0 0 0 |    {4} | -1 0  0 0 |            {4} | 0 0 0 0 0 a b c d 0 0 0 0 0 0 0 0 |
                   {4} | 0 0 0 0 0 0 0 0 0 0 0 a b c d 0 0 0 0 |    {4} | 0  -1 0 0 |            {4} | 0 0 0 0 0 0 0 0 0 a b c d 0 0 0 0 |
                   {4} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a b c d |    {4} | 0  0  1 0 |            {4} | 0 0 0 0 0 0 0 0 0 0 0 0 0 a b c d |
                                                                    {4} | 0  0  0 1 |

      3 : cokernel {5} | a b c d 0 0 0 0 0 0 0 0 | <------------- cokernel {5} | a b c d | : 3
                   {5} | 0 0 0 0 a b c d 0 0 0 0 |    {5} | 1 |
                   {6} | 0 0 0 0 0 0 0 0 a b c d |    {5} | 0 |
                                                      {6} | 0 |

o17 : ComplexMap
i18 : assert isWellDefined delta'
i19 : (g',f') = horseshoeResolution(g,f);
i20 : assert isShortExactSequence(g',f')
i21 : LES' = longExactSequence(g' ** kk, f' ** kk);
i22 : assert(HH LES' == 0)
i23 : assert all(3, i -> dd^LES'_(3*(i+1)) == delta'_(i+1))

See also