Macaulay2 » Documentation
Packages » SimplicialModules :: tensorLES
next | previous | forward | backward | up | index | toc

tensorLES -- computes the long exact sequence of homology induced by the canonical short exact sequence of complexes

Description

This function computes the long exact sequence of homology associated with the canonical short exact sequence of complexes: \( 0 \to \bigwedge^2 C \to C \otimes C \to \operatorname{Sym}^2 C \to 0 \).

This function first computes the exterior inclusion map on the complex C up to degree d using the exteriorInclusion function. Then it constructs the induced map on the cokernel of this exterior inclusion map, which is the surjection to the second symmetric power of C. Finally, it computes the long exact sequence of homology using the longExactSequence function on the pruned maps of the induced maps.

This long exact sequence is only interesting in characteristic 2, since the above sequence is split whenever 2 is a unit, so there are no interesting connecting homomorphisms. Let's see some examples in characteristic 2 of the connecting homomorphisms:

i1 : Q = ZZ/2[a,b]

o1 = Q

o1 : PolynomialRing
i2 : K = koszulComplex vars Q

      1      2      1
o2 = Q  <-- Q  <-- Q
                    
     0      1      2

o2 : Complex
i3 : prune tensorLES(K,4)

o3 = cokernel | b a | <-- cokernel | b a | <-- 0 <-- 0 <-- cokernel {1} | b a 0 0 | <-- cokernel {1} | a 0 b | <-- cokernel {2} | b a | <-- cokernel {2} | b a | <-- cokernel {2} | b a |
                                                                    {1} | 0 0 b a |              {1} | 0 b a |                                                        
     0                    1                    2     3                                                             6                        7                        8
                                                           4                            5

o3 : Complex
i4 : oo.dd_6 --nontrivial connecting homomorphism

o4 = {1} | b |
     {1} | 0 |

o4 : Matrix
i5 : F = freeResolution( (ideal vars Q)^3)

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

o5 : Complex
i6 : prune tensorLES(F,4)

o6 = cokernel | b3 ab2 a2b a3 | <-- cokernel | b3 ab2 a2b a3 | <-- 0 <-- 0 <-- cokernel {3} | b 0 0 b3 ab2 a2b a3 0  0  0  | <-- cokernel {3} | b 0 0 ab2 a3 0  0  | <-- cokernel {6} | b a 0 0 0 0 0 0 0 0 0 0 | <-- cokernel {6} | b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <-- cokernel {6} | b a 0 0 0 0 0 0 0 0 0 0 |
                                                                                        {3} | a b 0 0  0   0   0  b3 0  0  |              {3} | a b 0 0   0  b3 0  |              {6} | 0 0 b a 0 0 0 0 0 0 0 0 |              {6} | 0 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |              {6} | 0 0 b a 0 0 0 0 0 0 0 0 |
     0                              1                              2     3              {3} | 0 a b 0  0   0   0  0  b3 0  |              {3} | 0 a b 0   0  0  0  |              {6} | 0 0 0 0 b a 0 0 0 0 0 0 |              {6} | 0 0 0 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 |              {6} | 0 0 0 0 b a 0 0 0 0 0 0 |
                                                                                        {3} | 0 0 a 0  0   0   0  0  0  b3 |              {3} | 0 0 a 0   0  0  b3 |              {6} | 0 0 0 0 0 0 b a 0 0 0 0 |              {6} | 0 0 0 0 0 0 b a 0 0 0 0 0 0 0 0 0 0 |              {6} | 0 0 0 0 0 0 b a 0 0 0 0 |
                                                                                                                                                                                  {6} | 0 0 0 0 0 0 0 0 b a 0 0 |              {6} | 0 0 0 0 0 0 0 0 b a 0 0 0 0 0 0 0 0 |              {6} | 0 0 0 0 0 0 0 0 b a 0 0 |
                                                                               4                                                 5                                                {6} | 0 0 0 0 0 0 0 0 0 0 b a |              {6} | 0 0 0 0 0 0 0 0 0 0 b a 0 0 0 0 0 0 |              {6} | 0 0 0 0 0 0 0 0 0 0 b a |
                                                                                                                                                                                                                               {6} | 0 0 0 0 0 0 0 0 0 0 0 0 b a 0 0 0 0 |      
                                                                                                                                                                         6                                                     {6} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b a 0 0 |     8
                                                                                                                                                                                                                               {6} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b a |
                                                                                                                                                                                                                       
                                                                                                                                                                                                                      7

o6 : Complex
i7 : L = complex {K.dd_1, map(source K.dd_1,target K.dd_2 ,K.dd_2*K.dd_1), K.dd_2}

      1      2      2      1
o7 = Q  <-- Q  <-- Q  <-- Q
                           
     0      1      2      3

o7 : Complex
i8 : hL = elapsedTime prune tensorLES(L,4)
 -- 1.931s elapsed

                                                                                                                                                                                                                                                                                                   25      50      25
o8 = cokernel | b a | <-- cokernel | b a | <-- 0 <-- 0 <-- cokernel | a 0 b | <-- cokernel | a 0 b | <-- cokernel | b a 0 0 | <-- cokernel | b a 0 0 0 0 0 0 | <-- cokernel | 0   0   b a 0 0 0  0  | <-- cokernel | ab2 a2b b2 a2 | <-- cokernel | a2 b2 ab | <-- cokernel | ab2 a2b b2 a2 | <-- Q   <-- Q   <-- Q
                                                                    | 0 b a |              | 0 b a |              | 0 0 b a |              | 0 0 b a 0 0 0 0 |              | 0   0   0 0 b a 0  0  |                                                                                                              
     0                    1                    2     3                                                                                     | 0 0 0 0 b a 0 0 |              | ab2 a2b 0 0 0 0 b2 a2 |     9                              10                        11                             12      13      14
                                                           4                      5                      6                                 | 0 0 0 0 0 0 b a |      
                                                                                                                                                                   8
                                                                                                                                  7

o8 : Complex
i9 : netList {hL.dd_3, hL.dd_6, hL.dd_9, hL.dd_12, hL.dd_15} --two nontrivial connecting homs

     +------------------------------------------------------+
o9 = |0                                                     |
     +------------------------------------------------------+
     |0                                                     |
     +------------------------------------------------------+
     || 0 |                                                 |
     || 0 |                                                 |
     || 1 |                                                 |
     +------------------------------------------------------+
     || 0 0 0 0 0 0 0 0 ab 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ||
     +------------------------------------------------------+
     |0                                                     |
     +------------------------------------------------------+

See also

Ways to use tensorLES:

  • tensorLES(Complex,ZZ)

For the programmer

The object tensorLES is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SimplicialModules/SimplicialModuleDOC.m2:3993:0.