2105 lines
51 KiB
Plaintext
2105 lines
51 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Fibrations\n",
|
|
"\n",
|
|
"In `Kenzo`, the fibration theory is applied in the simplicial frame and limited to the *simplicial principal fiber spaces*.\n",
|
|
"\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",
|
|
"$$\n",
|
|
"\\begin{aligned}\n",
|
|
"\\partial_i(\\tau b) & = & \\tau(\\partial_i b), \\qquad i < n-1, \\\\\n",
|
|
"\\partial_{n-1}(\\tau b) & = & [\\tau(\\partial_n b)]^{-1}.\\tau(\\partial_{n-1} b), \\\\\n",
|
|
"\\eta_i(\\tau b) & = & \\tau (\\eta_i b), \\qquad i \\leq n-1, \\\\\n",
|
|
"e_n & = & \\tau(\\eta_n b). \n",
|
|
"\\end{aligned}\n",
|
|
"$$\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",
|
|
"$$ (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",
|
|
"\\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",
|
|
"\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",
|
|
"\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",
|
|
"\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",
|
|
"\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",
|
|
"\n",
|
|
"### Examples"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K1 Simplicial-Set]"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def s2 (sphere 2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K6 Abelian-Simplicial-Group]"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def kz2 (k-z2-1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K18 Fibration K1 -> K6]"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def tw2 (build-smmr\n",
|
|
" :sorc s2\n",
|
|
" :trgt kz2\n",
|
|
" :degr -1\n",
|
|
" :sintr #'(lambda (dmns gmsm)\n",
|
|
" (declare (ignore dmns gmsm))\n",
|
|
" (absm 0 1))\n",
|
|
" :orgn '(s2-tw-kz2)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"The object is a STANDARD-OBJECT of type SIMPLICIAL-MRPH.\n",
|
|
"0. SORC: [K1 Simplicial-Set]\n",
|
|
"1. TRGT: [K6 Abelian-Simplicial-Group]\n",
|
|
"2. DEGR: -1\n",
|
|
"3. INTR: NIL\n",
|
|
"4. STRT: :GNRT\n",
|
|
"5. ???-CLNM: 0\n",
|
|
"6. ?-CLNM: 0\n",
|
|
"7. RSLTS: #(#() #() #() #() #() #() #() #() #() #() ...)\n",
|
|
"8. IDNM: 18\n",
|
|
"9. ORGN: (S2-TW-KZ2)\n",
|
|
"10. SINTR: #<FUNCTION (LAMBDA (DMNS GMSM) :IN \"/root/cl-jupyter-master/cl-jupyter.lisp\") {1005613DCB}>\n",
|
|
"\n",
|
|
"> "
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(inspect tw2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The following statement show how to apply the twisting operator to a *geometrical* simplex. But if we have an abstract simplex, one must use the special function `tw-a-sintr3`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AbSm - 1>"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(? tw2 2 's2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AbSm 0 1>"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(tw-a-sintr3 (sintr tw2) 3 (absm 1 's2) nil)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AbSm 1-0 NIL>"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(tw-a-sintr3 (sintr tw2) 3 (absm 7 '*) nil)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"<AbSm - 1> \n",
|
|
"<AbSm 0 1> \n",
|
|
"<AbSm 1 1> "
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(dotimes (i 3) (print (tw-a-sintr3 (sintr tw2) 3 \n",
|
|
" (absm i 's2) nil)))"
|
|
]
|
|
},
|
|
{
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K24 Simplicial-Set]"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def tot-spc2 (fibration-total tw2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"The object is a STANDARD-OBJECT of type SIMPLICIAL-SET.\n",
|
|
"0. CMPR: #<CLOSURE (FLET CAT::RSLT :IN CRTS-PRDC-CMPR) {1005A61C0B}>\n",
|
|
"1. BASIS: #<CLOSURE (FLET CAT::RSLT :IN CRTS-PRDC-BASIS) {1005A623BB}>\n",
|
|
"2. BSGN: <CrPr - * - 0>\n",
|
|
"3. DFFR: [K25 Morphism (degree -1): K24 -> K24]\n",
|
|
"4. GRMD: [K19 Simplicial-Set]\n",
|
|
"5. EFHM: \"unbound\"\n",
|
|
"6. IDNM: 24\n",
|
|
"7. ORGN: (FIBRATION-TOTAL [K18 Fibration K1 -> K6])\n",
|
|
"8. CPRD: [K28 Morphism (degree 0): K24 -> K26]\n",
|
|
"9. FACE: #<CLOSURE (FLET CAT::RSLT :IN CAT::FIBRATION-TOTAL-FACE) {1005A6879B}>\n",
|
|
"\n",
|
|
"> "
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(inspect tot-spc2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(<CrPr - * - 0>)"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(basis tot-spc2 0)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(<CrPr 0 * - 1>)"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(basis tot-spc2 1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(<CrPr - S2 - 2> <CrPr - S2 0 1> <CrPr - S2 1 1> <CrPr - S2 1-0 0> <CrPr 1-0 * - 2>)"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(basis tot-spc2 2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(<CrPr 0 S2 - 3> <CrPr 0 S2 1 2> <CrPr 0 S2 2 2> <CrPr 0 S2 2-1 1> <CrPr 1 S2 - 3> <CrPr 1 S2 0 2> <CrPr 1 S2 2 2> <CrPr 1 S2 2-0 1> <CrPr 2 S2 - 3> <CrPr 2 S2 0 2> ...)"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(basis tot-spc2 3)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"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",
|
|
"<TnPr * 0> \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",
|
|
"<TnPr * 1> \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",
|
|
"<TnPr * 1> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 2) :\n",
|
|
"<TnPr * 2> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 2) :\n",
|
|
"<TnPr S2 0> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 1 :\n",
|
|
"\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 : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 2) :\n",
|
|
"<TnPr * 2> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 2) :\n",
|
|
"<TnPr S2 0> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 3) :\n",
|
|
"<TnPr * 3> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 3) :\n",
|
|
"<TnPr S2 1> \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 -> 2016-04-24, 0h 3m 41s.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 3) :\n",
|
|
"<TnPr * 3> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 3) :\n",
|
|
"<TnPr S2 1> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 4) :\n",
|
|
"<TnPr * 4> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 4) :\n",
|
|
"<TnPr S2 2> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 3 :\n",
|
|
"\n",
|
|
"\n",
|
|
"Component Z/4Z\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 : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 4) :\n",
|
|
"<TnPr * 4> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 4) :\n",
|
|
"<TnPr S2 2> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 5) :\n",
|
|
"<TnPr * 5> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 5) :\n",
|
|
"<TnPr S2 3> \n",
|
|
"End of computing.\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 : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 5) :\n",
|
|
"<TnPr * 5> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 5) :\n",
|
|
"<TnPr S2 3> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 6) :\n",
|
|
"<TnPr * 6> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 6) :\n",
|
|
"<TnPr S2 4> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 5 :\n",
|
|
"\n",
|
|
"\n",
|
|
"Component Z/4Z\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 : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 6) :\n",
|
|
"<TnPr * 6> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 6) :\n",
|
|
"<TnPr S2 4> \n",
|
|
"End of computing.\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",
|
|
"Computing the boundary of the generator 1/2 (dimension 7) :\n",
|
|
"<TnPr * 7> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 7) :\n",
|
|
"<TnPr S2 5> \n",
|
|
"End of computing.\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 : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 7) :\n",
|
|
"<TnPr * 7> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 7) :\n",
|
|
"<TnPr S2 5> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"Computing boundary-matrix in dimension 8.\n",
|
|
"Rank of the source-module : 2.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 1/2 (dimension 8) :\n",
|
|
"<TnPr * 8> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"Computing the boundary of the generator 2/2 (dimension 8) :\n",
|
|
"<TnPr S2 6> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 7 :\n",
|
|
"\n",
|
|
"\n",
|
|
"Component Z/4Z\n",
|
|
"\n",
|
|
"\n",
|
|
"---done---\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(homology tot-spc2 0 8)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In the following example, we take $K(\\mathbb{Z},1)$ and build a similar twisting operator. Note that in $(K(\\mathbb{Z},1))_1$, the bar object $[1]$ is represented as `(1)` whereas in $K(\\mathbb{Z}_2,1)$ it is `1`. In this case, it is known that the total space is a model of the sphere $S^3$ (Hopf fibration - see below)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K1 Simplicial-Set]"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def s2 (sphere 2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K84 Abelian-Simplicial-Group]"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def kz1 (k-z-1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K96 Fibration K1 -> K84]"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def tw1 (build-smmr\n",
|
|
" :sorc s2\n",
|
|
" :trgt kz1\n",
|
|
" :degr -1\n",
|
|
" :sintr #'(lambda (dmns gmsm)\n",
|
|
" (declare (ignore dmns gmsm))\n",
|
|
" (absm 0 (list 1)))\n",
|
|
" :orgn '(s2-tw-kz1)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K102 Simplicial-Set]"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def tot-spc1 (fibration-total tw1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"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",
|
|
"<TnPr * *> \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",
|
|
"<TnPr * S1> \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",
|
|
"<TnPr * S1> \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",
|
|
"Computing the boundary of the generator 1/1 (dimension 2) :\n",
|
|
"<TnPr S2 *> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 1 :\n",
|
|
"\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",
|
|
"<TnPr S2 *> \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",
|
|
"<TnPr S2 S1> \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",
|
|
"<TnPr S2 S1> \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"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(homology tot-spc1 0 6)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We may also obtain the boundary and faces of elements of the total space:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<CrPr - S2 - (1 2)>"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def elem (crpr 0 's2 0 '(1 2)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\n",
|
|
"----------------------------------------------------------------------{CMBN 1}\n",
|
|
"<2 * <CrPr 0 * - (2)>>\n",
|
|
"<-1 * <CrPr 0 * - (3)>>\n",
|
|
"------------------------------------------------------------------------------\n"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(? tot-spc1 2 elem)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\n",
|
|
"----------------------------------------------------------------------{CMBN 0}\n",
|
|
"------------------------------------------------------------------------------\n"
|
|
]
|
|
},
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(? tot-spc1 *)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"<AbSm - <CrPr 0 * - (2)>> \n",
|
|
"<AbSm - <CrPr 0 * - (3)>> \n",
|
|
"<AbSm - <CrPr 0 * - (2)>> "
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(dotimes (i 3) (print (face tot-spc1 i 2 elem)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The program `Kenzo` provides the function `make-hopf` to build Hopf fibrations. The lisp definition is the following:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"MAKE-HOPF"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"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`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"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": {
|
|
"text/plain": [
|
|
"(<AbSm - (1)> <AbSm - (2)> <AbSm - (3)> <AbSm - (10)>)"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(mapcar #'(lambda (h) (funcall (sintr (eval h)) 2 's2)) '(h1 h2 h3 h10))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Then we generate the corresponding total space and get some homology groups."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[K203 Simplicial-Set]"
|
|
]
|
|
},
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(def t1 (fibration-total h1))\n",
|
|
"(def t2 (fibration-total h2))\n",
|
|
"(def t3 (fibration-total h3))\n",
|
|
"(def t10 (fibration-total h10))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"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",
|
|
"<TnPr * *> \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",
|
|
"<TnPr * S1> \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",
|
|
"<TnPr * S1> \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",
|
|
"Computing the boundary of the generator 1/1 (dimension 2) :\n",
|
|
"<TnPr S2 *> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 1 :\n",
|
|
"\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",
|
|
"<TnPr S2 *> \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",
|
|
"<TnPr S2 S1> \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",
|
|
"<TnPr S2 S1> \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": 29,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(homology t1 0 10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"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",
|
|
"<TnPr * *> \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",
|
|
"<TnPr * S1> \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",
|
|
"<TnPr * S1> \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",
|
|
"Computing the boundary of the generator 1/1 (dimension 2) :\n",
|
|
"<TnPr S2 *> \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",
|
|
"<TnPr S2 *> \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",
|
|
"<TnPr S2 S1> \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",
|
|
"<TnPr S2 S1> \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",
|
|
"<TnPr * *> \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",
|
|
"<TnPr * S1> \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",
|
|
"<TnPr * S1> \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",
|
|
"Computing the boundary of the generator 1/1 (dimension 2) :\n",
|
|
"<TnPr S2 *> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 1 :\n",
|
|
"\n",
|
|
"\n",
|
|
"Component Z/3Z\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",
|
|
"<TnPr S2 *> \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",
|
|
"<TnPr S2 S1> \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",
|
|
"<TnPr S2 S1> \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"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(homology t3 0 4)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\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",
|
|
"<TnPr * S1> \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",
|
|
"Computing the boundary of the generator 1/1 (dimension 2) :\n",
|
|
"<TnPr S2 *> \n",
|
|
"End of computing.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"Homology in dimension 1 :\n",
|
|
"\n",
|
|
"\n",
|
|
"Component Z/10Z\n",
|
|
"\n",
|
|
"\n",
|
|
"---done---\n",
|
|
"\n",
|
|
";; Clock -> 2016-04-24, 0h 3m 41s.\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"NIL"
|
|
]
|
|
},
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(homology t10 1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Lisp file concerned in this chapter\n",
|
|
"\n",
|
|
"`fibrations.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": 0
|
|
}
|