{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "To load \"kenzo\":\n", " Load 1 ASDF system:\n", " kenzo\n", "; Loading \"kenzo\"\n", "\n" ] }, { "data": { "text/plain": [ "#" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(ql:quickload \"kenzo\")\n", "(in-package :cat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Computing homotopy groups\n", "\n", "## Mathematical aspects\n", "\n", "The method used here to compute the homotopy groups is known as the **Whitehead tower**. We recall some mathematical points:\n", "\n", "### 1) The Hurewicz theorem.\n", "\n", "**Theorem.** *Let X be a 1-connected space such that all its homology groups $H_r(X)$ are null\n", "for $0 Return a \"fundamental\" cohomology class, more precisely a cocycle $\\chi$ defining it. The first argument *chcm* must be a chain complex $C_*$ with effective homology; in particular, an effective chain complex $EC_*$ is a by-product of the machine object $C_*$. The second argument \"*first*\" is an integer $n$, namely the first non-null dimension from which the chain complex *chcm* has a non-null homology group, which {\\bf must be isomorphic to $\\mathbb{Z}$} or $\\mathbb{Z}/{2 \\mathbb{Z}}$. The reader may be amazed that this argument \"*first*\" must be provided, since it is a consequence of the given $C_*$. But in fact, the same function `chml-class` may also be used in different contexts, for example, the Postnikov tower; in such a case, the argument *first* is not redundant. The returned cocycle $\\chi$ is in any case a chain complex morphism $\\chi: EC_* \\longrightarrow \\mathbb{Z}$, where $\\mathbb{Z}$ is the unit chain complex created by the function `z-chcm`. The degree of the morphism is $-n$. It is important to note that the chain complex involved in the source of the morphism is the **effective** chain complex of the homotopy equivalence value of the slot `efhm` of the object *chcm*. See the section *The general method for computing homology* in the Homology chapter. Finally, if $H_n(C_*)=\\mathbb{Z}/{2 \\mathbb{Z}}$, the actual cohomology class hoped by the user is the composition $p \\circ \\chi$, where $p$ is the canonical projection $\\mathbb{Z}\\longrightarrow\\mathbb{Z}/{2\\mathbb{Z}}$. But nevertheless, the `chml-clss` lisp function returns $\\chi$ and not $p \\circ \\chi$.\n", "\n", "`z-whitehead` *smst chml-clss* *[Function]*\n", "> Return a fibration over the simplicial set *smst* (the first argument), canonically associated to the \"cohomology class\" *chml-clss* (the second argument). The simplicial set $X$, i.e. *smst*, is reduced; its homotopy groups $\\pi_r(X)$ are null for $0 \\leq r \\leq n-1$. The first non null homotopy group $\\pi_n(X)$ is assumed to be $\\mathbb{Z}$, i.e. $\\pi_n(X)= H_n(X)= \\mathbb{Z}$. The previous function `chml-clss`, in this situation, returns a cocycle $\\chi$, which may be used as the second argument *chml-clss* of the function `z-whitehead`. The integer $n$ is determined by the absolute value of the degree of the cohomology class *chcm-clss*. As explained in the previous section, a canonical fibration is induced by $\\chi$ and it is this fibration which is returned by `z-whitehead`. The slot `sintr` of the fibration is set by the internal function `z-whitehead-sintr` which builds in an efficient way the lisp function implementing the twisting operator $\\tau \\circ \\varphi_\\chi$.\n", "\n", "`z2-whitehead` *smst chcm-clss* *[Function]*\n", "> Return a fibration over the simplicial set *smst* (the first argument), canonically associated to the \"cohomology class\" *chml-clss* (the second argument). The simplicial set $X$, i.e. *smst*, is reduced; its homotopy groups $\\pi_r(X)$ are null for $0 \\leq r \\leq n-1$. The first non null homotopy group $\\pi_n(X)$ is assumed to be $\\mathbb{Z}/2\\mathbb{Z}$, i.e. $\\pi_n(X)= H_n(X)= \\mathbb{Z}/2\\mathbb{Z}$. The previous function `chml-clss`, in this situation, returns a \"cocycle\" $\\chi$, which may be used as the second argument *chml-clss* of the function `z2-whitehead`. The integer $n$ is determined by the absolute value of the degree of the cohomology class *chcm-clss*. In this $\\mathbb{Z}/2\\mathbb{Z}$ case, $\\chi$ is even not a cocycle. The actual cocycle is obtained by the composition $p \\circ \\chi$, $p$ being the canonical projection $\\mathbb{Z} \\longrightarrow \\mathbb{Z}/{2 \\mathbb{Z}}$. But the user is not concerned by these technicalities, because the function `z2-whitehead` makes itself the necessary conversion. The slot `sintr` of the fibration is set by the internal function `z2-whitehead-sintr` which builds in an efficient way the lisp function implementing the twisting operator $\\tau \\circ \\varphi_\\chi$.\n", "\n", "### Examples\n", "\n", "Let us retrieve some known facts about $S^3$, in particular $\\pi_4(S^3) \\simeq \\mathbb{Z}/{2 \\mathbb{Z}}$. We follow the theoritical method exposed above, namely build the fibration\n", "$$K(\\mathbb{Z},2) \\quad \\hookrightarrow\\quad S^3 \\times_{\\tau_\\chi} K(\\mathbb{Z},2) \\hskip 1.2em \\longrightarrow \\hskip -1.2em \\longrightarrow\\quad S^3,$$\n", "and get the homology group in dimension 4 of the total space." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K1 Simplicial-Set]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3 (sphere 3))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", "* \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", "S3 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", "S3 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology s3 0 4)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K12 Cohomology-Class on K1 of degree 3]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-chml-clss (chml-clss s3 3))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K37 Fibration K1 -> K25]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-fibr (z-whitehead s3 s3-chml-clss))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K43 Simplicial-Set]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-total (fibration-total s3-fibr))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 6) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology s3-total 0 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us show a similar example with the space $Moore(2,4)$. As $H_4 \\simeq \\mathbb{Z}/{2 \\mathbb{Z}}$, the function for building the fibration is `z2-whitehead`. We verify that $\\pi_5(Moore(2,4))\\simeq \\mathbb{Z}/{2 \\mathbb{Z}}$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "---done---" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(cat-init)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K1 Simplicial-Set]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def m24 (moore 2 4))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Dimension = 0:\n", "\n", " Vertices : (*)\n", "\n", "Dimension = 1:\n", "\n", "Dimension = 2:\n", "\n", "Dimension = 3:\n", "\n", "Dimension = 4:\n", "\n", " Simplex : M4\n", "\n", " Faces : ( )\n", "\n", "Dimension = 5:\n", "\n", " Simplex : N5\n", "\n", " Faces : ( )\n", "\n", "Dimension = 6:" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(show-structure m24 6)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", "* \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "M4 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "M4 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", "N5 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology m24 0 5)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K12 Cohomology-Class on K1 of degree 4]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def m24-chml-clss (chml-clss m24 4))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K49 Fibration K1 -> K37]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def m24-fibr (z2-whitehead m24 m24-chml-clss))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K55 Simplicial-Set]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def m24-total (fibration-total m24-fibr))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 3.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/3 (dimension 5) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/3 (dimension 5) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/3 (dimension 5) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 3.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/3 (dimension 5) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/3 (dimension 5) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/3 (dimension 5) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 4.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/4 (dimension 6) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/4 (dimension 6) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/4 (dimension 6) :\n", ">]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 4/4 (dimension 6) :\n", ">][3 <>]>>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology m24-total 0 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may even verify that, up to 9, the homotopy groups of the classifying group $K(\\mathbb{Z},5)$, for instance, are null except $\\pi_5$. This is a far-fetched method to verify this well known result, but\n", "it proves that the software is coherent." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K410 Abelian-Simplicial-Group]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def k5 (k-z 5))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K935 Cohomology-Class on K920 of degree 5]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def k5-chml-clss (chml-clss k5 5))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K938 Fibration K410 -> K398]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def k5-fibr (z-whitehead k5 k5-chml-clss)) " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K939 Kan-Simplicial-Set]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def k5-total (fibration-total k5-fibr))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", "> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 6) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/1 (dimension 6) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", "> <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 6 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", "> <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 3.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/3 (dimension 8) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/3 (dimension 8) :\n", "> <>]>>][4 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/3 (dimension 8) :\n", ">][3 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 7 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 3.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/3 (dimension 8) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/3 (dimension 8) :\n", "> <>]>>][4 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/3 (dimension 8) :\n", ">][3 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 5.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/5 (dimension 9) :\n", "> <>][5 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/5 (dimension 9) :\n", "> <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/5 (dimension 9) :\n", ">]>>]>>]>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 4/5 (dimension 9) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 5/5 (dimension 9) :\n", ">]>>][4 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 8 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 5.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/5 (dimension 9) :\n", "> <>][5 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/5 (dimension 9) :\n", "> <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/5 (dimension 9) :\n", ">]>>]>>]>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 4/5 (dimension 9) :\n", ">]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 5/5 (dimension 9) :\n", ">]>>][4 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 10.\n", "Rank of the source-module : 7.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 1/7 (dimension 10) :\n", "> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 2/7 (dimension 10) :\n", "> <>][3 <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 10s.\n", "Computing the boundary of the generator 3/7 (dimension 10) :\n", "> <>]>>][6 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 11s.\n", "Computing the boundary of the generator 4/7 (dimension 10) :\n", "> <>]>>][4 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 11s.\n", "Computing the boundary of the generator 5/7 (dimension 10) :\n", ">][5 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 11s.\n", "Computing the boundary of the generator 6/7 (dimension 10) :\n", ">][3 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 11s.\n", "Computing the boundary of the generator 7/7 (dimension 10) :\n", ">]>>]>>][5 <>]>>]>>]>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 9 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology k5-total 0 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us show now the iteration of the process, to get for instance $\\pi_5(S^3)$ and $\\pi_6(S^3)$:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "---done---" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(cat-init)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K1 Simplicial-Set]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3 (sphere 3))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K12 Cohomology-Class on K1 of degree 3]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-chml-clss (chml-clss s3 3))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K37 Fibration K1 -> K25]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-fibration (z-whitehead s3 s3-chml-clss))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K43 Simplicial-Set]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-4 (fibration-total s3-fibration))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", ">> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", ">> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology s3-4 4)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K253 Cohomology-Class on K238 of degree 4]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-4-chml-clss (chml-clss s3-4 4))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K292 Fibration K43 -> K278]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-4-fibration (z2-whitehead s3-4 s3-4-chml-clss))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K298 Simplicial-Set]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-5 (fibration-total s3-4-fibration))" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 4.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/4 (dimension 5) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 2/4 (dimension 5) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 3/4 (dimension 5) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 4/4 (dimension 5) :\n", ">> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 7.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/7 (dimension 6) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 2/7 (dimension 6) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 3/7 (dimension 6) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 4/7 (dimension 6) :\n", ">> <>][3 <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 5/7 (dimension 6) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 6/7 (dimension 6) :\n", ">> <>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 7/7 (dimension 6) :\n", ">> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology s3-5 5)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K609 Cohomology-Class on K594 of degree 5]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-5-chml-clss (chml-clss s3-5 5))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K624 Fibration K298 -> K610]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-5-fibration (z2-whitehead s3-5 s3-5-chml-clss))" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K630 Simplicial-Set]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def s3-6 (fibration-total s3-5-fibration))" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 10.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/10 (dimension 6) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 2/10 (dimension 6) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 3/10 (dimension 6) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 4/10 (dimension 6) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 5/10 (dimension 6) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 6/10 (dimension 6) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 7/10 (dimension 6) :\n", ">> <>][3 <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 8/10 (dimension 6) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 9/10 (dimension 6) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 10/10 (dimension 6) :\n", ">> <>> <>> \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 19.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 1/19 (dimension 7) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 2/19 (dimension 7) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 3/19 (dimension 7) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 4/19 (dimension 7) :\n", ">> <>> <>][3 <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 5/19 (dimension 7) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 6/19 (dimension 7) :\n", ">> <>]>>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 7/19 (dimension 7) :\n", ">> <>> <>]>>]>>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 8/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 9/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 10/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 11/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 12/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 13/19 (dimension 7) :\n", ">> <>][4 <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 14/19 (dimension 7) :\n", ">> <>][3 <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 15/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 16/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 17/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 18/19 (dimension 7) :\n", ">> <>]>>> <>> \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 12s.\n", "Computing the boundary of the generator 19/19 (dimension 7) :\n", ">> <>> <>> \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 6 :\n", "\n", "\n", "Component Z/12Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology s3-6 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An interesting example is given by the real projective space $P^\\infty\\mathbb{R}/P^1\\mathbb{R}$ which may be built in `Kenzo` by the function `r-proj-space`. We list its first homotopy groups." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "---done---" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(cat-init)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K1 Simplicial-Set]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def x (r-proj-space 2))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", "0 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 0.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", "2 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", "2 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", "3 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", "3 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "4 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 4) :\n", "4 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", "5 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 5) :\n", "5 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 6) :\n", "6 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 6) :\n", "6 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 7) :\n", "7 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 6 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 7) :\n", "7 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 8) :\n", "8 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 7 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 8) :\n", "8 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 9) :\n", "9 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 8 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 9) :\n", "9 \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 10.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 10) :\n", "10 \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 9 :\n", "\n", "\n", "Component Z/2Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology x 0 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the machinery described in this chapter, we find that the total space of the fibration has the same homology groups as $S^3$. It has been effectively proved that this space is homotopic to $S^3$." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K12 Cohomology-Class on K1 of degree 2]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def ch (chml-clss x 2))" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K25 Fibration K1 -> K13]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def f2 (z-whitehead x ch))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[K31 Simplicial-Set]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(def x3 (fibration-total f2))" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Computing boundary-matrix in dimension 0.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 0 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 1 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 2 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 3 :\n", "\n", "\n", "Component Z\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 4 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 5 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 6 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 8) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 8) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 7 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 8) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 2/2 (dimension 8) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 15s.\n", "Computing the boundary of the generator 1/2 (dimension 9) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 16s.\n", "Computing the boundary of the generator 2/2 (dimension 9) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 8 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 16s.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 16s.\n", "Computing the boundary of the generator 1/2 (dimension 9) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 16s.\n", "Computing the boundary of the generator 2/2 (dimension 9) :\n", " \n", "End of computing.\n", "\n", "\n", "Computing boundary-matrix in dimension 10.\n", "Rank of the source-module : 2.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 16s.\n", "Computing the boundary of the generator 1/2 (dimension 10) :\n", " \n", "End of computing.\n", "\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 21s.\n", "Computing the boundary of the generator 2/2 (dimension 10) :\n", " \n", "End of computing.\n", "\n", "\n", "\n", "\n", "Homology in dimension 9 :\n", "\n", "\n", "\n", "---done---\n", "\n", ";; Clock -> 2017-10-08, 12h 34m 25s.\n", "\n" ] }, { "data": { "text/plain": [ "NIL" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(homology x3 0 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lisp files concerned in this chapter\n", "\n", "`whitehead.lisp`, `smith.lisp`." ] } ], "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": 1 }