From f681a03c68e90844f579b0f89b4f778c0f8db147 Mon Sep 17 00:00:00 2001 From: gheber Date: Sat, 20 Feb 2016 17:20:31 -0600 Subject: [PATCH] First draft of Chapter2 --- examples/Chapter2.ipynb | 138 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 130 insertions(+), 8 deletions(-) diff --git a/examples/Chapter2.ipynb b/examples/Chapter2.ipynb index 8e2167c..9e28781 100644 --- a/examples/Chapter2.ipynb +++ b/examples/Chapter2.ipynb @@ -800,7 +800,32 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### 2.5.2 Useful functions and macros for bicones\n", + "### Useful functions and macros for bicones\n", + "\n", + "``(bcnb gnrt)`` *[Macro]*\n", + "> Build the representation of the generator *gnrt* belonging to the chain complex $B$.\n", + "\n", + "``(bcnc gnrt)`` *[Macro]*\n", + "> Build the representation of the generator *gnrt* belonging to the chain complex $C$.\n", + "\n", + "``(bcnd gnrt)`` *[Macro]*\n", + "> Build the representation of the generator *gnrt* belonging to the chain complex $D$.\n", + "\n", + "``(make-bicn-cmbn cmbnb cmbnc cmbnd)`` *[Function]*\n", + "> Build a bicone combination from the 3 combinations *cmbnb*, *cmbnc* and *cmbnd* belonging respectively and in that order to $B$, $C$ and $D$. The degrees of the combinations *cmbnb* and *cmbnd* must be the same, say $n$. The degree of *cmbnc* must be $n+1$. The degree of the new created combination is $n$.\n", + "\n", + "``(bicn-cmbn-cmbnb cmbn)`` *[Function]*\n", + "> Extract from the bicone combination of degree $n$, *cmbn*, the combination relative to $B$ as a legal combination of degree $n$ in $B$. If there is no $B$-component, return the null combination of degree $n$.\n", + "\n", + "``(bicn-cmbn-cmbnc cmbn)`` *[Function]*\n", + "> Extract from the bicone combination of degree $n$, *cmbn*, the combination relative to $C$ as a legal combination of degree $n+1$ in $C$. If there is no $C$-component, return the null combination of degree $n+1$.\n", + "\n", + "``(bicn-cmbn-cmbnd cmbn)`` *[Function]*\n", + "> Extract from the bicone combination of degree $n$, *cmbn*, the combination relative to $D$ as a legal combination of degree $n$ in $D$. If there is no $D$-component, return the null combination of degree $n$\n", + "\n", + "``(dispatch-bicn-cmbn cmbn)`` *[Function]*\n", + "> Give the 3-values result constitued by the 3 combinations components of the bicone combination *cmbn*. These combinations are valid combinations in their respective chain complexes.\n", + "\n", "#### Examples" ] }, @@ -898,8 +923,38 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.6 Construction of a bicone from 2 reductions\n", - "#### Example" + "## Construction of a bicone from 2 reductions\n", + "\n", + "From the slots of the respective chain complexes $B$, $C$ and $D$, it is possible to build the bicone chain complex. The 3 essential functions are the following:\n", + "\n", + "``(bicone-cmpr cmprb cmprc cmprd)`` *[Function]*\n", + "> From the 3 comparison functions *cmprb*, *cmprc* and *cmprd*, build a comparison function adequate to compare the generators as represented in the bicone.\n", + "\n", + "``(bicone-basis basisb basisc basisd)`` *[Function]*\n", + "> From the 3 basis function *basisb*, *basisc* and *basisd*, build a basis function for the bicone. If at least one of the chain complex component of the bicone is *locally effective*, the function returns the symbol ``:locally-effective``.\n", + "\n", + "``(bicone-intr-dffr cmprc dffrb dffrc dffrd f1 f2)`` *[Function]*\n", + "Define the differential in the bicone according to the formula:\n", + "$$\n", + "d(cb, cc, cd)= (d_B(cb), f_1(cb) + f_2(cd) - d_C(cc), d_D(cd)),\n", + "$$\n", + "where the notation is self explanatory. One sees that one needs the comparison operator *cmprc* of $C$, to order correctly the second combination of the resulting triple.\n", + "\n", + "Let us consider now 2 reductions $(\\hat C_1, C_1, f1, g1, h1)$ and $(\\hat C_2, C_2, f2, g2, h2)$\n", + "in which $C_1 = C_2$. It is possible to define a bicone, with the identification $\\hat C_1=B, C_1=C_2=C, \\hat C_2=D$. This is realised by the following function:\n", + "\n", + "``(bicone rdct1 rdct2)`` *[Function]*\n", + "> Build the bicone chain complex from the objects ot type ``reduction`` *rdct1* and *rdct2*.\n", + "The bicone is built with the following identification: $B$ is the top chain complex of *rdct1*,\n", + "$D$ is the top chain complex of *rdct2*. The bottom chain complexes of both *rdct1* and *rdct2*\n", + "must be the same and $C$ is that chain complex. Of course, both chain morphisms $f_1$ and\n", + "$f_2$ are respectively the morphism $f$ of the reductions. The construction of the bicone is realised\n", + "by a call to the building function ``build-chcm`` using the 3 functions ``bicone-cmpr``, ``bicone-basis`` and ``bicone-intr-dffr`` with arguments coming from *rdct1* an *rdct2*. \n", + "The slot ``bsgn`` (base point) is let undefined and the strategy is by combination.\n", + "\n", + "#### Example\n", + "\n", + "Let us take again the example with the standard simplex $\\Delta^n$. The following function defines an effective version of ${\\cal C}_*(\\Delta^n)$, so we may ask for the basis in some dimensions." ] }, { @@ -1010,6 +1065,14 @@ "(basis delta3 4)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using the function ``make-rdct`` defined in previous example which builds a reduction between \n", + "$\\Delta^m$ and $\\Delta^n$, we may create a bicone chain complex with the function ``bicone`` and ask for basis in some dimensions." + ] + }, { "cell_type": "code", "execution_count": null, @@ -1054,6 +1117,13 @@ "(basis bic 4)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We verify the validity of the differential in the bicone ``bic``." + ] + }, { "cell_type": "code", "execution_count": null, @@ -1073,15 +1143,46 @@ }, "outputs": [], "source": [ - "(? bic (? bic (cmbn 2 3 (bcnb '(0 1 3)) 4 (bcnc '(0 1 2 3)) 5 (bcnd '(0 1 4)))))" + "(? bic *)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## 2.7 Composition of homotopy equivalences\n", - "#### Example" + "## Composition of homotopy equivalences\n", + "\n", + "Let us consider 2 homotopy equivalences, as in the following diagram.\n", + "\n", + "$$\n", + "\\begin{align}\n", + "& \\qquad B & & & & \\qquad D \\\\\n", + " \\rho_1 \\swarrow\\nearrow & & \\nwarrow\\searrow \\rho_2 & \n", + "& \\rho'_1\\swarrow\\nearrow & & \\nwarrow\\searrow\\rho'_2 \\\\\n", + "A \\quad & & C & & C \\quad & & E \\quad\n", + "\\end{align}\n", + "$$\n", + "\n", + "where the right bottom complex of the first one is the same as the left bottom reduction\n", + "of the second. We may use then the bicone concept to build a bicone chain complex with $B$, $C$ and $D$, say $BCN$, and finally build a new homotopy equivalence between $A$, $BCN$ and $E$.\n", + "\n", + "$$\n", + "\\begin{align}\n", + " & \\qquad BCN & \\\\\n", + " \\rho''_1 \\swarrow\\nearrow & & \\nwarrow\\searrow \\rho''_2 \\\\\n", + "A \\quad & & E\\quad\n", + "\\end{align}\n", + "$$\n", + "\n", + "This is realized by the method ``cmps``.\n", + "\n", + "``(cmps hmeq1 hmeq2)`` *[Method]*\n", + "> Build a homotopy equivalence by composition of both homotopy equivalences *hmeq1*, *hmeq2*.\n", + "The system controls the validity of the composition.\n", + "\n", + "### Example\n", + "\n", + "Starting with a very simple chain complex and the trivial homotopy equivalence on the chain complex, we verify the correctness of various compositions. The chain complex ``c`` has only one vertex ``(a)`` in every dimension and the differential is the null morphism." ] }, { @@ -1112,6 +1213,13 @@ " :orgn '(c)))" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We build the trivial homotopy equivalence on ``c`` and we compose it with itself." + ] + }, { "cell_type": "code", "execution_count": null, @@ -1134,6 +1242,13 @@ "(def h2 (cmps h1 h1))" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We verify the coherency of the morphisms in the left and right reduction of ``h2``. The combination ``*tc*`` must belong to a bicone whereas ``*bc*`` belongs to ``c``." + ] + }, { "cell_type": "code", "execution_count": null, @@ -1200,6 +1315,13 @@ "(check-rdct-no-wait)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We compose now ``h2`` with itself. We let ``*bc*`` unchanged, but ``*tc*`` is a little more complicated because the chain complexes $B$ and $D$ are themselves bicones." + ] + }, { "cell_type": "code", "execution_count": null, @@ -1220,8 +1342,8 @@ "outputs": [], "source": [ "(setf *tc* (cmbn 3 1 (bcnb (bcnb 'a)) 10 (bcnb (bcnc 'a)) 100 (bcnb (bcnd 'a))\n", - " 1000 (bcnc 'a) 10000 (bcnd (bcnb 'a)) 5234 (bcnd (bcnc 'a))\n", - " 223 (bcnd (bcnd 'a))))" + " 1000 (bcnc 'a) 10000 (bcnd (bcnb 'a)) 5234 (bcnd (bcnc 'a))\n", + " 223 (bcnd (bcnd 'a))))" ] }, {