From 0b95544e854e2a25fa0c596b6828ff5b14e60280 Mon Sep 17 00:00:00 2001 From: Gerd Heber Date: Fri, 14 Aug 2015 19:54:37 -0500 Subject: [PATCH] Completed Chapter 1 examples in iPython notebook. --- examples/Chapter1.ipynb | 1342 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 1247 insertions(+), 95 deletions(-) diff --git a/examples/Chapter1.ipynb b/examples/Chapter1.ipynb index a7c9dd7..1ae2196 100644 --- a/examples/Chapter1.ipynb +++ b/examples/Chapter1.ipynb @@ -2,7 +2,7 @@ "metadata": { "language": "common-lisp", "name": "", - "signature": "sha256:ce53837f0f933b602cdca49e885032e60c5523054bbed0154b1b627bcc3a6755" + "signature": "sha256:a288eb4e5bf779eb31582ec27583f8a0bf625b1b445095a088bafde8e2be5d58" }, "nbformat": 3, "nbformat_minor": 0, @@ -29,13 +29,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 51, + "prompt_number": 1, "text": [ "(\"kenzo\")" ] } ], - "prompt_number": 51 + "prompt_number": 1 }, { "cell_type": "code", @@ -57,13 +57,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 52, + "prompt_number": 2, "text": [ "NIL" ] } ], - "prompt_number": 52 + "prompt_number": 2 }, { "cell_type": "heading", @@ -85,7 +85,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 53, + "prompt_number": 3, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "F-CMPR\n", @@ -96,7 +96,7 @@ ] } ], - "prompt_number": 53 + "prompt_number": 3 }, { "cell_type": "code", @@ -110,13 +110,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 54, + "prompt_number": 4, "text": [ ":LESS" ] } ], - "prompt_number": 54 + "prompt_number": 4 }, { "cell_type": "code", @@ -130,7 +130,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 55, + "prompt_number": 5, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "S-CMPR\n", @@ -142,7 +142,7 @@ ] } ], - "prompt_number": 55 + "prompt_number": 5 }, { "cell_type": "code", @@ -156,13 +156,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 56, + "prompt_number": 6, "text": [ ":GREATER" ] } ], - "prompt_number": 56 + "prompt_number": 6 }, { "cell_type": "code", @@ -176,7 +176,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 57, + "prompt_number": 7, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "L-CMPR\n", @@ -187,7 +187,7 @@ ] } ], - "prompt_number": 57 + "prompt_number": 7 }, { "cell_type": "code", @@ -201,13 +201,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 58, + "prompt_number": 8, "text": [ ":GREATER" ] } ], - "prompt_number": 58 + "prompt_number": 8 }, { "cell_type": "heading", @@ -229,7 +229,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 59, + "prompt_number": 9, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "CMBN\n", @@ -242,7 +242,7 @@ ] } ], - "prompt_number": 59 + "prompt_number": 9 }, { "cell_type": "code", @@ -256,7 +256,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 60, + "prompt_number": 10, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -268,7 +268,7 @@ ] } ], - "prompt_number": 60 + "prompt_number": 10 }, { "cell_type": "code", @@ -282,7 +282,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 61, + "prompt_number": 11, "text": [ "\"-----------------------------------------------------------------[macro-doc]\n", "CMBN-NON-ZERO-P\n", @@ -292,7 +292,7 @@ ] } ], - "prompt_number": 61 + "prompt_number": 11 }, { "cell_type": "code", @@ -306,13 +306,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 62, + "prompt_number": 12, "text": [ "T" ] } ], - "prompt_number": 62 + "prompt_number": 12 }, { "cell_type": "code", @@ -326,13 +326,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 63, + "prompt_number": 13, "text": [ "((1 . U) (2 . V) (3 . W) (4 . Z))" ] } ], - "prompt_number": 63 + "prompt_number": 13 }, { "cell_type": "code", @@ -346,13 +346,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 14, "text": [ "(3 . W)" ] } ], - "prompt_number": 64 + "prompt_number": 14 }, { "cell_type": "code", @@ -366,13 +366,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 15, "text": [ "3" ] } ], - "prompt_number": 64 + "prompt_number": 15 }, { "cell_type": "code", @@ -386,13 +386,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 16, "text": [ "W" ] } ], - "prompt_number": 64 + "prompt_number": 16 }, { "cell_type": "code", @@ -406,7 +406,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 17, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "CMBN-OPPS\n", @@ -416,7 +416,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 17 }, { "cell_type": "code", @@ -430,7 +430,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 18, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -442,7 +442,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 18 }, { "cell_type": "code", @@ -456,7 +456,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 19, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "N-CMBN\n", @@ -466,7 +466,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 19 }, { "cell_type": "code", @@ -480,7 +480,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 20, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -492,7 +492,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 20 }, { "cell_type": "code", @@ -506,7 +506,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 21, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "2CMBN-ADD\n", @@ -519,7 +519,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 21 }, { "cell_type": "code", @@ -533,7 +533,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 22, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -545,7 +545,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 22 }, { "cell_type": "code", @@ -559,7 +559,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 23, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "2CMBN-SBTR\n", @@ -572,7 +572,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 23 }, { "cell_type": "code", @@ -586,7 +586,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 24, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "NCMBN-ADD\n", @@ -598,7 +598,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 24 }, { "cell_type": "code", @@ -613,7 +613,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 25, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -625,7 +625,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 25 }, { "cell_type": "heading", @@ -655,13 +655,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 26, "text": [ - "#" + "#" ] } ], - "prompt_number": 64 + "prompt_number": 26 }, { "cell_type": "code", @@ -680,13 +680,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 27, "text": [ - "#" + "#" ] } ], - "prompt_number": 64 + "prompt_number": 27 }, { "cell_type": "code", @@ -700,13 +700,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 28, "text": [ "S0" ] } ], - "prompt_number": 64 + "prompt_number": 28 }, { "cell_type": "code", @@ -736,13 +736,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 29, "text": [ - "#" + "#" ] } ], - "prompt_number": 64 + "prompt_number": 29 }, { "cell_type": "code", @@ -756,13 +756,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 30, "text": [ ":GNRT" ] } ], - "prompt_number": 64 + "prompt_number": 30 }, { "cell_type": "code", @@ -776,13 +776,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 31, "text": [ "(DIABOLO-FOR-EXAMPLE)" ] } ], - "prompt_number": 64 + "prompt_number": 31 }, { "cell_type": "code", @@ -796,7 +796,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 32, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "BUILD-CHCM\n", @@ -829,7 +829,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 32 }, { "cell_type": "code", @@ -845,13 +845,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 33, "text": [ "[K1 Chain-Complex]" ] } ], - "prompt_number": 64 + "prompt_number": 33 }, { "cell_type": "code", @@ -865,7 +865,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 34, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "CHCM\n", @@ -876,7 +876,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 34 }, { "cell_type": "code", @@ -890,13 +890,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 35, "text": [ "[K1 Chain-Complex]" ] } ], - "prompt_number": 64 + "prompt_number": 35 }, { "cell_type": "code", @@ -910,13 +910,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 36, "text": [ "(DIABOLO-FOR-EXAMPLE)" ] } ], - "prompt_number": 64 + "prompt_number": 36 }, { "cell_type": "code", @@ -930,13 +930,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 37, "text": [ "1" ] } ], - "prompt_number": 64 + "prompt_number": 37 }, { "cell_type": "code", @@ -950,13 +950,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 38, "text": [ "(S0 S1 S2 S3 S4 S5)" ] } ], - "prompt_number": 64 + "prompt_number": 38 }, { "cell_type": "code", @@ -970,13 +970,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 39, "text": [ "(S01 S02 S12 S23 S34 S35 S45)" ] } ], - "prompt_number": 64 + "prompt_number": 39 }, { "cell_type": "code", @@ -990,13 +990,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 40, "text": [ "(S345)" ] } ], - "prompt_number": 64 + "prompt_number": 40 }, { "cell_type": "code", @@ -1010,13 +1010,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 41, "text": [ "NIL" ] } ], - "prompt_number": 64 + "prompt_number": 41 }, { "cell_type": "code", @@ -1030,7 +1030,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 42, "text": [ "\n", "----------------------------------------------------------------------{CMBN 1}\n", @@ -1041,7 +1041,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 42 }, { "cell_type": "code", @@ -1055,7 +1055,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 43, "text": [ "\n", "----------------------------------------------------------------------{CMBN 0}\n", @@ -1063,7 +1063,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 43 }, { "cell_type": "heading", @@ -1098,13 +1098,13 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 44, "text": [ "[K3 Chain-Complex]" ] } ], - "prompt_number": 64 + "prompt_number": 44 }, { "cell_type": "code", @@ -1118,7 +1118,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 45, "text": [ "\"--------------------------------------------------------------[function-doc]\n", "Z-CHCM\n", @@ -1128,7 +1128,7 @@ ] } ], - "prompt_number": 64 + "prompt_number": 45 }, { "cell_type": "heading", @@ -1163,12 +1163,1164 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 64, + "prompt_number": 46, "text": [ "CIRCLE" ] } ], + "prompt_number": 46 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "1.4 Morphisms" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(documentation 'cat:morphism 'type)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 47, + "text": [ + "\"-----------------------------------------------------------------[class-doc]\n", + "MORPHISM\n", + "Slots: (sorc trgt degr intr strt ???-clnm ?-clnm rslts idnm orgn)\n", + "Intances of this class represent morphisms between chain complexes, and the\n", + "differential homomorphism of a chain complex is treated as a morphism of\n", + "degree -1. The class has 10 slots:\n", + "\n", + "1. SORC, an object of class CHAIN-COMPLEX, the source chain complex of this\n", + " morphism.\n", + "\n", + "2. TRGT, an object of class CHAIN-COMPLEX, the target chain complex of this\n", + " morphism.\n", + "\n", + "3. DEGR, an integer, the degree of the morphism.\n", + "\n", + "4. INTR, a Lisp function implementing the morphism, taking account of the\n", + " strategy STRT.\n", + "\n", + "5. STRT, a symbol, one of :GNRT or :CMBN.\n", + "\n", + "6. ???-CLNM, an integer updated by the system for internal statistics.\n", + "\n", + "7. ?-CLNM, another integer maintained by the system for internal pusposes.\n", + "\n", + "8. RSLTS, an array of length +MAXIMAL-DIMENSION+ reserved by the system for\n", + " caching intermediate results.\n", + "\n", + "9. IDNM, an integer, a system-generated identifier for this object.\n", + "\n", + "10. ORGN, a list containg a comment indicating the origin of the object. The\n", + " should be unique (per session), since it is used in the implementation for\n", + " caching purposes.\n", + "------------------------------------------------------------------------------\"" + ] + } + ], + "prompt_number": 47 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "1.4.1 The function $\\texttt{build-mprh}$" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(documentation 'cat:build-mrph 'function)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 48, + "text": [ + "\"--------------------------------------------------------------[function-doc]\n", + "BUILD-MRPH\n", + "Args: (&key sorc trgt degr intr strt orgn)\n", + "Returns an instance of the class MORPHISM. The keyword arguments are as\n", + "follows:\n", + "\n", + ":SORC SORC, the source object, a CHAIN-COMPLEX type object\n", + "\n", + ":TRGT TRGT, the target object, a CHAIN-COMPLEX type object\n", + "\n", + ":DEGR DEGR, the degree of the morphism, an integer\n", + "\n", + ":INTR INTR, the Lisp function defining the effective mapping\n", + "\n", + ":STRT STRT, one of the keywords :GNRT or :CMBN, defining the mapping strategy\n", + " of the differential homomorphism, either by generator or by\n", + " combination. The default is :GNRT\n", + "\n", + ":ORGN ORGN, a list containing a relevant and carefully chosen comment about\n", + " the origin of the chain complex. This comment should be unique\n", + " for a Kenzo session (between calls of CAT-INIT), as it is used\n", + " for caching purposes.\n", + "\n", + "Use this function instead of creating instances via the standard constructor\n", + "MAKE-INSTANCE.\n", + "------------------------------------------------------------------------------\"" + ] + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 4, + "metadata": {}, + "source": [ + "The differential homomorphism in a chain complex instance" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:cat-init)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "---done---" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 49, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 49 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def ZCC (cat:z-chcm))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 50, + "text": [ + "[K1 Chain-Complex]" + ] + } + ], + "prompt_number": 50 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def zero-morphism (cat:build-mrph :sorc ZCC\n", + " :trgt ZCC\n", + " :degr -1\n", + " :intr #'(lambda (comb)\n", + " (cat:cmbn (1- (cat:degr comb))))\n", + " :strt :cmbn\n", + " :orgn '(zero morphism on ZCC)))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 51, + "text": [ + "[K3 Cohomology-Class on K1 of degree 1]" + ] + } + ], + "prompt_number": 51 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def id-morphism (cat:build-mrph :sorc ZCC\n", + " :trgt ZCC\n", + " :degr 0\n", + " :intr #'identity\n", + " :strt :cmbn\n", + " :orgn '(identity morphism on ZCC)))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 52, + "text": [ + "[K4 Cohomology-Class on K1 of degree 0]" + ] + } + ], + "prompt_number": 52 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "1.4.3 Functions defining morphisms" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def ccn-boundary #'(lambda (dgr gnr)\n", + " (if (evenp (+ dgr gnr))\n", + " (cat:cmbn (1- dgr) 1 (- gnr 10))\n", + " (cat:cmbn (1- dgr)))))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 53, + "text": [ + "#" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def ccn (cat:build-chcm :cmpr #'cat:f-cmpr\n", + " :basis #'(lambda (n) (cat: K5]" + ] + } + ], + "prompt_number": 55 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def lower-shift (cat:build-mrph\n", + " :sorc ccn :trgt ccn :strt :gnrt :degr -1\n", + " :intr #'(lambda (d gn) (cat:cmbn (1- d) 1 (- gn 10)))\n", + " :orgn '(ccn shift -10)))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 56, + "text": [ + "[K8 Morphism (degree -1): K5 -> K5]" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? ccn 2 22)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 57, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 12>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 57 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? ccn (cat:? ccn 2 22))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 58, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 0}\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 58 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def combn (cat:cmbn 5 1 50 5 55 9 59))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 59, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 5}\n", + "<1 * 50>\n", + "<5 * 55>\n", + "<9 * 59>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 59 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? ccn combn)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 60, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 4}\n", + "<5 * 45>\n", + "<9 * 49>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 60 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? ccn (cat:? ccn combn))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 61, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 3}\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 61 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? upper-shift 0 6)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 62, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 16>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 62 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? lower-shift 5 51)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 63, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 4}\n", + "<1 * 41>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 63 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? lower-shift (cat:? lower-shift 5 51))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 3}\n", + "<1 * 31>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def comb1 (cat:cmbn 1 1 10 2 11 3 12 4 13))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 10>\n", + "<2 * 11>\n", + "<3 * 12>\n", + "<4 * 13>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def identity? (cat:cmps upper-shift lower-shift))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K9 Morphism (degree 0): K5 -> K5]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:degr identity?)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "0" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? identity? comb1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 10>\n", + "<2 * 11>\n", + "<3 * 12>\n", + "<4 * 13>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:2cmbn-sbtr (cat:cmpr ccn) comb1 (cat:? identity? comb1))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def upper-shift2 (cat:cmps upper-shift upper-shift))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K10 Morphism (degree 2): K5 -> K5]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:degr upper-shift2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "2" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? upper-shift2 comb1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 3}\n", + "<1 * 30>\n", + "<2 * 31>\n", + "<3 * 32>\n", + "<4 * 33>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def twice-up-shift (cat:add upper-shift upper-shift))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K11 Morphism (degree 1): K5 -> K5]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:degr twice-up-shift)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "1" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? twice-up-shift comb1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 2}\n", + "<2 * 20>\n", + "<4 * 21>\n", + "<6 * 22>\n", + "<8 * 23>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def up-d (cat:cmps upper-shift (cat:dffr1 ccn)))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K12 Morphism (degree 0): K5 -> K5]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def d-up (cat:cmps (cat:dffr1 ccn) upper-shift))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K13 Morphism (degree 0): K5 -> K5]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? up-d 1 11)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 11>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? d-up 1 11)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:def comb3 (cat:cmbn 1 1 10 2 11 3 12 4 13 5 14 6 15))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 10>\n", + "<2 * 11>\n", + "<3 * 12>\n", + "<4 * 13>\n", + "<5 * 14>\n", + "<6 * 15>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? up-d comb3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<2 * 11>\n", + "<4 * 13>\n", + "<6 * 15>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:? d-up comb3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "\n", + "----------------------------------------------------------------------{CMBN 1}\n", + "<1 * 10>\n", + "<3 * 12>\n", + "<5 * 14>\n", + "------------------------------------------------------------------------------\n" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "1.4.4 Accessing $\\texttt{Kenzo}$ objects" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:k 1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K1 Chain-Complex]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd 1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K1 Chain-Complex]\n", + " Origin: (Z-CHCM)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:k 3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "[K3 Cohomology-Class on K1 of degree 1]" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd 3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K3 Cohomology-Class on K1 of degree 1]\n", + " Origin: (ZERO MORPHISM ON ZCC)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd 8)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K8 Morphism (degree -1): K5 -> K5]\n", + " Origin: (CCN SHIFT -10)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd 5)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K5 Chain-Complex]\n", + " Origin: (CCN)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd 9)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K9 Morphism (degree 0): K5 -> K5]\n", + " Origin: (2MRPH-CMPS [K7 Morphism (degree 1): K5 -> K5] [K8 Morphism (degree -1): K5 -> K5] GNRT)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "NIL" + ] + } + ], + "prompt_number": 64 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "(cat:kd2 9)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Object: [K9 Morphism (degree 0): K5 -> K5]\n", + " Origin: (2MRPH-CMPS [K7 Morphism (degree 1): K5 -> K5] [K8 Morphism (degree -1): K5 -> K5] GNRT)\n", + "\n", + "\n", + "Object: [K8 Morphism (degree -1): K5 -> K5]\n", + " Origin: (CCN SHIFT -10)\n", + "\n", + "\n", + "Object: [K7 Morphism (degree 1): K5 -> K5]\n", + " Origin: (CCN SHIFT 10)\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 64, + "text": [ + "(9 8 7)" + ] + } + ], "prompt_number": 64 } ],