From 4d9aca34127ee15b90f6ed89778254d49259f63b Mon Sep 17 00:00:00 2001 From: gheber Date: Thu, 5 May 2016 09:15:50 -0500 Subject: [PATCH] Added Francis' changes. --- examples/12_Fibrations.ipynb | 831 +++++++++++++++++----------------- examples/13_Loop_Spaces.ipynb | 37 +- 2 files changed, 424 insertions(+), 444 deletions(-) diff --git a/examples/12_Fibrations.ipynb b/examples/12_Fibrations.ipynb index 47f84f7..08f04d5 100644 --- a/examples/12_Fibrations.ipynb +++ b/examples/12_Fibrations.ipynb @@ -10,7 +10,7 @@ "\n", "## Notion of fibration\n", "\n", - "Let $B$ a simplicial set and $\\cal G$ a simplicial group. A *(right-hand) simplicial fibration* is defined by a **twisting operator**, $\\tau : B \\longrightarrow {\\cal G}$, of degree -1. For any dimension $n$ and for any element $b \\in B_n$, the face and degeneracy operators must satisfy the following relations:\n", + "Let $B$ be a simplicial set, called in this context the *base space*, and $\\mathcal{G}$ a simplicial group, the *structural group*. A *simplicial fibration* is defined by a **twisting operator**, $\\tau : B \\longrightarrow {\\cal G}$, of degree -1. For any dimension $n$ and for any element $b \\in B_n$, this twisting operator $\\tau$ must satisfy the following relations with respect to the face and degeneracy operators of the base space $B$ and the structural group $\\mathcal{G}$:\n", "$$\n", "\\begin{aligned}\n", "\\partial_i(\\tau b) & = & \\tau(\\partial_i b), \\qquad i < n-1, \\\\\n", @@ -21,35 +21,36 @@ "$$\n", "where $e_n$ is the neutral element of ${\\cal G}_n$.\n", "\n", - "Now, the twisting operator $\\tau$ defines a fibration of base space $B$, of fiber space $\\cal G$ and of total space $B \\times_{\\tau} {\\cal G}$, whose simplicial components are:\n", + "Now, the twisting operator $\\tau$ defines a fibration of base space $B$, of fiber space $\\mathcal{G}$, of total space $B \\times_\\tau \\mathcal{G}$ and of structural group $\\mathcal{G}$. The simplicial components $(B \\times_\\tau \\mathcal{G})_n$ of the total space $B \\times\\tau \\mathcal{G}$ are:\n", "$$ (B \\times_{\\tau} {\\cal G})_n = (B \\times {\\cal G})_n = (B_n \\times {\\cal G}_n), $$\n", "and whose face operators are defined, in any dimension $n$ and for any pair $(b,g),\\, b \\in B_n,\\, g \\in {\\cal G}_n$ by:\n", "$$\n", "\\begin{aligned}\n", "\\partial_i(b,g) & = & (\\partial_i b, \\partial_i g), \\quad i < n, \\\\\n", - "\\partial_n(b,g) & = & (\\partial_n b, \\tau(b).\\partial_n g).\n", + "\\partial_n(b,g) & = & (\\partial_n b, \\tau(b).\\partial_n g), \\\\\n", + "\\eta_i(b,g) & = & (\\eta_i b, \\eta_i g)\n", "\\end{aligned}\n", "$$\n", - "As it is well known, there are 4 natural choices for such a definition. The action of the group can be from the right or from the left and the critical index can be the last one ($n$) or the first one (0). In `Kenzo`, the implementor has chosen the non-usual one (i.e. action on the right hand and critical index, the last one), leading to the Szczarba formulas, the best choice in the case of the loop spaces.\n", + "As it is well known, there are 4 natural choices for such a definition. The action of the group can be from the right or from the left and the critical index can be the last one ($n$) or the first one (0). In `Kenzo`, the implementor has chosen the non-usual one (i.e. action on the right hand and, as critical index, the last one), leading to the Szczarba formulas, the best choice in the case of the loop spaces.\n", "\n", "## Building a twisting operator\n", "\n", "To build a twisting operator, one uses the function `build-smmr` designed as a convenient tool to build a simplicial morphism. The source (keyword `:sorc`) is the base space, a **reduced** simplicial set, the target (keyword `:trgt`) is the fiber space, a simplicial group. The degree is -1 and the morphism (keyword `:sintr`) is the internal lisp function implementing $\\tau$. See the example below, where $\\tau$ is a simple twisting operator, applying in particular the only (geometrical) simplex of degree 2 of $S^2$ upon the bar object $[1] \\in (K(\\mathbb{Z}_2,1))_1$.\n", "\n", - "In `Kenzo`, the type `FIBRATION` is defined. An object of this type must be of type `SIMPLICIAL-MRPH`, the degree of the corresponding morphism being -1. To apply the morphism, one uses the well known macro `?` or the special macro `tw-a-sintr3`.\n", + "In `Kenzo`, the type `FIBRATION` is defined. An object of this type must be of type `SIMPLICIAL-MRPH`, the degree of the corresponding morphism being -1. To apply the morphism, one uses the macro `?` or the special macro `tw-a-sintr3`.\n", "\n", "`?` *twop dmns gmsm* *[Macro]*\n", - "> Apply the twisting operator *twop* to the geometrical simplex *gmsm* in dimension *dmns*. Of course, `?` works as well with a combination of geometric simplices as in `(?` *twop cmbn*`)`.\n", + "> Apply the twisting operator *twop* to the geometrical simplex *gmsm* in dimension *dmns*. One may also make `?` work with a combination of geometric simplices as in `(?` *twop cmbn*`)`.\n", "\n", "`tw-a-sintr3` *sintr dmns absm bspn* *[Macro]*\n", - "> Apply the internal lisp function *sintr* implementing a twisting operator to the abstract simplex *absm* in dimension *dmns*. The base point *bspn* of the target simplicial set (a simplicial group) must be given, since the function may return the neutral element in dimension $dmns - 1$.\n", + "> Apply the internal lisp function *sintr* implementing a twisting operator to the *abstract* simplex *absm* in dimension *dmns*. The base point *bspn* of the target simplicial set (a simplicial group) must be given, since the function may return the neutral element in dimension $dmns - 1$.\n", "\n", "## Constructing the total space\n", "\n", "The total space associated to a twisting operator is constructed by the function `fibration-total`.\n", "\n", "`fibration-total` *fibration* *[Function]*\n", - "> Build the simplicial set, total space of the fibration. This function extracts from the simplicial morphism *fibration* (a previously defined twisting operator), the base space (a simplicial set) and the fiber space (a simplicial group) and constructs the twisted cartesian product of these simplicial sets. The face function is built using the internal function `fibration-total-face`. The non-degenerate simplices of the total space are coded exactly as those of the non-twisted product ($B \\times {\\cal G}$) obtained by the lisp call `(crts-prdc` *base* *fiber*`)`. This non-twisted cartesian product is saved into the slot `grmd` (graded module) of the instance object. If the base space and the fiber space are both of type `KAN`, then the filling function is computed y the internal function `fibration-kfll` and the function `fibration-total` returns an object of type `KAN`.\n", + "> Build the simplicial set, total space of the fibration. This function extracts from the simplicial morphism *fibration* (a previously defined twisting operator), the base space (a simplicial set) and the fiber space (a simplicial group) and constructs the corresponding twisted cartesian product of these simplicial sets. The face function is built using the internal function `fibration-total-face`. The non-degenerate simplices of the total space are coded exactly as those of the non-twisted product ($B \\times {\\cal G}$) obtained by the lisp call `(crts-prdc` *base* *fiber*`)`. This non-twisted cartesian product is saved into the slot `grmd` (graded module) of the instance object. If the base space and the fiber space are both of type `KAN`, then the filling function is computed y the internal function `fibration-kfll` and the function `fibration-total` returns an object of type `KAN`.\n", "\n", "### Examples" ] @@ -150,7 +151,7 @@ "7. RSLTS: #(#() #() #() #() #() #() #() #() #() #() ...)\n", "8. IDNM: 18\n", "9. ORGN: (S2-TW-KZ2)\n", - "10. SINTR: #\n", + "10. SINTR: #\n", "\n", "> " ] @@ -218,7 +219,7 @@ } ], "source": [ - "(tw-a-sintr3 (sintr tw2) 3 (absm 1 's2) nil)" + "(tw-a-sintr3 (sintr tw2) 3 (absm 1 's2) 0)" ] }, { @@ -231,7 +232,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -240,7 +241,7 @@ } ], "source": [ - "(tw-a-sintr3 (sintr tw2) 3 (absm 7 '*) nil)" + "(tw-a-sintr3 (sintr tw2) 3 (absm 7 '*) 0)" ] }, { @@ -273,14 +274,14 @@ ], "source": [ "(dotimes (i 3) (print (tw-a-sintr3 (sintr tw2) 3 \n", - " (absm i 's2) nil)))" + " (absm i 's2) 0)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Let us build the total space of the fibration (a simplicial set). We show some basis and compute some homology groups. The method to compute the homology groups will be explained in a following chapter." + "Let us build the total space of the fibration (a simplicial set). We show some bases and compute some homology groups. The method to compute the homology groups will be explained in a following chapter." ] }, { @@ -318,8 +319,8 @@ "text": [ "\n", "The object is a STANDARD-OBJECT of type SIMPLICIAL-SET.\n", - "0. CMPR: #\n", - "1. BASIS: #\n", + "0. CMPR: #\n", + "1. BASIS: #\n", "2. BSGN: \n", "3. DFFR: [K25 Morphism (degree -1): K24 -> K24]\n", "4. GRMD: [K19 Simplicial-Set]\n", @@ -327,7 +328,7 @@ "6. IDNM: 24\n", "7. ORGN: (FIBRATION-TOTAL [K18 Fibration K1 -> K6])\n", "8. CPRD: [K28 Morphism (degree 0): K24 -> K26]\n", - "9. FACE: #\n", + "9. FACE: #\n", "\n", "> " ] @@ -451,7 +452,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", " \n", "End of computing.\n", @@ -461,7 +462,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -477,14 +478,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -494,13 +495,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 2) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 2) :\n", " \n", "End of computing.\n", @@ -514,20 +515,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 2) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 2) :\n", " \n", "End of computing.\n", @@ -537,13 +538,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 3) :\n", " \n", "End of computing.\n", @@ -559,20 +560,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 3) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 3) :\n", " \n", "End of computing.\n", @@ -582,13 +583,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", " \n", "End of computing.\n", @@ -604,20 +605,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 4) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 4) :\n", " \n", "End of computing.\n", @@ -627,13 +628,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 5) :\n", " \n", "End of computing.\n", @@ -647,20 +648,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 5) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 5) :\n", " \n", "End of computing.\n", @@ -670,13 +671,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 6) :\n", " \n", "End of computing.\n", @@ -692,20 +693,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 6) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 6) :\n", " \n", "End of computing.\n", @@ -715,13 +716,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", " \n", "End of computing.\n", @@ -735,20 +736,20 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 7) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 7) :\n", " \n", "End of computing.\n", @@ -758,13 +759,13 @@ "Rank of the source-module : 2.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/2 (dimension 8) :\n", " \n", "End of computing.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 2/2 (dimension 8) :\n", " \n", "End of computing.\n", @@ -780,7 +781,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n" ] }, @@ -917,7 +918,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", " \n", "End of computing.\n", @@ -927,7 +928,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -943,14 +944,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -960,7 +961,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -974,14 +975,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -991,7 +992,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1005,14 +1006,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1032,7 +1033,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", @@ -1051,7 +1052,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", @@ -1070,7 +1071,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n" ] }, @@ -1204,7 +1205,35 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The program `Kenzo` provides the function `make-hopf` to build Hopf fibrations. The lisp definition is the following:" + "The program `Kenzo` provides the function `hopf-fibration` to build Hopf fibrations. The lisp definition is the following:\n", + "\n", + "```commonlisp\n", + "(defun HOPF-FIBRATION-SINTR (n)\n", + " (declare (fixnum n))\n", + " (flet ((rslt (dmns gmsm)\n", + " (declare (ignore dmns gmsm))\n", + " (if (zerop n)\n", + " (absm 1 +empty-list+)\n", + " (absm 0 (list n)))))\n", + " (the sintr #'rslt)))\n", + "\n", + "(defun HOPF-FIBRATION (n)\n", + " (declare (fixnum n))\n", + " (the simplicial-mrph\n", + " (build-smmr\n", + " :sorc (sphere 2)\n", + " :trgt (k-z-1)\n", + " :degr -1\n", + " :sintr (hopf-fibration-sintr n)\n", + " :orgn `(hopf ,n))))\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the definition of the lisp function for the slot `sintr`, we see that the simplicial morphism applies in particular the only geometric simplex in dimension 2 of $S^2$ onto the bar object $[n] \\in (K(\\mathbb{Z},1))_1$. If $n=0$, this is $\\eta_0 [\\ ]$, i.e. the 0-degeneracy of the base point `NIL`. We give some examples of some fibrations and of the corresponding total spaces in function of the parameter `n`. First we generate 4 fibrations and apply the twisting operator on the geometrical simplex `s2`." ] }, { @@ -1217,7 +1246,7 @@ { "data": { "text/plain": [ - "MAKE-HOPF" + "[K187 Fibration K1 -> K84]" ] }, "execution_count": 25, @@ -1226,31 +1255,10 @@ } ], "source": [ - "(defun HOPF-SINTR (n)\n", - " (declare (fixnum n))\n", - " (flet ((rslt (dmns gmsm)\n", - " (declare (ignore dmns gmsm))\n", - " (if (zerop n)\n", - " (absm 1 +empty-list+)\n", - " (absm 0 (list n)))))\n", - " (the sintr #'rslt)))\n", - "\n", - "(defun MAKE-HOPF (n)\n", - " (declare (fixnum n))\n", - " (the simplicial-mrph\n", - " (build-smmr\n", - " :sorc (sphere 2)\n", - " :trgt (k-z-1)\n", - " :degr -1\n", - " :sintr (hopf-sintr n)\n", - " :orgn `(hopf ,n))))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the definition of the lisp function for the slot `sintr`, we see that the simplicial morphism applies in particular the only geometric simplex in dimension 2 of $S^2$ onto the bar object $[n] \\in (K(\\mathbb{Z},1))_1$. If $n=0$, this is $\\eta_0 [\\ ]$, i.e. the 0-degeneracy of the base point `NIL`. We give some examples of some fibrations and of the corresponding total spaces in function of the parameter `n`. First we generate 4 fibrations and apply the twisting operator on the geometrical simplex `s2`." + "(def h1 (hopf-fibration 1))\n", + "(def h2 (hopf-fibration 2))\n", + "(def h3 (hopf-fibration 3))\n", + "(def h10 (hopf-fibration 10))" ] }, { @@ -1259,31 +1267,6 @@ "metadata": { "collapsed": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "[K187 Fibration K1 -> K84]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(def h1 (make-hopf 1))\n", - "(def h2 (make-hopf 2))\n", - "(def h3 (make-hopf 3))\n", - "(def h10 (make-hopf 10))" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "collapsed": false - }, "outputs": [ { "data": { @@ -1291,7 +1274,7 @@ "( )" ] }, - "execution_count": 27, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1304,12 +1287,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Then we generate the corresponding total space and get some homology groups." + "Then we generate the corresponding total space and get some homology groups. As already seen, `t1` is a strange simplicial model for the 3-sphere $S^3$. Also, `t2` is a simplcial model for the real projective space $P^3\\mathbb{R} = S^3 / (\\mathbb{Z}/2)$." ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "metadata": { "collapsed": false }, @@ -1320,7 +1303,7 @@ "[K203 Simplicial-Set]" ] }, - "execution_count": 28, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1332,6 +1315,270 @@ "(def t10 (fibration-total h10))" ] }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "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 -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 1.\n", + "Rank of the source-module : 1.\n", + "\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 2.\n", + "Rank of the source-module : 1.\n", + "\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\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 -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 3.\n", + "Rank of the source-module : 1.\n", + "\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\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 : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 3 :\n", + "\n", + "\n", + "Component Z\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 4.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 5.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 4 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 5.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 6.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 5 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 6.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 7.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 6 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 7.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 8.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 7 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 8.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 9.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 8 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 9.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "Computing boundary-matrix in dimension 10.\n", + "Rank of the source-module : 0.\n", + "\n", + "\n", + "\n", + "\n", + "Homology in dimension 9 :\n", + "\n", + "\n", + "\n", + "---done---\n", + "\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "NIL" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(homology t1 0 10)" + ] + }, { "cell_type": "code", "execution_count": 29, @@ -1348,7 +1595,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", " \n", "End of computing.\n", @@ -1358,7 +1605,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -1374,14 +1621,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -1391,7 +1638,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -1402,17 +1649,19 @@ "Homology in dimension 1 :\n", "\n", "\n", + "Component Z/2Z\n", + "\n", "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -1422,7 +1671,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1436,14 +1685,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1463,7 +1712,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 4.\n", @@ -1482,7 +1731,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 5.\n", @@ -1501,7 +1750,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 6.\n", @@ -1520,7 +1769,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 7.\n", @@ -1539,7 +1788,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 8.\n", @@ -1558,7 +1807,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 9.\n", @@ -1577,7 +1826,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n" ] }, @@ -1593,7 +1842,7 @@ } ], "source": [ - "(homology t1 0 10)" + "(homology t2 0 10)" ] }, { @@ -1612,7 +1861,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 0) :\n", " \n", "End of computing.\n", @@ -1622,7 +1871,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -1638,14 +1887,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 1.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -1655,273 +1904,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\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", - "Component Z/2Z\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 2.\n", - "Rank of the source-module : 1.\n", - "\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\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 -> 2016-04-24, 0h 3m 41s.\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 -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 3.\n", - "Rank of the source-module : 1.\n", - "\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\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 : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 3 :\n", - "\n", - "\n", - "Component Z\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 4.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 5.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 4 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 5.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 6.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 5 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 6.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 7.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 6 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 7.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 8.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 7 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 8.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 9.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 8 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 9.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 10.\n", - "Rank of the source-module : 0.\n", - "\n", - "\n", - "\n", - "\n", - "Homology in dimension 9 :\n", - "\n", - "\n", - "\n", - "---done---\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "NIL" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(homology t2 0 10)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, - "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 -> 2016-04-24, 0h 3m 41s.\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 -> 2016-04-24, 0h 3m 41s.\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 -> 2016-04-24, 0h 3m 41s.\n", - "\n", - "\n", - "Computing boundary-matrix in dimension 1.\n", - "Rank of the source-module : 1.\n", - "\n", - "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\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 -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -1937,14 +1920,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 2.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -1954,7 +1937,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1968,14 +1951,14 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n", "\n", "Computing boundary-matrix in dimension 3.\n", "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 3) :\n", " \n", "End of computing.\n", @@ -1995,7 +1978,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n" ] }, @@ -2005,7 +1988,7 @@ "NIL" ] }, - "execution_count": 31, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -2016,7 +1999,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "metadata": { "collapsed": false }, @@ -2030,7 +2013,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 1) :\n", " \n", "End of computing.\n", @@ -2040,7 +2023,7 @@ "Rank of the source-module : 1.\n", "\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "Computing the boundary of the generator 1/1 (dimension 2) :\n", " \n", "End of computing.\n", @@ -2056,7 +2039,7 @@ "\n", "---done---\n", "\n", - ";; Clock -> 2016-04-24, 0h 3m 41s.\n", + ";; Clock -> 2016-05-05, 14h 0m 4s.\n", "\n" ] }, @@ -2066,7 +2049,7 @@ "NIL" ] }, - "execution_count": 32, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } diff --git a/examples/13_Loop_Spaces.ipynb b/examples/13_Loop_Spaces.ipynb index e6eb553..9847f5c 100644 --- a/examples/13_Loop_Spaces.ipynb +++ b/examples/13_Loop_Spaces.ipynb @@ -14,15 +14,15 @@ "\n", "**Definition.** A word is a *finite* sequence of letters, possibly repeated, without any pair of the form $a_ja_j^{-1}$ and $a_k^{-1}a_k$. The word is said *reduced*.\n", "\n", - "Now, let $\\mathbb{Z}^{*{\\cal A}}$ the set of *words* on $\\cal A$. It is easy to show that if we define in $\\mathbb{Z}^{*{\\cal A}}$ an internal law of composition as the formal *concatenation* of two words, on which the cancelation rule is applied, i.e. any pair of the form $a_ja_j^{-1}$ and $a_k^{-1}a_k$ is replaced by the *void sequence*, then $\\mathbb{Z}^{*{\\cal A}}$ is a group (non-commutative in general). The void word is the neutral element for that law. If we consider the concatenation as a *product*, then, as usual in group theory, a sequence of $k$ times the same letter $a$ will be written $a^k$ and a sequence of $k$ times the same letter $a^{-1}$, $a^{-k}$. So a word formed from letters by the concatenation product together with the cancellation rule, will be written under the reduced form:\n", + "Now, let $F(\\cal A)$ the set of *words* on $\\cal A$. It is easy to show that if we define in $F(\\cal A)$ an internal law of composition as the formal *concatenation* of two words, on which the cancelation rule is applied, i.e. any pair of the form $a_ja_j^{-1}$ and $a_k^{-1}a_k$ is replaced by the *void sequence*, then $F(\\cal A)$ is a group (non-commutative in general). The void word is the neutral element for that law. If we consider the concatenation as a *product*, then, as usual in group theory, a sequence of $k$ times the same letter $a$ will be written $a^k$ and a sequence of $k$ times the same letter $a^{-1}$, $a^{-k}$. So a word formed from letters by the concatenation product together with the cancellation rule, will be written under the reduced form:\n", "$$a_1^{n_1}a_2^{n_2}\\ldots a_k^{n_k},\\ n_i\\in \\mathbb{Z}^*,\\ a_i\\in {\\cal A},\\ a_i \\not= a_{i+1}$$\n", "and its inverse is\n", "$$a_k^{-n_k}\\ldots a_2^{-n_2}a_1^{-n_1}.$$\n", - "After this resume, let $X$ be a reduced simplicial set (i.e. having only one 0-simplex, namely its base point). The Kan simplicial version $GX$ of the loop space $\\Omega(|X|)$ is defined as follows. The set of $n$-simplices $GX_n$ is the free group generated by the $(n+1)$-simplices $\\sigma \\in X_{n+1}$ except those which are $n$-degenerate. In other words:\n", - "$$ GX_n=\\mathbb{Z}^{*X^+_{n+1}},\\ X^+_{n+1}=X_{n+1}-\\eta_n X_n. $$\n", + "Now let $X$ be a reduced simplicial set (i.e. having only one 0-simplex, namely its base point). The Kan simplicial version $GX$ of the loop space $\\Omega(|X|)$ is defined as follows. The set of $n$-simplices $GX_n$ is the free group generated by the $(n+1)$-simplices $\\sigma \\in X_{n+1}$ except those which are $n$-degenerate. In other words:\n", + "$$ GX_n=F(X^+_{n+1}),\\ X^+_{n+1}=X_{n+1}-\\eta_n X_n. $$\n", "In fact, from a strictly mathematical point of view, the right definition is \n", - "$$ GX_n = \\mathbb{Z}^{*X^+_{n+1}} / {\\overline{\\eta_n X_n}},$$\n", - "i.e. the quotient group of $\\mathbb{Z}^{*X^+_{n+1}}$, the free group generated by **all** the $n+1$--simplices, the $n$-degenerate included, by the normal subgroup ${\\overline{\\eta_n X_n}}$ generated by the $n$-degenerate simplices. Both definitions are equivalent, the second is mathematicaly correct but only the first one is visible in the program.\n", + "$$ GX_n = F(X^+_{n+1}) / {\\overline{\\eta_n X_n}},$$\n", + "i.e. the quotient group of $F(X^+_{n+1})$, the free group generated by **all** the $n+1$-simplices, the $n$-degenerate ones included, by the normal subgroup ${\\overline{\\eta_n X_n}}$ generated by the $n$-degenerate simplices. Both definitions are equivalent, the second is mathematicaly correct but only the first one is visible in the program.\n", "\n", "For a better understanding, we may distinguish carefully a generator $\\sigma$ belonging to $X_{n+1}$ and the corresponding letter $\\tau (\\sigma) \\in GX_n$. So a word, element of $GX_n$ will be written \n", "$${\\tau(\\sigma_1)}^{\\epsilon_1} {\\tau(\\sigma_2)}^{\\epsilon_2} \\ldots {\\tau(\\sigma_p)}^{\\epsilon_p}.$$\n", @@ -36,19 +36,16 @@ "\\overline{\\eta}_i(\\tau(\\sigma)) & = & \\tau(\\eta_i\\sigma),\\qquad 0 \\leq i \\leq n.\n", "\\end{aligned}\n", "$$\n", - "When applied to words, the two homomorphisms, $\\overline{\\partial}$ and $\\overline{\\eta}$, satisfy (for clarity, we omit here the operator $\\tau$):\n", + "\n", + "These definitions for the generators of $GX_n$ extend to arbitrary elements in a unique way, for example:\n", "$$\n", - "\\begin{aligned}\n", - "\\overline{\\partial}(a_1^{n_1}\\ldots a_k^{n_k}) &=& (\\overline{\\partial}(a_1))^{n_1}\\ldots \n", - " (\\overline{\\partial}(a_k))^{n_k}, \\\\\n", - "\\overline{\\eta}(a_1^{n_1}\\ldots a_k^{n_k}) &=& (\\overline{\\eta}(a_1))^{n_1}\\ldots (\\overline{\\eta}(a_k))^{n_k}. \n", - "\\end{aligned}\n", + "\\overline{\\partial}_i(a_1^{n_1} \\cdots a_k^{n_k}) = (\\partial_i(a_1))^{n_1} \\cdots (\\partial_i(a_k))^{n_k}\n", "$$\n", - "It is known that the $\\overline{\\partial}_i$ and the $\\overline{\\eta}_i$ satisfy the fundamental relations between face and degeneracy operators (see the chapter on simplicial sets). So, $GX$ is itself a simplicial set; each $GX_n$ is a group, each face and degeneracy operator is an homomorphism, so that $GX$ is a *simplicial group*. The importance of the simplicial group $GX$ is emphasized by the Kan theorem, stating that if we consider the realization $|X|$ of $X$ and the loop space $\\Omega(|X|, x_0)$ at the base point $x_0 \\in |X|$, then $\\Omega(|X|, x_0)$ and the realization $|GX|$ of $GX$ have the same homotopy type.\n", + "It is known that the $\\overline{\\partial}_i$ and the $\\overline{\\eta}_i$ satisfy the fundamental relations between face and degeneracy operators (see the chapter on simplicial sets). So, $GX$ is itself a simplicial set; each $GX_n$ is a group, each face and degeneracy operator is a homomorphism, so that $GX$ is a *simplicial group*. The importance of the simplicial group $GX$ is emphasized by the Kan theorem, stating that if we consider the realization $|X|$ of $X$ and the loop space $\\Omega(|X|, x_0)$ at the base point $x_0 \\in |X|$, then $\\Omega(|X|, x_0)$ and the realization $|GX|$ of $GX$ have the same homotopy type.\n", "\n", "## Representation of letters and words\n", "\n", - "In the system, the chosen representation for letters and words follows the very definition of the free group $\\mathbb{Z}^{*X_{n+1}^+}$. Here, a letter is a generator of $GX_n$ i.e. an **abstract simplex** $\\sigma$ of $X^+_{n+1}$. A word will be implemented as a sequence of such letters to a certain power (including 1). The chosen terminology is the following:\n", + "In the system, the chosen representation for letters and words follows the very definition of the free group $F(X_{n+1}^+)$. Here, a letter is a generator of $GX_n$ i.e. an **abstract simplex** $\\sigma$ of $X^+_{n+1}$. A word will be implemented as a sequence of such letters to a certain power (including 1). The chosen terminology is the following:\n", "\n", "- A term like $\\sigma^p$ is a **power**.\n", "- A word ${\\sigma_1}^{\\epsilon_1} {\\sigma_2}^{\\epsilon_2} \\ldots {\\sigma_p}^{\\epsilon_p}$ is a **loop**. \n", @@ -57,14 +54,14 @@ "\n", "### Representation of a power\n", "\n", - "A power is internally represented by lisp object of type `apowr`. This has the form:\n", + "A power is internally represented by a lisp object of type `apowr`. This has the form:\n", "\n", "`(`*dgop* *gmsm* `.` *expn*`)`\n", "\n", "in which we may recognize:\n", "\n", "- the components of the abstract simplex: *dgop* and *gmsm*,\n", - "- the exponent of the letter: *expn*, an integer.\n", + "- the exponent of the letter: *expn*, a non-zero integer.\n", "\n", "The associated constructor is the macro `apowr`.\n", "\n", @@ -75,9 +72,9 @@ "\n", "A loop is represented by a lisp object of the form:\n", "\n", - "`(:loop` $apower_1$ ... $apower_k$`)`\n", + "`#S(LOOP` $apower_1$ ... $apower_k$`)`\n", "\n", - "The corresponding type is `LOOP`. The constructor is the macro `make-loop` but the pratical one is `loop3` and the associated\n", + "The corresponding type is `LOOP`. The constructor is the macro `make-loop` but the practical one is `loop3` and the associated\n", "printing function prints the object under the form:\n", "\n", "`<>`\n", @@ -472,9 +469,9 @@ "output_type": "stream", "text": [ "\n", - "The object is a STANDARD-OBJECT of type CAT::SIMPLICIAL-SET.\n", + "The object is a STANDARD-OBJECT of type SIMPLICIAL-SET.\n", "0. CMPR: #\n", - "1. BASIS: #\n", + "1. BASIS: #\n", "2. BSGN: *\n", "3. DFFR: [K19 Morphism (degree -1): K18 -> K18]\n", "4. GRMD: [K18 Simplicial-Set]\n", @@ -482,7 +479,7 @@ "6. IDNM: 18\n", "7. ORGN: (BUILD-FINITE-SS (* 2 S2 (* * *) 3 S3 (S2 S2 S2 S2)))\n", "8. CPRD: [K22 Morphism (degree 0): K18 -> K20]\n", - "9. FACE: #\n", + "9. FACE: #\n", "\n", "> \n", "Checking the 0-simplices...\n",