diff --git a/examples/20_Eilenberg-Moore_spectral_sequence_II.ipynb b/examples/20_Eilenberg-Moore_spectral_sequence_II.ipynb new file mode 100644 index 0000000..f0b8632 --- /dev/null +++ b/examples/20_Eilenberg-Moore_spectral_sequence_II.ipynb @@ -0,0 +1,198 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Eilenberg-Moore spectral sequence II\n", + "\n", + "## Introduction\n", + "\n", + "This chapter is devoted to the effective homology version of the spectral sequence of Eilenberg-Moore, in the particular case of classifying spaces. More precisely, let ${\\cal G}$ be a simplicial group; then its classifying space $\\bar{\\cal W}{\\cal G}$ is a simplicial set canonically defined (**J. Peter May**. *Simplicial objects in algebraic topology*, Van Nostrand, 1967.). Furthermore, if ${\\cal G}$ is an Abelian simplicial group, then $\\bar{\\cal W}{\\cal G}$ is again an Abelian simplicial group with natural structure, so that the $\\bar{\\cal W}$ construction can be iterated. The $\\bar{\\cal W}$ construction is implemented in `Kenzo` only if ${\\cal G}$ is reduced (${\\cal G}_0$ has only one element). In particular if ${\\cal G}$ is a simplicial group with effective homology, then `Kenzo` constructs a version of $\\bar{\\cal W}{\\cal G}$ also with effective homology.\n", + "\n", + "## The detailed construction\n", + "\n", + "Let ${\\cal G}$ be a simplicial group with effective homology. This means that a homotopy equivalence:\n", + "$$\\begin{aligned}\n", + " & \\qquad\\hat{C}_* \\cr\n", + " \\swarrow\\nearrow & & \\searrow\\nwarrow\\qquad \\cr\n", + "{\\cal C}_*({\\cal G}) & & EG_* \\cr\n", + "\\end{aligned}$$ \n", + "is provided, where the chain complex $EG_*$ is effective and must be considered as describing the homology of ${\\cal C}_*({\\cal G})$. This scheme includes the case where ${\\cal C}_*({\\cal G})$ itself is effective; without any other information, the program constructs automatically a trivial homotopy equivalence.\n", + "\n", + "Now, if we apply the *Bar* functor to this homotopy equivalence we obtain the homotopy equivalence $H_R$:\n", + "$$\\begin{aligned}\n", + " &\\qquad{\\widetilde{Bar}}^{\\hat{ C}_*} \\cr\n", + " \\swarrow\\nearrow & & \\searrow\\nwarrow\\qquad \\cr\n", + "Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}) & & {\\widetilde{Bar}}^{EG_*}(\\mathbb{Z}, \\mathbb{Z}) \\cr\n", + "\\end{aligned}$$\n", + "in which the $\\widetilde{Bar}$'s are Bars constructions with respect to the $A_\\infty$ structure on $\\hat{C}_*$ and $EG_*$ defined by the initial homotopy equivalence.\n", + "\n", + "By analogy with the result of Julio Rubio (**J.J. Rubio-Garcia**. *Homologie effective des espaces de lacets iteres: un logiciel*, These, Institut Fourier, 1991.) one may show that it is possible to construct another homotopy equivalence, $H_L$:\n", + "$$\\begin{aligned}\n", + " & \\qquad Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\cr\n", + " \\swarrow\\nearrow & & \\searrow\\nwarrow\\qquad \\cr\n", + " {\\cal C}_*(\\bar{\\cal W}{\\cal G}) & & Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}) \\cr\n", + "\\end{aligned}$$\n", + "Both reductions of $H_L$ are obtained by the basic perturbation lemma, as explained in the following section. The composition of both homotopy equivalences, $H_L$ and $H_R$, makes the link between $\\bar{\\cal W}{\\cal G}$, the classifying space of the simplicial group ${\\cal G}$ and the effective right bottom chain complex of $H_R$.\n", + "\n", + "## Obtaining the left reduction $H_L$\n", + "\n", + "The homotopy equivalence $H_L$ is obtained by a sequence of intermediate constructions based mainly upon two applications of the basic perturbation lemma. We are led to consider the two following modules:\n", + "- ${\\cal C}_*({\\cal G})$ module on itself, with the canonical product.\n", + "$${\\cal C}_*({\\cal G})\\otimes {\\cal C}_*({\\cal G})\\stackrel {\\Pi}{\\longrightarrow} {\\cal C}_*({\\cal G}).$$\n", + "- ${\\check{\\cal C}}_*({\\cal G})$, module on ${\\cal C}_*({\\cal G})$, with a \"trivial\" product $${\\check{\\cal C}}_*({\\cal G})\\otimes{\\cal C}_*({\\cal G}) \\stackrel {\\check{\\Pi}}{\\longrightarrow} {\\check{\\cal C}}_*({\\cal G})$$ defined by $$\\sigma \\otimes \\tau \\longmapsto \\sigma . \\varepsilon(\\tau),$$ where $\\varepsilon$ is the traditional augmentation of ${\\cal C}_*({\\cal G})$.\n", + "\n", + "Now, we consider the set of the followings Bars (where $u$ means *\"untwisted\"* and $t$ *\"twisted\"*):\n", + "\\begin{aligned}\n", + "{\\rm Hat}_{uu} &=& Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\check{\\cal C}}_*({\\cal G}),\\mathbb{Z}),\\\\\n", + "{\\rm Hat}_{ut} &=& Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\cal C}_*({\\cal G}),\\mathbb{Z}),\\\\\n", + "{\\rm Hat}_{tu} &=& Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t{\\check{\\cal C}}_*({\\cal G}),\\mathbb{Z}),\\\\\n", + "{\\rm Hat}_{tt} &=& Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}).\n", + "\\end{aligned}\n", + "\n", + "One may always say that ${\\rm Hat}_{ut}$ is obtained from ${\\rm Hat}_{uu}$ by a perturbation $\\delta_r$ ($r$: right) induced by the discrepancy between the products in ${\\check{\\cal C}}_*({\\cal G})$ and ${\\cal C}_*({\\cal G})$ and that ${\\rm Hat}_{tu}$ is obtained from ${\\rm Hat}_{uu}$ by a perturbation $\\delta_l$ ($l$: left) induced by the twisted tensor product $\\otimes_t$. After that,\n", + "${\\rm Hat}_{tt}$ is obtained from ${\\rm Hat}_{tu}$ by the perturbation $\\delta_r$ as well as, by commutativity, from ${\\rm Hat}_{ut}$ by the perturbation $\\delta_l$.\n", + "\n", + "This is shown in the following diagram (here, the arrows are not reductions, but denote the perturbations between the differential morphisms):\n", + "$$\\begin{aligned} \n", + " & \\qquad{\\rm Hat}_{uu} \\cr\n", + " \\delta_l \\swarrow & & \\searrow \\delta_r \\cr\n", + "{\\rm Hat}_{tu} & & {\\rm Hat}_{ut} \\cr\n", + " \\delta_r \\searrow & & \\swarrow \\delta_l \\cr\n", + " & \\qquad{\\rm Hat}_{tt} \\cr\n", + "\\end{aligned}$$\n", + "\n", + "The underlying graded modules ${\\rm Hat}_{uu}$, ${\\rm Hat}_{ut}$, ${\\rm Hat}_{tu}$ and ${\\rm Hat}_{tt}$ are the same and the program keeps ${\\rm Hat}_{uu}$ as the underlying graded module for all the chain complexes. The differential perturbations are given by the formulas:\n", + "$$\\begin{aligned}\n", + "\\delta_l[(w\\otimes {\\check g}_0)\\otimes (g_1 \\otimes\\cdots\\otimes g_n)] &=&\n", + "[d_{\\otimes t}(w\\otimes {\\check g}_0) - d_\\otimes (w\\otimes {\\check g}_0)] \\otimes (g_1 \\otimes\\cdots\\otimes g_n), \\\\\n", + "\\delta_r[(w\\otimes {\\check g}_0)\\otimes (g_1 \\otimes\\cdots\\otimes g_n)] &=& \n", + "w \\otimes(g_0 . g_1) \\otimes g_2 \\otimes\\cdots\\otimes g_n,\n", + "\\end{aligned}$$\n", + "where ${\\check g}_0 \\in {\\check {\\cal G}}_0,\\, g_i \\in {\\cal G},\\, w \\in \\bar{\\cal W}{\\cal G}.$\n", + "\n", + "Now, on the other hand, we know that there exists a reduction \n", + "$${\\rm Hat}_{ut} = Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes \n", + "{\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow {\\cal C}_*(\\bar{\\cal W}{\\cal G}),$$ \n", + "so, perturbing this reduction by $\\delta_l$, one obtains the Rubio reduction\n", + "$${\\rm Hat}_{tt}=Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t \n", + "{\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow {\\cal C}_*(\\bar{\\cal W}{\\cal G}).$$\n", + "On the other hand, we know also that there exists a reduction \n", + "$${\\rm Hat}_{tu} = Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t \n", + "{\\check{\\cal C}}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow\n", + "Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}),$$ \n", + "so, perturbing this reduction by $\\delta_r$, one obtains the reduction \n", + "$${\\rm Hat}_{tt}=Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t \n", + "{\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}).$$\n", + "Finally, we have obtained the wished left homotopy equivalence $H_L$:\n", + "$$\\begin{aligned}\n", + " & \\qquad Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\cr\n", + " \\swarrow\\nearrow & & \\searrow\\nwarrow \\qquad\\cr\n", + " {\\cal C}_*(\\bar{\\cal W}{\\cal G}) & & Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}) \\cr\n", + "\\end{aligned}$$\n", + "\n", + "### The useful functions\n", + "\n", + "For the applications, the only function that the user must know is the function `classifying-space-efhm` which builds the final homotopy equivalence. But for the interested user, we give nevertheless a short description of all the functions involved in the described process.\n", + "\n", + "`classifying-space-efhm` *smgr* *[Function]*\n", + "> From the simplicial group ${\\cal G}$ (0-reduced) with effective homology (here the argument *smgr*), build a homotopy equivalence giving an effective homology version of the classifying space $\\bar{\\cal W}{\\cal G}$ of ${\\cal G}$. This homotopy equivalence will be used by the homology function to compute the homology groups. In fact, due to the slot-unbound mechanism of CLOS, this function will be automatically called, as soon as the user requires a homology group for a classifying space.\n", + "\n", + "`cs-hat-u-u` *smgr* *[Function]*\n", + "> Return the chain complex $Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\check{\\cal C}}_*({\\cal G}),\\mathbb{Z})$. Because of the particular structure of ${\\check{\\cal C}}_*({\\cal G})$, this chain complex is nothing but $[{\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\check{\\cal C}}_*({\\cal G})]\\otimes Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z},\\mathbb{Z}).$\n", + "\n", + "`cs-hat-right-perturbation` *smgr* *[Function]*\n", + "> Return the morphism corresponding to the differential perturbation $\\delta_r$, induced by the discrepancy between the respective products in ${\\check{\\cal C}}_*({\\cal G})$ and in ${\\cal C}_*({\\cal G})$.\n", + "\n", + "`cs-hat-u-t` *smgr* *[Function]*\n", + "> Return the chain complex $Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\cal C}_*({\\cal G}),\\mathbb{Z})$ by applying the differential perturbation `hat-right-perturbation` upon the chain complex `hat-u-u` *smgr*. This is realized by the method `add`.\n", + "\n", + "`cs-hat-t-u` *smgr* *[Function]*\n", + "> Return the chain complex $Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\check{\\cal C}}_*({\\cal G}),\\mathbb{Z})$. Because of the particular structure of ${\\check{\\cal C}}_*({\\cal G})$, this chain complex is nothing but $[{\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\check{\\cal C}}_*({\\cal G})]\\otimes Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z},\\mathbb{Z}),$ where the twisted tensor product is the botton chain complex of the Brown reduction of the fibration of the simplicial group.\n", + "\n", + "`cs-hat-left-perturbation` *smgr* *[Function]*\n", + "> Return the morphism corresponding to the differential perturbation $\\delta_l$ induced by the twisted tensor product. This morphism is nothing but the tensor product of two morphisms: the perturbation morphism by-product of the Brown reduction of the fibration of the simplicial group and the identity morphism on $Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z},\\mathbb{Z})$.\n", + "\n", + "`cs-left-hmeq-hat` *smgr* *[Function]*\n", + "> Return the chain complex ${\\rm Hat}_{tt}=Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z})$ by perturbing the chain complex ${\\rm Hat}_{ut}$ by the perturbation $\\delta_l$.\n", + "\n", + "`cs-pre-left-hmeq-left-reduction` *smgr* *[Function]*\n", + ">Build the reduction $${\\rm Hat}_{tu}=Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow {\\cal C}_*(\\bar{\\cal W}{\\cal G}).$$ \n", + "\n", + "`cs-pre-left-hmeq-right-reduction` *smgr* *[Function]*\n", + "> Build the reduction $${\\rm Hat}_{ut}=Bar^{{\\cal C}_*({\\cal G})}({\\check{\\cal C}}_*({\\cal G})\\otimes_t {\\cal C}_*(\\bar{\\cal W}{\\cal G}),\\mathbb{Z}) \\Longrightarrow Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}).$$\n", + "\n", + "`cs-left-hmeq-left-reduction` *smgr* *[Function]*\n", + "> Build the Rubio reduction $$Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow{\\cal C}_*(\\bar{\\cal W}{\\cal G})$$ by perturbing by the perturbation $\\delta_r$ the reduction $${\\rm Hat}_{tu} \\Longrightarrow {\\cal C}_*(\\bar{\\cal W}{\\cal G})$$ obtained by the function {\\tt pre-left-hmeq-left-reduction}.\n", + "\n", + "`cs-left-hmeq-right-reduction` *smgr* *[Function]*\n", + "> Build the reduction $$Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\Longrightarrow Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z})$$\n", + "by perturbing by the perturbation $\\delta_l$ the reduction $${\\rm Hat}_{ut} \\Longrightarrow Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z})$$ obtained by the function `cs-pre-left-hmeq-right-reduction`.\n", + "\n", + "`cs-left-hmeq` *smgr* *[Function]*\n", + "> Build the homotopy equivalence\n", + "$$\\begin{aligned}\n", + " &\\qquad Bar^{{\\cal C}_*({\\cal G})}({\\cal C}_*(\\bar{\\cal W}{\\cal G})\\otimes_t {\\cal C}_*({\\cal G}),\\mathbb{Z}) \\cr\n", + " \\swarrow\\nearrow & & \\searrow\\nwarrow\\qquad \\cr\n", + " {\\cal C}_*(\\bar{\\cal W}{\\cal G}) & & Bar^{{\\cal C}_*({\\cal G})}(\\mathbb{Z}, \\mathbb{Z}) \\cr\n", + "\\end{aligned}$$\n", + "from the above reductions. The function `classifying-space-efhm` composes this left homotopy equivalence $H_L$ with the homotopy equivalence $H_R$ which is the Bar of a pre-existing homotopy equivalence (possibly the trivial one) between the module ${\\cal G}$ and an effective version of it, as described at the beginning of this chapter.\n", + "\n", + "### Searching homology for classifying spaces\n", + "\n", + "The origin list of a classifying space object has the form `(CLASSIFYING-SPACE` *smgr*`)`. The `search-efhm` method applied to a classifying space object consists essentially in a call to the function `classifying-space-efhm` described just above.\n", + "```commonlisp\n", + "(defmethod SEARCH-EFHM (classifying-space (orgn (eql 'classifying-space)))\n", + " (declare (type simplicial-set classifying-space))\n", + " (classifying-space-efhm (second (orgn classifying-space))))\n", + "```\n", + "The following Lisp definition of the function `classifying-space-efhm` shows that the process may be recursive if it happens that *smrg* is itself a classifying space:\n", + "```commonlisp\n", + "(defun CLASSIFYING-SPACE-EFHM (smgr)\n", + " (declare (type simplicial-group smgr))\n", + " (let ((left-hmeq (cs-left-hmeq smgr))\n", + " (right-hmeq (bar (efhm smgr))))\n", + " (declare (type homotopy-equivalence left-hmeq right-hmeq))\n", + " (cmps left-hmeq right-hmeq)))\n", + "```\n", + "\n", + "### Examples" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SBCL Lisp", + "language": "lisp", + "name": "lisp" + }, + "language_info": { + "codemirror_mode": "text/x-common-lisp", + "mimetype": "text/x-common-lisp", + "name": "common-lisp", + "pygments_lexer": "common-lisp", + "version": "X3J13" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}