next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ExactCouples :: exactCouple

exactCouple -- builds an exact couple from a R[d,f]/d^2-module

Synopsis

Description

Any map of cochain complexes gives a long exact sequence in cohomology. Considering M to be a sequence of cochain complexes connected by maps— the cochain complex structure comes from the action of d, and the maps come from the action of f—we obtain an interlocking sequence of long exact sequences.

The output module encodes the exact couple by placing the page data in degrees of the form (2*p, 2*q) and the auxiliary data at the midpoints of the differentials. (The 2s ensure that these midpoints are still valid bidegrees.)

We build the cochain complex for the simplicial complex with vertices {a,b,c} and facets {ab,ac,bc}, placing it in row 0. In row 1, we mod out by (bc); in row 2, by (ac,bc), continuing until every simplex is annihilated in row 7.

i1 : R = QQ[d,t,Degrees=>{{0,1},{1,0}}]/d^2;
i2 : declareGenerators(R,{a=>{0,0},b=>{0,0},c=>{0,0},ab=>{0,1},ac=>{0,1},bc=>{0,1}});
i3 : M = cospan(d*a+ab+ac, d*b-ab+bc, d*c-ac-bc, d*ab, d*ac, d*bc,
                t*bc, t^2*ac, t^3*ab, t^4*c, t^5*b, t^6*a);
i4 : netList table(7,4,(i,j)->hilbertFunction({6-i,j},M)) -- each row is a cochain complex

     +-+-+-+-+
o4 = |0|0|0|0|
     +-+-+-+-+
     |1|0|0|0|
     +-+-+-+-+
     |2|0|0|0|
     +-+-+-+-+
     |3|0|0|0|
     +-+-+-+-+
     |3|1|0|0|
     +-+-+-+-+
     |3|2|0|0|
     +-+-+-+-+
     |3|3|0|0|
     +-+-+-+-+
i5 : Q = QQ[e_1,f_1,Degrees=>{{-1,1},{2,0}}];
i6 : E1 = exactCouple(Q, M)

o6 = cokernel {1, -1}  | e_1^2 e_1f_1 0 0   0     0    0 0   0     0 0     f_1^4 0 0   0     0 0     0 0   0 e_1^2 e_1f_1 0     0   0     0      0     0   0     0      0     0   0     0   |
              {2, 0}   | 0     0      0 f_1 0     0    0 0   0     0 0     0     0 0   0     0 0     0 0   0 0     0      e_1^3 f_1 0     0      0     0   0     0      0     0   0     0   |
              {5, -1}  | 0     0      0 0   e_1^2 f_1  0 0   0     0 0     0     0 0   0     0 0     0 0   0 0     0      0     0   e_1^2 e_1f_1 0     0   0     0      0     0   0     0   |
              {8, -2}  | 0     0      0 0   0     -e_1 0 f_1 e_1^2 0 0     0     0 0   0     0 0     0 0   0 0     0      0     0   0     0      e_1^3 f_1 0     0      0     0   0     0   |
              {7, -1}  | 0     0      0 0   0     0    0 0   0     0 e_1^2 -f_1  0 0   0     0 f_1^2 0 0   0 0     0      0     0   0     0      0     0   e_1^2 e_1f_1 0     0   0     0   |
              {10, -2} | 0     0      0 0   0     0    0 0   0     0 0     -e_1  0 f_1 e_1^2 0 0     0 0   0 0     0      0     0   0     0      0     0   0     0      e_1^3 f_1 0     0   |
              {12, -2} | 0     0      0 0   0     0    0 0   0     0 0     0     0 0   0     0 -e_1  0 f_1 0 0     0      0     0   0     0      0     0   0     0      0     0   e_1^3 f_1 |

                            7
o6 : Q-module, quotient of Q
i7 : for r from 1 to 7 do (
         print("page " | r |": ");
         print prune pageModule(r,D,E1);
         print " ";
         );
warning: clearing value of symbol e to allow access to subscripted variables based on it
       : debug with expression   debug 3903   or with command line option   --debug 3903
page 1: 
cokernel {0, 0}  | 0   0   0   0   0   D_1 |
         {1, 0}  | 0   0   0   0   0   0   |
         {2, 0}  | 0   0   0   0   D_1 0   |
         {4, -1} | 0   0   D_1 0   0   0   |
         {3, 0}  | 0   0   0   D_1 0   0   |
         {5, -1} | 0   D_1 0   0   0   0   |
         {6, -1} | D_1 0   0   0   0   0   |
 
page 2: 
cokernel {4, -1} | 0   0   |
         {5, -1} | 0   0   |
         {6, -1} | D_2 0   |
         {0, 0}  | 0   D_2 |
 
page 3: 
cokernel {6, -1} | D_3 0   |
         {0, 0}  | 0   D_3 |
 
page 4: 
cokernel {6, -1} | D_4 0   |
         {0, 0}  | 0   D_4 |
 
page 5: 
cokernel {6, -1} | D_5 0   |
         {0, 0}  | 0   D_5 |
 
page 6: 
/QQ[D ]\
|    6 |1
|------|
|   2  |
|  D   |
\   6  /
 
page 7: 
0
 
i8 : plotPages((0..7,-2..2,1..7),prune @@ evaluateInDegree,E1)
page 1, with differential of degree {-1, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |   |   |   |   |   |   |
|q=1 ||QQ |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|  1|  1|  1|   |   |   |   |
|q=0 ||QQ |QQ |QQ |QQ |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |  1|  1|  1|   |
|q=-1||0  |0  |0  |0  |QQ |QQ |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 2, with differential of degree {-2, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |  1|  1|   |   |   |   |
|q=0 ||QQ |0  |QQ |QQ |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |  1|  1|  1|   |
|q=-1||0  |0  |0  |0  |QQ |QQ |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 3, with differential of degree {-3, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |   |   |   |   |   |   |
|q=0 ||QQ |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |   |   |  1|   |
|q=-1||0  |0  |0  |0  |0  |0  |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 4, with differential of degree {-4, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |   |   |   |   |   |   |
|q=0 ||QQ |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |   |   |  1|   |
|q=-1||0  |0  |0  |0  |0  |0  |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 5, with differential of degree {-5, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |   |   |   |   |   |   |
|q=0 ||QQ |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |   |   |  1|   |
|q=-1||0  |0  |0  |0  |0  |0  |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 6, with differential of degree {-6, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||  1|   |   |   |   |   |   |   |
|q=0 ||QQ |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||   |   |   |   |   |   |  1|   |
|q=-1||0  |0  |0  |0  |0  |0  |QQ |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

page 7, with differential of degree {-7, 1}:
+----++---+---+---+---+---+---+---+---+
|q=2 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=1 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=0 ||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=-1||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|q=-2||0  |0  |0  |0  |0  |0  |0  |0  |
+----++---+---+---+---+---+---+---+---+
|    ||p=0|p=1|p=2|p=3|p=4|p=5|p=6|p=7|
+----++---+---+---+---+---+---+---+---+

Caveat

See also

Ways to use exactCouple:

For the programmer

The object exactCouple is a method function.