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

declareCouple -- initializes generating classes for an exact couple

Synopsis

Description

We build the homological Serre spectral sequence for the Hopf fibration S^3 \to S^2

i1 : Q = coupleRing(ZZ,1,e,f,Degrees=>{{-1,0},{2,-2}})

o1 = Q

o1 : PolynomialRing
i2 : declareCouple(Q, {z => {4,0}}, {x => {1,0}, y => {1,2}, w => {5,2}})

o2 = cokernel {5, 2} | e_1^2 e_1f_1 0     0      0     0      0     0   |
              {1, 0} | 0     0      e_1^2 e_1f_1 0     0      0     0   |
              {1, 2} | 0     0      0     0      e_1^2 e_1f_1 0     0   |
              {4, 0} | 0     0      0     0      0     0      e_1^3 f_1 |

                            4
o2 : Q-module, quotient of Q
i3 : C = cospan(e_1*z-f_1*y)

o3 = cokernel {5, 2} | 0    e_1^2 e_1f_1 0     0      0     0      0     0   |
              {1, 0} | 0    0     0      e_1^2 e_1f_1 0     0      0     0   |
              {1, 2} | -f_1 0     0      0     0      e_1^2 e_1f_1 0     0   |
              {4, 0} | e_1  0     0      0     0      0     0      e_1^3 f_1 |

                            4
o3 : Q-module, quotient of Q
i4 : isHomogeneous C

o4 = true
i5 : expectExactCouple C

Caveat

The output of declareCouple is a free exact couple, but it is not a free module for Q; the tautological couple relations are enforced. If Q = R[e,f], then we have that f annihilates every page generator and e^2 annihilates every aux generator. We also have that e*f and e^3 act by zero on all generators.

See also

Ways to use declareCouple:

For the programmer

The object declareCouple is a method function.