{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "_cstyle11" -1 215 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle12" -1 216 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle13" -1 217 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle14" -1 218 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle15" -1 219 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle16" -1 220 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle17" -1 216 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle18" -1 217 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle19" -1 218 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle20" -1 219 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle21" -1 220 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle22" -1 221 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle23" -1 222 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle24" -1 223 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle25" -1 224 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 1 0 1 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 216 "" 0 "" {TEXT 215 56 "Worksheet for quandle 2 -cocycle and 3-cocycle invariants" }}{PARA 217 "" 0 "" {TEXT 216 32 "b y Masahico Saito & Chad Smudde " }}{PARA 218 "" 0 "" {TEXT 217 0 "" }} }{EXCHG {PARA 219 "" 0 "" {TEXT 218 104 " The general theory fo r which this worksheet and package are based is presented in, for exam ple, " }}{PARA 219 "" 0 "" {TEXT 218 90 "the paper, ``Quandle Homolog y Theory and Cocycle Knot Invariants,'' by Carter and Saito, " }} {PARA 219 "" 0 "" {TEXT 218 78 "Proc. in Symposia in Pure Math., vol. \+ 71, Topology and Geometry of Manifolds, " }{TEXT 218 136 "eds. Matic a nd McCrory, AMS (2003), 249-268, and the book ``Surfaces in 4-space,'' by Carter, Kamada, and Saito, Springer-Verlag, 2004. " }}{PARA 219 " " 0 "" {TEXT 218 208 " These programs compute quandle cocycle i nvariants of classical knots for the ``untwisted case\" using 2-cocycl es, and ``shadow colored case\" using 3-cocycles, see the above refere nce for more details. " }}{PARA 219 "" 0 "" {TEXT 218 361 " Ack nowledgement: Some part of the programs written by Dan Jelsovski earli er was used. Prof. Edwin Clark helped us with solving equations over f inite cyclic abelian groups. Conversations with collaborators in this \+ project on quandle cocycle invariants were helpful. The collaborators \+ include J.S. Carter, M. Elhamdadi, M. Grana, A. Harris, D. Jelsovski, \+ " }{TEXT 218 11 "S. Kamada, " }{TEXT 218 96 "L. Langford, M.A. Nikifor ou, S. Satoh. This project is partially supported by NSF DMS-0301089. \+ " }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 8 "restart;" }}} {EXCHG {PARA 218 "" 0 "" {TEXT 217 54 "Step 1: Read the file \"Knotpkg .m\" into the worksheet. " }}{PARA 218 "" 0 "" {TEXT 217 147 " \+ Determine where the file \"Knotpkg.m\" is saved and make a note of \+ the path. If you have not yet downloaded the file \"Knotpkg\", do it n ow." }}{PARA 218 "" 0 "" {TEXT 217 137 " Next use the read c ommand followed by double quotes and the path where the file was saved . e.g. [> read \"path to Knotpkg.m\"; ." }{TEXT 217 62 "\n H ere are some examples that are platform specific." }{TEXT 217 78 "\n \+ Windows: [>. read \"C:\\\\maple.local\\\\Project\\ \\Top.txt\". " }{TEXT 217 83 "\n UNIX: [> re ad \"/usr/local/maple.local/Project/Top.txt\"." }{TEXT 217 86 "\n \+ Macintosh: [> read \"Main HD:Local Maple Files:Project :Top.txt\" " }{TEXT 217 178 "\n If the files are saved in t he same directory (folder) and that directory is currently the active \+ directory, then you may only need to type the file name, \n \+ " }{TEXT 217 31 "such as [> read ``filename'' . " }{TEXT 217 134 "\n \+ For more information on reading the file into the worksheet \+ type ?read or ?file at the prompt to see Maples online help. " }{TEXT 217 123 "\n If all else fails download the file \"Knotpkg.mw s\" and use this as a template for these and future calculations." } {TEXT 217 64 "\n The procedures included in the \"Knotpkg.m \" file are:" }{TEXT 217 16 "\n " }{TEXT 217 45 " \+ co2Solution:=proc(Quandle,m::posint)" }{TEXT 217 112 "\n \+ calc2cocInvar:=proc(Quandle,Knot,m::posint, (optional)solu tions) " }{TEXT 217 61 "\n \+ co3Solution:=proc(Quandle,m::posint)" }{TEXT 217 89 "\n \+ calc3cocInvar:=proc(Quandle,Knot,m::posint,(optional) solut ions)" }{TEXT 217 55 "\n connSumKnots:=proc(Kno ts_list)" }{TEXT 217 47 "\n mirrorKnot:=proc(Li st)" }{TEXT 217 44 "\n barKnot:=proc(List)" } {TEXT 217 51 "\n quandlesize:=proc(Quandle)" } {TEXT 217 48 "\n makeinv:=proc(Quandle)." } {TEXT 217 140 "\n The procedures makinv() and quandlesize( ) are procedures that are used in the others and are of little importa nce to the user." }{TEXT 217 60 "\n The other procedures w ill be described below. " }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 17 "read \"Knotpkg.m\":" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 48 "Step 2: Read the braid words into the worksheet." }{TEXT 217 110 "\n \+ The file \"knot_table\" contains the braid words for the kn ots in the table up to eight crossings. " }{TEXT 217 119 "\n \+ There is also a file \"extKnotTable\" which contains the braid words up to nine crossing knots in the table." }}{PARA 218 "" 0 "" {TEXT 217 111 " The braid words are labeled by bw[i] where bw is \+ the array name and i is what braid word you want. " }}{PARA 218 "" 0 " " {TEXT 217 133 " For example, the closure of bw[2] represe nts the figure-eight knot 4_1, the second knot in the table with four \+ crossings." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 18 "read \"kn ot_table\";" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 45 "Step 3: Read th e quandles into the worksheet." }{TEXT 217 198 "\n The file \"Quandle\" contains all quandles from three to six elements that are pairwise non-isomorphic, \n with non-trivial torsion part \+ in its second or third homology groups. " }}{PARA 218 "" 0 "" {TEXT 217 111 " The list is from the book ``Surfaces in 4-space,' ' by Carter, Kamada, Saito, Springer-Verlag, 2004." }{TEXT 217 79 "\n \+ They are labeled Qi_j where i is the size and j is which qu andle. " }{TEXT 217 134 "Currently there are 25 six element, \n \+ 6 five element, 3 four element, and 1 three element quandle in th e file \"Quandle.m\" ." }{TEXT 217 127 "\n These are two di mensional zero indexed arrays representing the multiplication table a* b for a,b in X, the quandle." }{TEXT 217 102 "\n Note: This step could be skipped if you don't want to work with any quandle in t his list." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 15 "read \"Qua ndle\":" }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 12 "print(Q4_3); " }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 100 "Use the maple command con vert to see the quandle in a more attractive form showing a*b for a,b \+ in X." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 28 "print(convert( Q4_3,matrix));" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 60 "Now some exa mples of procedures that manipulate braid words." }{TEXT 217 100 "\nFi rst access a specific braid word by using the label for the array, bw, and which knot is desired." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 6 "bw[4];" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 108 "The braid wo rd is merely a list of integer values (excluding zero) representing cr ossings, negative numbers " }{TEXT 217 123 "for negative crossings and positive numbers for positive crossings. For example, the first entry 1 in this list represents " }{TEXT 217 101 "that this braid word star ts with the standard generator \\sigma_1 of the three-string braid gro up B_3." }{TEXT 217 72 "\nThe procedure mirrorKnot() takes as input a \+ list, described above, and " }{TEXT 217 59 "it returns the braid word \+ of the mirror image of that knot." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 18 "mirrorKnot(bw[4]);" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 114 "The procedure barKnot() takes as input a braid word, an d its output is a braid word with the orientation reversed." }}} {EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 15 "barKnot(bw[4]);" }}} {EXCHG {PARA 218 "" 0 "" {TEXT 217 111 "The procedure connSumKnots() t akes as input a list of lists. Each element of the list is a list repr esenting a " }{TEXT 217 102 "braid word of a knot, and the procedure g ives back a braid word of the connected sum of the two knots." }}} {EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 6 "bw[2];" }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 28 "connSumKnots([bw[4],bw[2]]);" }}} {EXCHG {PARA 218 "" 0 "" {TEXT 217 116 "The following examples show ho w braid words, quandles, and lists can be used to compute quandle cocy cle invariants. " }}{PARA 218 "" 0 "" {TEXT 217 90 "First an example o f the quandle 2-cocycle invariants for a given knot and a given quandl e." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 28 "calc2cocInvar(Q4_ 3,bw[1],2);" }}}{EXCHG {PARA 220 "" 0 "" {TEXT 220 164 "The first entr y is the quandle specified, the second is a knot in braid word form, a nd the last is the modulus of the coefficient group used (Z_2 in this \+ example). " }}{PARA 220 "" 0 "" {TEXT 220 168 "The general solutions o f 2-cocycles are computed with free variables represented by t with su bscripts, and used to compute the state-sum form of the cocycle invari ant. " }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 28 "calc2cocInvar( Q4_3,bw[4],2);" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 116 "Notice: co2 solproccall is not printed in the second example. This is printed only if the procedure co2Solution() is " }{TEXT 217 36 "called in executin g calc2cocInvar()." }{TEXT 217 116 "\nThe solutions in this case are r etrieved from memory rather than calculating the solutions for each fu nction call. " }}{PARA 218 "" 0 "" {TEXT 217 70 "This is due to the li ne \"option remember\" in the code for co2Solution." }}{PARA 218 "" 0 "" {TEXT 217 107 "The next example shows how the optional fourth argum ent in calc2cocInvar() and calc3cocInvar() can be used." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 21 "f:=co3Solution(Q3,2);" }}} {EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 9 "print(f);" }}}{EXCHG {PARA 220 "" 0 "" {TEXT 220 120 "This printed the general solution of \+ 3-cocycles. The following computes the shadow (face colored) 3-cocycle invariants. " }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 26 "calc3c ocInvar(Q3,bw[4],2);" }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 29 "calc3cocInvar(Q3,bw[5],2, f);" }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 26 "calc3cocInvar(Q3,bw[1],3);" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 192 "The invariants can be calculated for all knots in \+ the table and a given quandle in the following way.\nThis example may \+ take a few minutes. It took about 2 minutes on a AMD 1.4 GHz processo r. " }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 21 "for i from 1 to \+ 35 do" }{MPLTEXT 1 219 24 "\n print(Knot,i ,bw[i]);" }{MPLTEXT 1 219 38 "\n print(calc2cocInvar(Q4_3,bw[i],2));" }{MPLTEXT 1 219 4 "\nod; " }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 533 "Different quandles can be placed into a list to allow multiple quandles to color the same or di fferent knots. \nThe following example tries to determine if any of th e three or four element quandles can distinguish the left and right tr efoil knots by the 3-cocycle invariants.\nThis example could be run ov er every quandle by replacing L by \nL:=[Q3,Q4_1,Q4_2,Q4_3,Q5_1,Q5_5,Q 5_2,Q5_3,Q5_4,Q5_6,Q6_1,Q6_2,Q6_3,Q6_4,Q6_5,Q6_6,Q6_7,Q6_8,Q6_9,Q6_10, Q6_11,Q6_12,Q6_13,Q6_14,Q6_15,Q6_16,Q6_17,Q6_18,Q6_19,Q6_20,Q6_21,Q6_2 2,Q6_23,Q6_24,Q6_25];" }{TEXT 217 88 "\nThe example with all the quand les took about an hour to run on a AMD 1.4 GHz processor." }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 23 "L:=[Q3,Q4_1,Q4_2,Q4_3];" }}} {EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 13 "for j in L do" } {MPLTEXT 1 219 26 "\nprint(convert(j,matrix));" }{MPLTEXT 1 219 20 "\n print(knot,bw[1]); " }{MPLTEXT 1 219 26 "\ncalc3cocInvar(j,bw[1],3);" }{MPLTEXT 1 219 40 "\nprint(\"mirror Knot\",mirrorKnot(bw[1]));" } {MPLTEXT 1 219 38 "\ncalc3cocInvar(j,mirrorKnot(bw[1]),3);" }{MPLTEXT 1 219 4 "\nod;" }}}{EXCHG {PARA 218 "" 0 "" {TEXT 217 95 "This example will calculate all of the invariants for every 5 element quandle and \+ the 35 knots." }{TEXT 217 31 "\nNote: This is time consuming. " }}} {EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 35 "S:=[Q5_1,Q5_2,Q5_3,Q5_4, Q5_5,Q5_6];" }}}{EXCHG {PARA 218 "> " 0 "" {MPLTEXT 1 219 13 "for j in S do" }{MPLTEXT 1 219 28 "\n print(convert(j,matrix));" }{MPLTEXT 1 219 24 "\n for i from 1 to 35 do" }{MPLTEXT 1 219 28 "\n print(K not,i, bw[i]);" }{MPLTEXT 1 219 39 "\n print(calc2cocInvar(j,bw[i ],2));" }{MPLTEXT 1 219 6 "\n od;" }{MPLTEXT 1 219 4 "\nod;" }}} {EXCHG {PARA 219 "" 0 "" {TEXT -1 0 "" }}}{PARA 221 "" 0 "" {TEXT -1 0 "" }}{PARA 222 "" 0 "" {TEXT -1 0 "" }}{PARA 223 "" 0 "" {TEXT -1 0 "" }}{PARA 224 "" 0 "" {TEXT -1 0 "" }}}{MARK "16 0 0" 65 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }