Started iPython notebook for Chapter 2 of the Handbook.
This commit is contained in:
parent
48e26406cd
commit
daaa610c13
861
examples/Chapter2.ipynb
Normal file
861
examples/Chapter2.ipynb
Normal file
@ -0,0 +1,861 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"To load \"kenzo\":\n",
|
||||
" Load 1 ASDF system:\n",
|
||||
" kenzo\n",
|
||||
"; Loading \"kenzo\"\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(:KENZO)"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(ql:quickload :kenzo)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"---done---"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"NIL"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:cat-init)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 2.2.1 Representation of a reduction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\"----------------------------------------------------------------[class-doc]\n",
|
||||
"REDUCTION\n",
|
||||
"Slots: (tcc bcc f g h idnm orgn)\n",
|
||||
"Instances of this class represent reductions of chain complexes.\n",
|
||||
"\n",
|
||||
" ^ h s ^ f ° g = 1\n",
|
||||
" C -----> C C\n",
|
||||
" ^ h ° d + d ° h = 1 - g ° f\n",
|
||||
" | | ^\n",
|
||||
" f | | g C\n",
|
||||
" | | f ° h = 0\n",
|
||||
" v h ° g = 0\n",
|
||||
" C h ° h = 0\n",
|
||||
"\n",
|
||||
"The class has 7 slots:\n",
|
||||
" ^\n",
|
||||
"1. TCC, an object of type CHAIN-COMPLEX, the top chain complex C. Its reader\n",
|
||||
" function is TCC1.\n",
|
||||
"\n",
|
||||
"2. BCC, an object of type CHAIN-COMPLEX, the bottom chain complex C. Its reader\n",
|
||||
" function is BCC1.\n",
|
||||
"\n",
|
||||
"3. F, an object of type MORPHISM representing the morphism f. Its reader\n",
|
||||
" function is F1.\n",
|
||||
"\n",
|
||||
"4. G, an object of type MORPHISM representing the morphism g. Its reader\n",
|
||||
" function is G1.\n",
|
||||
"\n",
|
||||
"5. H, an object of type MORPHISM representing the morphism h. Its reader\n",
|
||||
" function is H1.\n",
|
||||
"\n",
|
||||
"9. IDNM, an integer, a system-generated identifier for this object. Its reader\n",
|
||||
" function is IDNM.\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. Its reader function is ORGN.\n",
|
||||
"-----------------------------------------------------------------------------\""
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(documentation 'cat:reduction 'type)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 2.2.2 The function $\\texttt{build-rdct}$"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\"--------------------------------------------------------------[function-doc]\n",
|
||||
"BUILD-RDCT\n",
|
||||
"Args: (&key f g h orgn)\n",
|
||||
"Returns an instance of the class REDUCTION. The keyword arguments are as\n",
|
||||
"follows:\n",
|
||||
"\n",
|
||||
":F F, an object of type morphism representing the morphism f of a reduction\n",
|
||||
"\n",
|
||||
":G G, an object of type morphism representing the morphism g of a reduction\n",
|
||||
"\n",
|
||||
":H H, an object of type morphism representing the morphism h of a reduction\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",
|
||||
"------------------------------------------------------------------------------\""
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(documentation 'cat:build-rdct 'function)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 2.2.4 Verification functions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\"--------------------------------------------------------------[function-doc]\n",
|
||||
"PRE-CHECK-RDCT\n",
|
||||
"Args: (rdct)\n",
|
||||
"Assigns the following Lisp global variables, using morphisms from RDCT and the\n",
|
||||
"differentials and identity morphisms of the underlying chain complexes,\n",
|
||||
"according to these formulas:\n",
|
||||
"\n",
|
||||
"*TDD* = d ° d\n",
|
||||
" ^ ^\n",
|
||||
" C C\n",
|
||||
"\n",
|
||||
"*BDD* = d ° d\n",
|
||||
" C C\n",
|
||||
"\n",
|
||||
"*ID-FG* = Id - f ° g\n",
|
||||
" C\n",
|
||||
"\n",
|
||||
"*ID-GF-DH-HD* = Id - g ° f - (d ° h + h ° d )\n",
|
||||
" ^ ^ ^\n",
|
||||
" C C C\n",
|
||||
"\n",
|
||||
"*HH* = h ° h\n",
|
||||
"*FH* = f ° h\n",
|
||||
"*HG* = h ° g\n",
|
||||
"\n",
|
||||
"*DF-FD* = d ° f - f ° d\n",
|
||||
" C ^\n",
|
||||
" C\n",
|
||||
"\n",
|
||||
"*DG-GD* = d ° g - g ° d\n",
|
||||
" ^ C\n",
|
||||
" C\n",
|
||||
"\n",
|
||||
"------------------------------------------------------------------------------\""
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(documentation 'cat:pre-check-rdct 'function)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\"--------------------------------------------------------------[function-doc]\n",
|
||||
"CHECK-RDCT-NO-WAIT\n",
|
||||
"Args: ()\n",
|
||||
"Maps combinations of the top and bottom chain complexes of a reduction using\n",
|
||||
"the morphisms created by PRE-CHECK-RDCT. Having no parameters, the\n",
|
||||
"combinations must be provided via the Lisp global variables *TC* and *BC*,\n",
|
||||
"for the top and bottom chain complex, respectively. If the morphisms are\n",
|
||||
"coherent, the result of each mapping is a null combination.\n",
|
||||
"------------------------------------------------------------------------------\""
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(documentation 'cat:check-rdct-no-wait 'function)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Example"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"CDELTA"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(defun cdelta (dmns)\n",
|
||||
" (cat:build-chcm\n",
|
||||
" :cmpr #'cat:l-cmpr\n",
|
||||
" :basis :locally-effective\n",
|
||||
" :bsgn '(0)\n",
|
||||
" :intr-dffr\n",
|
||||
" #'(lambda (degr gmsm)\n",
|
||||
" (cat:make-cmbn\n",
|
||||
" :degr (1- degr)\n",
|
||||
" :list (do ((rslt cat:+empty-list+\n",
|
||||
" (cons (cons sign\n",
|
||||
" (append\n",
|
||||
" (subseq gmsm 0 nark)\n",
|
||||
" (subseq gmsm (1+ nark))))\n",
|
||||
" rslt))\n",
|
||||
" (sign 1 (- sign))\n",
|
||||
" (nark 0 (1+ nark)))\n",
|
||||
" ((> nark degr) rslt))))\n",
|
||||
" :strt :gnrt\n",
|
||||
" :orgn `(locally effective version of C_* delta ,dmns)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"MAKE-F"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(defun make-f (tdmns bdmns)\n",
|
||||
" (cat:build-mrph\n",
|
||||
" :sorc (cdelta tdmns) :trgt (cdelta bdmns) :degr 0\n",
|
||||
" :intr #'(lambda (degr gmsm)\n",
|
||||
" (let ((pos (position-if #'(lambda (vertex) (>= vertex bdmns))\n",
|
||||
" gmsm)))\n",
|
||||
" (if pos\n",
|
||||
" (if (< pos degr)\n",
|
||||
" (cat:zero-cmbn degr)\n",
|
||||
" (cat:cmbn degr 1 (nconc (butlast gmsm) (list bdmns))))\n",
|
||||
" (cat:cmbn degr 1 gmsm))))\n",
|
||||
" :strt :gnrt\n",
|
||||
" :orgn `(projection delta ,tdmns => delta ,bdmns)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"MAKE-G"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(defun make-g (tdmns bdmns)\n",
|
||||
" (cat:build-mrph\n",
|
||||
" :sorc (cdelta bdmns) :trgt (cdelta tdmns) :degr 0\n",
|
||||
" :intr #'identity\n",
|
||||
" :strt :cmbn\n",
|
||||
" :orgn `(injection delta ,bdmns => delta ,tdmns)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"MAKE-H"
|
||||
]
|
||||
},
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(defun make-h (tdmns bdmns)\n",
|
||||
" (cat:build-mrph\n",
|
||||
" :sorc (cdelta tdmns) :trgt (cdelta tdmns) :degr +1\n",
|
||||
" :intr #'(lambda (degr gmsm)\n",
|
||||
" (let ((pos (position-if #'(lambda (vertex) (>= vertex bdmns))\n",
|
||||
" gmsm)))\n",
|
||||
" (if pos\n",
|
||||
" (if (member bdmns gmsm)\n",
|
||||
" (cat:zero-cmbn (1+ degr))\n",
|
||||
" (cat:cmbn (1+ degr) (cat:-1-expt-n pos)\n",
|
||||
" (append (subseq gmsm 0 pos) (list bdmns)\n",
|
||||
" (subseq gmsm pos))))\n",
|
||||
" (cat:zero-cmbn (1+ degr)))))\n",
|
||||
" :strt :gnrt\n",
|
||||
" :orgn `(homotopy for delta ,tdmns => ,bdmns)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"MAKE-RDCT"
|
||||
]
|
||||
},
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(defun make-rdct (tdmns bdmns)\n",
|
||||
" (let ((rdct (cat:build-rdct\n",
|
||||
" :f (make-f tdmns bdmns)\n",
|
||||
" :g (make-g tdmns bdmns)\n",
|
||||
" :h (make-h tdmns bdmns)\n",
|
||||
" :orgn `(reduction delta ,tdmns ,bdmns))))\n",
|
||||
" rdct))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[K8 Reduction K1 => K3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:def rdct (make-rdct 6 3))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(REDUCTION DELTA 6 3)"
|
||||
]
|
||||
},
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:orgn rdct)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"---done---"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"NIL"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:pre-check-rdct rdct)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"<1 * (0 1 2)>\n",
|
||||
"<10 * (1 2 3)>\n",
|
||||
"<100 * (1 2 4)>\n",
|
||||
"<1000 * (2 3 4)>\n",
|
||||
"------------------------------------------------------------------------------\n"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(setf cat:*tc* (cat:cmbn 2 1 '(0 1 2) 10 '(1 2 3) 100 '(1 2 4) 1000 '(2 3 4)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"\n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"<4 * (0 1 2 3)>\n",
|
||||
"------------------------------------------------------------------------------\n"
|
||||
]
|
||||
},
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(setf cat:*bc* (cat:cmbn 3 4 '(0 1 2 3)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"*TC* => \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"<1 * (0 1 2)>\n",
|
||||
"<10 * (1 2 3)>\n",
|
||||
"<100 * (1 2 4)>\n",
|
||||
"<1000 * (2 3 4)>\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"*BC* => \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"<4 * (0 1 2 3)>\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *TDD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 0}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *BDD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 1}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *DF-FD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 1}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *DG-GD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *ID-FG* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *ID-GF-DH-HD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *HH* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 4}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *FH* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *HG* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 4}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"---done---"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"NIL"
|
||||
]
|
||||
},
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:check-rdct-no-wait)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[K35 Reduction K1 => K30]"
|
||||
]
|
||||
},
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:def trdct (make-rdct 6 4))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[K39 Reduction K30 => K3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:def brdct (make-rdct 4 3))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[K45 Reduction K1 => K3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(setf rdct (cat:cmps brdct trdct))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"---done---"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"NIL"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:pre-check-rdct rdct)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"*TC* => \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"<1 * (0 1 2)>\n",
|
||||
"<10 * (1 2 3)>\n",
|
||||
"<100 * (1 2 4)>\n",
|
||||
"<1000 * (2 3 4)>\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"*BC* => \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"<4 * (0 1 2 3)>\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *TDD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 0}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *BDD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 1}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *DF-FD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 1}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *DG-GD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *ID-FG* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *ID-GF-DH-HD* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 2}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *HH* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 4}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *FH* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 3}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"Checking *HG* = 0\n",
|
||||
"Result: \n",
|
||||
"----------------------------------------------------------------------{CMBN 4}\n",
|
||||
"------------------------------------------------------------------------------\n",
|
||||
"\n",
|
||||
"---done---"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"NIL"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"(cat:check-rdct-no-wait)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "CCL 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
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user