Another snippet of Chapter7.

This commit is contained in:
gheber 2016-03-04 00:51:20 -06:00
parent cc7224761d
commit 0df7691196

View File

@ -1163,7 +1163,342 @@
"\n",
"The system provides useful functions to create interesting simplicial sets of constant usage. In particular, the user is advised from now to use the following version of the standard simplex implemented in ``Kenzo`` and not the one given previously for simplicity reason.\n",
"\n",
"### The standard simplex"
"### The standard simplex\n",
"\n",
"``delta`` *dmns* *[Function]*\n",
"> Create the standard simplex $\\Delta^n$ with vertices $0,1,\\ldots,n$, where *dmns* is the parameter for $n$. This simplicial set is so important in the applications that the implementor has decided to code the simplices in a way similar to the coding\n",
"of the degeneracy operators. An increasing sequence of non-negative integers describing a simplex, is coded on a binary integer with the following convention: a number $i$ representing the vertex $i$ is the $(i+1)$--th binary bit of a machine word. The base point $0$ is the bit 1 in position 1 of the word. This representation is very efficient for saving memory space but somehow awkward to read.\n",
"\n",
"``delta-infinity`` *[Function]*\n",
"> Create the locally effective standard simplex $\\Delta^\\mathbb{N}$ freely generated by the positive integers.\n",
"\n",
"``deltab`` *[Function]*\n",
"> Create the locally effective *reduced* simplicial set $\\bar \\Delta$, built from $\\Delta^\\mathbb{N}$ by identifying all the vertices to the base point.\n",
"\n",
"``deltab2`` *[Function]*\n",
"> Create the locally effective *1-reduced* simplicial set $\\Delta_2^\\mathbb{N}$, obtained from the above $\\bar \\Delta$, by identification of all the edges with the base point. This is the efficient version of the coalgebra that is used as example in the cobar chapter.\n",
"\n",
"``dlop-ext-int`` *ext-dlop* *[Function]*\n",
"> Code on an integer the valid list (increasing order) representing the simplex *ext-dlop* of the standard simplex.\n",
"\n",
"``dlop-int-ext`` *dgop* *[Function]*\n",
"> Give the list representing a simplex of the standard simplex from the integer *dgop*.\n",
"\n",
"``vertex-i`` *absm i* *[Function]*\n",
"> Give the $i$-th vertex of the (coded, degenerate or not) abstract simplex ``absm`` belonging to a simplicial set of the $\\Delta$ family.\n",
"\n",
"``absm-ext-int`` *vlist* *[Function]*\n",
"> Create a valid abstract simplex of the $\\Delta$ family from the simplex *vlist* written as a non-decreasing list of non-negative integers (i.e coding of any degenerate or non--degenerate simplex of the $\\Delta$ family).\n",
"\n",
"``absm-int-ext`` *absm* *[Function]*\n",
"> From an internal coded form of an abstract simplex of the $\\Delta$ family, create the non-decreasing list\n",
"of non--negative integers representing the canonical external form of such a simplex.\n",
"\n",
"``soft-delta`` *dmns* *[Function]*\n",
"> Create another version of the standard simplex $\\Delta^n$ designed for a better clarity in the printing of the results at testing time. More precisely, the simplices are represented internally by a list of the form ``(:delt`` *binary-code*``)``. With this representation, the system is able to recognize a coded simplex and to print it in a readable form. For the user, the only\n",
"requirement is to write a simplex coded $n$ as ``(d`` *n*``)``, where ``d`` is the macro building the internal representation (see the examples). Attention: the above conversion functions do not work with this representation.\n",
"\n",
"``soft-delta-infinity`` *[Function]*\n",
"\n",
"### Examples"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(def d3 (delta 3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The simplices $2$, $4$ and $8$ are the coded representation of the vertices $1$, $2$ and $3$:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(cmpr d3 2 4)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(cmpr d3 4 4)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(cmpr d3 8 4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The list returned by the following statement getting the basis of $\\Delta^3$ in dimension 2, namely ``(7 11 13 14)`` is in fact the coded list of the following simplices ``((0 1 2) (0 1 3) (0 2 3) (1 2 3))``."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(basis d3 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the following statement, the integer $21$ represents the simplex in dimension $2$, ``(0 1 4)``, $1$ represents the operator $\\partial_1$ and the face is therefore ``(0 4)`` represented as the integer $17$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(face d3 1 2 21)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We may obtain the same result, using:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(face d3 1 2 (dlop-ext-int '(0 1 4)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us test the conversion functions."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(vertex-i (absm 0 1) 0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(vertex-i (absm 1 1) 0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(vertex-i (absm 1 1) 1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(vertex-i (absm 0 7) 2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(absm-ext-int '(0 0 0 1 2 3 3 3))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(absm-ext-int '(0 1 1 1 2))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(absm-int-ext (absm-ext-int '(0 0 0 1 2 3 3 3)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following call to the macro ``?`` returns the boundary of the simplex ``(0 2 3)`` of $\\Delta^3$, the integers $5$, $9$ and $12$ representing respectively the simplices ``(0 2)``, ``(0 3)`` and ``(2 3)``. The application of the coproduct ``dgnl`` to the simplex ``(0 1 2 3)``, coded $15$, is also easily interpreted:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(? d3 2 13)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(dgnl d3 3 15)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We may show now some examples with the *soft* version of the standard simplex. Using the macro ``d`` and the function ``dlop-ext-int`` the user may work with a readable form of the simplices and the degeneracy operators."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(def d3 (soft-delta 3))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(cmpr d3 (d 2) (d 4))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(basis d3 1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(dgnl d3 3 (d (dlop-ext-int '(0 1 2 3))))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(face d3 1 2 (d (dlop-ext-int '(0 2 4))))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"(? d3 2 (d (dlop-ext-int '(0 2 3))))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Spheres, Moore spaces and projectives spaces"
]
}
],