kenzo/examples/Chapter9.ipynb
2016-03-07 20:58:17 -06:00

23 KiB

The Eilenberg-Zilber module

The functions of this module are related to the chain complex of the product of two simplicial sets. They implement the Eilenberg-Mac Lane homomorphism (function eml) and the Alexander-Whitney homomorphism (function aw).

eml ssx ssy [Function]

build the Eilenberg-Mac Lane homomorphism $\cal EML$, also called the shuffle homomorphism. (Marvin Greenberg, Lectures on Algebraic Topology, W.A. Benjamin Inc, 1967.) The arguments ssx and ssy represent some simplicial sets $X$ and $Y$. The homomorphism $${\cal EML}:{\cal C}_*(X) \otimes {\cal C}_*(Y) \longrightarrow {\cal C}_*(X \times Y)$$ is defined by: $${\cal EML}(\alpha \otimes \beta)= \sum{{\varepsilon(\varpi)}(\eta_{j_q}\ldots \eta_{j_1}\alpha,\, \eta_{i_p}\ldots \eta_{i_1}\beta)},$$ where $X\times Y$ is the simplicial cartesian product of the two simplicial sets $X$ and $Y$, $\alpha$ (resp. $\beta$) is a geometric simplex of $X$ (resp. $Y$), $\eta_k$ is the $k^{th}$ degeneracy operator, the sum is over all permutations $\varpi= (i_1 \ldots i_p j_1 \ldots j_q)$ of $(0 \ldots p+q-1)$ such that $$ i_1 < i_2 < \cdots < i_p,\quad j_1 < j_2 < \cdots < j_q, \quad p+q=n$$ and $\varepsilon(\varpi)$ is the signature of the corresponding permutation. The sum at the right hand part determines a decomposition of the geometric product $\alpha \times \beta$ into a combination of generators of the simplicial cartesian product (see the simplicial sets chapter). The combination takes in account the orientation of every simplex. These generators are non-degenerate simplices of the cartesian product but their projections are in general degenerate simplices of $X$ and $Y$ (see the examples).

aw ssx ssy [Function]

build the Alexander-Whitney chain homomorphism. The arguments ssx and ssy represent some simplicial sets $X$ and $Y$. The homomorphism $${\cal AW}:{\cal C}_*(X \times Y) \longrightarrow {\cal C}_*(X) \otimes {\cal C}_*(Y)$$ is defined by the following rule: let $\sigma$ be an $n$-simplex and let us define two operators, $\lambda_p$ and $\rho_q$: $$\lambda_p: {\cal C}_n(X) \longrightarrow {\cal C}_{n-p}(X),\quad (n \geq p),$$ $$\rho_q: {\cal C}_n(Y) \longrightarrow {\cal C}_{n-q}(X),\quad (n \geq q),$$ respectively by $$\lambda_p(\sigma)=\partial_{p+1}\ldots \partial_n \sigma$$ and $$\rho_q(\sigma)=\partial_0\ldots\partial_{n-q} \sigma.$$ Now, for the generator $(\alpha,\beta)$ of degree $n$ in ${\cal C}_*(X \times Y)$, the Alexander-Whitney homomorphism is defined by: $${\cal AW}(\alpha, \beta)=\sum_{p=0}^n{\lambda_p(\alpha) \otimes \rho_{n-p}(\beta)}.$$ This sum can be interpreted as a decomposition, up to a homotopy, of the simplex $\alpha \times \beta$ ($\alpha$ and $\beta$ can be degenerate even if $\alpha \times \beta$ is not) in terms of (tensor) products of non-degenerate simplices.

phi ssx ssy [Function]

build the homotopy chain morphism $$\Phi: {\cal C}_*(X \times Y) \longrightarrow {\cal C}_*(X \times Y)$$ satisfying the formula $$d \circ \Phi + \Phi \circ d = Id - {\cal EML} \circ {\cal AW}.$$

ez ssx ssy [Function]

build the Eilenberg--Zilber reduction as shown by the following diagram, where $X={\mathit ssx}$ and $Y={\mathit ssy}$. $$ \begin{align} {{\cal C}_*(X \times Y)}\quad & \quad \stackrel{\Phi}{\longrightarrow} & {}^s{{\cal C}_*(X \times Y)} \cr {\scriptstyle {\cal AW}} \downarrow \uparrow {\scriptstyle {\cal EML}} & & \cr {{\cal C}_*(X) \otimes {\cal C}_*(Y)} & &\cr \end{align} $$

Examples

In [ ]:
(cl-jupyter-user:png-from-file "eml1.png")

As simplicial sets $X$ and $Y$, let us use two copies of $\Delta^\mathbb{N}$, that we may build by the lisp statement (soft-delta-infinity) (Though we repeat this statement in the following line, there will be only a simplicial set created). We have chosen the soft version, to inspect the results more easily.

In [ ]:
(def eml-mrp (eml (soft-delta-infinity)(soft-delta-infinity)))

Let us apply the Eilenberg-Mac Lane homomorphism to the tensor product $(0\, 1)\otimes (2\, 3)$:

In [ ]:
(? eml-mrp 2 (tnpr 1 (d(dlop-ext-int '(0 1)))
                   1 (d(dlop-ext-int '(2 3)))))

The decomposition is illustrated by the previous geometric diagram, where for instance a degenerate simplex like $\eta_1(0\, 1)$ is noted $(0\, 1\, 1)$.

For the tensor product $(0\,1\,2)\otimes (3\,4)$, an intuitive description is still possible, as shown in the following diagram, but not in higher dimensions.

As the input of simplices is sometimes cumbersome, we have defined a macro called code to facilitate the input of the simplices.

In [ ]:
(defmacro code (arg) `(d (dlop-ext-int ,arg)))
In [ ]:
(? eml-mrp 3 (tnpr 2 (code '(0 1 2)) 1 (code '(3 4)) ))
In [ ]:
(? eml-mrp 6 (tnpr 2 (code '(0 3 5)) 4 (code '(0 1 2 4 5)) ))
In [ ]:
(cl-jupyter-user:png-from-file "eml2.png")

The Alexander-Whitney homomorphism works in the reverse sense:

In [ ]:
(def aw-mrp (aw (soft-delta-infinity)(soft-delta-infinity)))

The 2-simplices of the cartesian product $(0\, 1\, 2) \times (3\, 4)$ are (here, the degeneracy operators are in clear):

      <CrPr 0 (0 1) 1 (3 4)>
      <CrPr 1 (0 1) 0 (3 4)>
      <CrPr 0 (0 2) 1 (3 4)>
      <CrPr 1 (0 2) 0 (3 4)>
      <CrPr 0 (1 2) 1 (3 4)>
      <CrPr 1 (1 2) 0 (3 4)>
      <CrPr * (0 1 2) 1-0 (3)>
      <CrPr * (0 1 2) 1-0 (4)>
 -->  <CrPr * (0 1 2) 0 (3 4)>
      <CrPr * (0 1 2) 1 (3 4)>

The last but one line of this list describes the triangle shown in dashed lines in the prism in the previous picture, joining the points $(0,3), (1,3), (2,4)$. Let us apply the homomorphism $\cal AW$:

In [ ]:
(? aw-mrp 2 (crpr 0 (code '(0 1 2)) 1 (code '(3 4)) ))

We see that we obtain a kind of decomposition, up to a homotopy, of this triangle in terms of the two tensor products $(0\, 1\, 2) \otimes (4)$ (the "upper" triangle of the prism) and $(0\,1) \otimes (3\, 4)$ (the "front" rectangle of the prism).

The composition ${\cal AW} \circ {\cal EML}$ is the identity in the tensor product of the two chain complexes.

In [ ]:
(def g (tnpr 2 (code '(0 1 2)) 3 (code '(2 3 4 5)) ))
In [ ]:
(? eml-mrp 5 g)
In [ ]:
(? aw-mrp *)
In [ ]:
(setf *tnpr-with-degrees* t)
In [ ]:
**

But the composition ${\cal EML} \circ {\cal AW}$ is by no means the identity. This composition is related to the identity via the homotopy morphism $\Phi$. Let us consider the two following simple simplicial sets {\tt delta-0-1} and {\tt delta-2-3}, where the second is the simplicial set, model of the segment $[2,\,3]$. To build delta-2-3, we have just changed the basis function, the base point and the comment in the system function soft-delta.

In [ ]:
(def delta-0-1 (soft-delta 1))
In [ ]:
(def delta-2-3 (build-smst 
                  :cmpr #'soft-delta-cmpr
                  :basis #'(lambda(dmn) 
                             (case dmn
                                  (0 (list (d 4)(d 8)))
                                  (1 (list(d 12)))))   
                  :bspn (d 4)
                  :face #'soft-delta-face
                  :intr-dgnl #'soft-delta-dgnl :dgnl-strt :gnrt
                  :intr-bndr #'soft-delta-bndr :bndr-strt :gnrt
                  :orgn '(my-soft-delta-2-3)))
In [ ]:
(show-structure delta-0-1 1)
In [ ]:
(show-structure delta-2-3 1)

Let us build the cartesian product of these two simplicial sets and let us list, in particular the 0-simplices and the 1-simplices of this new simplicial set:

In [ ]:
(def carre (crts-prdc delta-0-1 delta-2-3))
In [ ]:
(show-structure carre 2)

Let us take the first 1-simplex which corresponds to the diagonal of the square (realisation of the cartesian product) and let us build the three homomorphisms $\cal AW$, $\cal EML$ and $\Phi$:

In [ ]:
(def diagonal (crpr 0 (code '(0 1)) 0 (code '(2 3))))
In [ ]:
(def aw-mrp (aw delta-0-1 delta-2-3))
In [ ]:
(def eml-mrp (eml delta-0-1 delta-2-3))
In [ ]:
(def phi-hmy (phi delta-0-1 delta-2-3))

We see that $$ {\cal AW}((0\, 1), (2\, 3)) = (0\, 1)\otimes (3) + (0) \otimes (2\, 3),$$ $$ {\cal EML}((0\, 1)\otimes (3) + (0) \otimes (2\, 3))= ((0\, 1), \eta_0 (3)) + (\eta_0 (0), (2\, 3))$$ and that $\Phi$ applied to the diagonal returns the 2-simplex compatible with the homotopy. $$\Phi((0\, 1), (2\, 3))= (\eta_1(2\, 3),\eta_0(0\, 1)).$$ This is illustrated by the following diagram (the 2-simplex is the shaded triangle).

In [ ]:
(cl-jupyter-user:png-from-file "eml3.png")
In [ ]:
(? aw-mrp 1 diagonal)
In [ ]:
(? eml-mrp *)
In [ ]:
(? phi-hmy 1 diagonal)

Let us inspect now the reduction generated by the function ez and verify on reasonably general combinations that the involved morphisms are coherent.

In [ ]:
(def ez-rdc (ez (soft-delta-infinity)(soft-delta-infinity)))
In [ ]:
(inspect *)

With the comment slots we see that the morphism f, g and h are respectively aw, eml and phi:

In [ ]:
(orgn ez-rdc)
In [ ]:
(orgn (f ez-rdc))
In [ ]:
(orgn (g ez-rdc))
In [ ]:
(orgn (h ez-rdc))
In [ ]:
(setf *bc* (cmbn 3 1 (tnpr 0 (code '(0)) 3 (code '(1 2 3 4)))
                  10 (tnpr 1 (code '(5 6)) 2 (code '(7 8 9)))
                 100 (tnpr 2 (code '(10 11 12)) 1 (code '(13 14)))
                1000 (tnpr 3 (code '(15 16 17 18)) 0 (code '(19)))))
In [ ]:
(setf *tc* 
     (cmbn 3 1 (crpr 0 (code '(0 1 2 3)) 0 (code '(5 6 7 8)))
            10 (crpr 0 (code '(0 1 2 3)) (dgop-ext-int '(2 0)) (code '(5 6)))
           100 (crpr (dgop-ext-int '(2 1)) (code '(0 1)) 0 (code '(5 6 7 8)))
          1000 (crpr (dgop-ext-int '(2 1)) (code '(0 1)) 1 (code '(5 6 7)))))
In [ ]:
(pre-check-rdct ez-rdc)
In [ ]:
(check-rdct-no-wait)

Application to Homology

Let us illustrate the Eilenberg-Zilber theorem by the following example. Let us consider the manifold $P^2\mathbb{R}\times S^3$. The theorem says that $$H_n({\cal C}_*(P^2\mathbb{R}\times S^3)) \cong H_n({\cal C}_*(P^2\mathbb{R}) \otimes {\cal C}_*(S^3)).$$

In [ ]:
(cat-init)
In [ ]:
(def p2 (moore 2 1))  ;; Moore(2,1)   generates the projectif plane.
In [ ]:
(def s3 (sphere 3))

The simplicial set p2-X-s3 is obtained from the cartesian product of the two simplicial sets p2 and s3.

In [ ]:
(def p2-X-s3 (crts-prdc p2 s3))

Now, the chain complex p2-T-s3 is obtained from the tensor product of the two chain complexes associated to both simplicial sets p2 and s3 (don't forget that the class SIMPLICIAL SET is a subclass of the class CHAIN COMPLEX).

In [ ]:
(def p2-T-s3 (tnsr-prdc p2 s3))

Applying successively the function chcm-homology (which computes directly the homology groups without using a homotopy equivalence) on these chain complexes, shows that the homology groups are effectively isomorphic, but the method of the tensor product is much faster than the method of the simple cartesian product, the number of generators being much more smaller.

In [ ]:
(time (dotimes (i 6) (chcm-homology p2-X-s3 i)))
In [ ]:
(time (dotimes (i 6) (chcm-homology p2-T-s3 i)))

The following example shows clearly the discrepancy between the length of the basis of two objects built respectively by cartesian product and tensor product and having the same homology groups.

In [ ]:
(cat-init)
In [ ]:
(def s2 (sphere 2))
In [ ]:
(def s3 (sphere 3))
In [ ]:
(def s2Xs2Xs3 (crts-prdc (crts-prdc s2 s2) s3))
In [ ]:
(orgn s2Xs2Xs3)
In [ ]:
(def s2Ts2Ts3 (tnsr-prdc (tnsr-prdc s2 s2) s3))
In [ ]:
(dotimes (i 7) (print (length (basis s2Xs2Xs3 i))))
In [ ]:
(dotimes (i 7) (print (length (basis s2Ts2Ts3 i))))

Searching homology process for cartesian products

When the search-efhm method recognizes a cartesian product, by means of the comment list (slot orgn) of the object, it builds a homotopy equivalence where the right bottom chain complex is created by the function ez. The process may be recursif as shown by the very definition of the method:

(defun LEFT-CRTS-PRDC-EFHM (smst1 smst2)
  (declare (type simplicial-set smst1 smst2))
  (the homotopy-equivalence
     (build-hmeq
       :lrdct (trivial-rdct (crts-prdc smst1 smst2))
       :rrdct (ez smst1 smst2))))

(defmethod SEARCH-EFHM (smst (orgn (eql 'crts-prdc)))
  (declare (type simplicial-set smst))
  (the homotopy-equivalence
    (cmps
      (left-crts-prdc-efhm (second (orgn smst)) 
                           (third  (orgn smst)))
      (tnsr-prdc (efhm (second (orgn smst)))
                 (efhm (third  (orgn smst)))))))

Lisp files concerned in this chapter

eilenberg-zilber.lisp, searching-homology.lisp.