(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 390578, 11653]*) (*NotebookOutlinePosition[ 392237, 11704]*) (* CellTagsIndexPosition[ 392193, 11700]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[StyleBox["An Introduction to Coding Theory"]], "Title", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ By Robin Sanders and Lawrence Stout, copyright 1998\ \>", "Subsubtitle"], Cell[CellGroupData[{ Cell[TextData[StyleBox["Initialization Cells."]], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ " When ", StyleBox["Mathematica", FontSlant->"Italic"], " askes you if you want to initialize the notebook, press the yes button." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " The initialization cells contain specialized functions that are used \ in this notebook. A complete list of the contents of the initialization \ cells is contained in the appendix."]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox["Hidden Cells"]], "Section", Evaluatable->False, CellOpen->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Off[General::spell]\nNeeds[\"Graphics`Colors`\"]"]], "Input", CellLabel->"In[1]:=", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox["Code for drawing cubes."]], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox["Clear[top,bottom, cross]"]], "Input", CellLabel->"In[3]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "top[{cenx_, ceny_, cenz_}, size_, color_] :=\n{Graphics3D[\n {color,\n \ Line[{{cenx - size/2,ceny - size/2,cenz + size/2},\n {cenx - \ size/2,ceny + size/2,cenz + size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx - size/2,ceny - size/2,cenz + size/2},\n \ {cenx + size/2,ceny - size/2,cenz + size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx + size/2,ceny + size/2,cenz + size/2},\n \ {cenx - size/2,ceny + size/2,cenz + size/2}}]\n }],\n\n \ Graphics3D[\n {color,\n Line[{{cenx + size/2,ceny + size/2,cenz + \ size/2},\n {cenx + size/2,ceny - size/2,cenz + size/2}}]\n \ }]\n}\n "]], "Input", CellLabel->"In[4]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "bottom[{cenx_, ceny_, cenz_}, size_, color_] :=\n{Graphics3D[\n {color,\ \n Line[{{cenx - size/2,ceny - size/2,cenz - size/2},\n \ {cenx - size/2,ceny + size/2,cenz - size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx - size/2,ceny - size/2,cenz - size/2},\n \ {cenx + size/2,ceny - size/2,cenz - size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx + size/2,ceny + size/2,cenz - size/2},\n \ {cenx - size/2,ceny + size/2,cenz - size/2}}]\n }],\n\n \ Graphics3D[\n {color,\n Line[{{cenx + size/2,ceny + size/2,cenz - \ size/2},\n {cenx + size/2,ceny - size/2,cenz - size/2}}]\n \ }]\n}\n "]], "Input", CellLabel->"In[6]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "cross[{cenx_, ceny_, cenz_}, size_, color_] :=\n{Graphics3D[\n {color,\n\ Line[{{cenx - size/2,ceny - size/2,cenz - size/2},\n {cenx \ - size/2,ceny - size/2,cenz + size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx - size/2,ceny + size/2,cenz - size/2},\n \ {cenx - size/2,ceny + size/2,cenz + size/2}}]\n }],\n Graphics3D[\n \ {color,\n Line[{{cenx + size/2,ceny + size/2,cenz - size/2},\n \ {cenx + size/2,ceny + size/2,cenz + size/2}}]\n }],\n\n \ Graphics3D[\n {color,\n Line[{{cenx + size/2,ceny - size/2,cenz - \ size/2},\n {cenx + size/2,ceny - size/2,cenz + size/2}}]\n \ }]\n}\n "]], "Input", CellLabel->"In[8]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[cube]\ncube[{cenx_, ceny_, cenz_}, size_, \n \ topcolor_, bottomcolor_, crosscolor_] :=\nShow[\n top[{cenx, ceny, cenz}, \ size, topcolor],\n bottom[{cenx, ceny, cenz}, size, bottomcolor],\n \ cross[{cenx, ceny, cenz}, size, crosscolor],\n DisplayFunction->Identity,\n\ Boxed->False]"]], "Input", CellLabel->"In[10]:=", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "cube6D[c, b, s] makes a 6D cube with big dimension b and cubelet dimension \ s."]], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "Clear[cube6D]\ncube6D[c_, b_, s_] :=\nModule[{BigCube, Cubelet1, Cubelet2, \ Cubelet3, Cubelet4, Cubelet5,\n Cubelet6, Cubelet7, Cubelet8},\n\ BigCube = cube[{c,c,c}, b, Gold, Gold, Gold];\nCubelet1 = cube[{c - b/2, c - \ b/2, c - b/2}, s, Blue, Red, Green];\nCubelet2 = cube[{c - b/2, c + b/2, c - \ b/2}, s, Blue, Red, Green];\nCubelet3 = cube[{c - b/2, c - b/2, c + b/2}, s, \ Blue, Red, Green];\nCubelet4 = cube[{c + b/2, c - b/2, c - b/2}, s, Blue, \ Red, Green];\nCubelet5 = cube[{c + b/2, c + b/2, c - b/2}, s, Blue, Red, \ Green];\nCubelet6 = cube[{c + b/2, c - b/2, c + b/2}, s, Blue, Red, Green];\n\ Cubelet7 = cube[{c - b/2, c + b/2, c + b/2}, s, Blue, Red, Green];\nCubelet8 \ = cube[{c + b/2, c + b/2, c + b/2}, s, Blue, Red, Green];\nShow[BigCube, \ Cubelet1,\n Cubelet2, Cubelet3,\n Cubelet4, Cubelet5, Cubelet6, \ Cubelet7, Cubelet8,\n ViewPoint->{50.000, 30.000, 15.000},\n \ DisplayFunction->Identity]\n]\n "]], "Input", CellLabel->"In[12]:=", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "cube4D[c, out, in,color] draws a tesseract with outside cube length out and \ inside cube length in"]], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "Clear[cube4D]\ncube4D[c_, out_, in_, color_] :=\nModule[{InsideCube, \ OutsideCube, crosslines},\nInsideCube = cube[{c,c,c}, in, color, color, \ color];\nOutsideCube = cube[{c,c,c}, out, color, color, color];\ncrosslines =\ \n{Graphics3D[\n {color,\n Line[{{c - in/2, c - in/2, c - in/2},\ \n {c - out/2, c - out/2, c - out/2}}]}],\n Graphics3D[\n \ {color,\n Line[{{c - in/2, c - in/2, c + in/2},\n {c - \ out/2, c - out/2, c + out/2}}]}], \nGraphics3D[\n {color,\n \ Line[{{c - in/2, c + in/2, c - in/2},\n {c - out/2, c + \ out/2, c - out/2}}]}], \nGraphics3D[\n {color,\n \ Line[{{c - in/2, c + in/2, c + in/2},\n {c - out/2, c + out/2, \ c + out/2}}]}], \nGraphics3D[\n {color,\n Line[{{c + in/2, c - \ in/2, c - in/2},\n {c + out/2, c - out/2, c - out/2}}]}],\n\ Graphics3D[\n {color,\n Line[{{c + in/2, c - in/2, c + in/2},\n \ {c + out/2, c - out/2, c + out/2}}]}],\nGraphics3D[\n {color,\ \n Line[{{c + in/2, c + in/2, c - in/2},\n {c + out/2, c \ + out/2, c - out/2}}]}],\nGraphics3D[\n {color,\n Line[{{c + in/2, \ c + in/2, c + in/2},\n {c + out/2, c + out/2, c + out/2}}]}]};\n\ Show[InsideCube, OutsideCube, crosslines,\n ViewPoint->{50.000, 30.000, \ 15.000},\n DisplayFunction->Identity]\n] \ "]], "Input", CellLabel->"In[15]:=", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "cube7D[c, out, in, s, color, top, bot, cross] . . . draws a 7 D cube with \ center at {c, c, c}, outside bigcube length out, inside bigcube length in, \ and cubelet length s."]], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "cube7D[c_, out_, in_, s_, color_, topcolor_, botcolor_, crosscolor_] :=\n\ Module[{tesseract, Cubelet1, Cubelet2, Cubelet3, Cubelet4, Cubelet5,\n \ Cubelet6, Cubelet7, Cubelet8, Cubelet9, Cubelet10, Cubelet11,\n \ Cubelet12, Cubelet13, Cubelet14, Cubelet15, Cubelet16},\ntesseract = \ cube4D[c, out, in, color];\nCubelet1 = cube[{c - in/2, c - in/2, c - in/2}, \ s, topcolor, botcolor, crosscolor];\nCubelet2 = cube[{c - in/2, c + in/2, c - \ in/2}, s, topcolor, botcolor, crosscolor];\nCubelet3 = cube[{c - in/2, c - \ in/2, c + in/2}, s, topcolor, botcolor, crosscolor];\nCubelet4 = cube[{c + \ in/2, c - in/2, c - in/2}, s, topcolor, botcolor, crosscolor];\nCubelet5 = \ cube[{c + in/2, c + in/2, c - in/2}, s, topcolor, botcolor, crosscolor];\n\ Cubelet6 = cube[{c + in/2, c - in/2, c + in/2}, s, topcolor, botcolor, \ crosscolor];\nCubelet7 = cube[{c - in/2, c + in/2, c + in/2}, s, topcolor, \ botcolor, crosscolor];\nCubelet8 = cube[{c + in/2, c + in/2, c + in/2}, s, \ topcolor, botcolor, crosscolor];\nCubelet9 = cube[{c - out/2, c - out/2, c - \ out/2}, s, topcolor, botcolor, crosscolor];\nCubelet10 = cube[{c - out/2, c + \ out/2, c - out/2}, s, topcolor, botcolor, crosscolor];\nCubelet11 = cube[{c - \ out/2, c - out/2, c + out/2}, s, topcolor, botcolor, crosscolor];\nCubelet12 \ = cube[{c + out/2, c - out/2, c - out/2}, s, topcolor, botcolor, crosscolor];\ \nCubelet13 = cube[{c + out/2, c + out/2, c - out/2}, s, topcolor, botcolor, \ crosscolor];\nCubelet14 = cube[{c + out/2, c - out/2, c + out/2}, s, \ topcolor, botcolor, crosscolor];\nCubelet15 = cube[{c - out/2, c + out/2, c + \ out/2}, s, topcolor, botcolor, crosscolor];\nCubelet16 = cube[{c + out/2, c + \ out/2, c + out/2}, s, topcolor, botcolor, crosscolor];\nShow[tesseract, \ Cubelet1,\n Cubelet2, Cubelet3,\n Cubelet4, Cubelet5, Cubelet6, \ Cubelet7, Cubelet8,\n Cubelet9, Cubelet10, Cubelet11, Cubelet12, \ Cubelet13,\n Cubelet14, Cubelet15, Cubelet16,\n ViewPoint->{50.000, \ 30.000, 15.000},\n DisplayFunction->Identity]\n]\n "]], "Input", CellLabel->"In[17]:=", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Additonal initialization cells for the Hamming 7-4 code."]], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Ham74[{x, y, z, w}] is the LT that does the encoding\nin the Hamming 7-4 \ code."]], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "Clear[Ham74,x,y,z]\nHam74[{x_, y_, z_, w_}] = {Mod[x + y + w, 2], \n \ Mod[x + z + w, 2], \n x, \n \ Mod[y + z + w, 2], \n y, z, \ w};"]], "Input", CellLabel->"In[19]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "infopoint4[{x1, x2, x3, x4}, c, out, in, color] makes a \"Point\" at the \ correct corner of the tesseract centered at {c,c,c} with outside dimension \ out, inside dimension in, and draws the point in the specified color."]], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "Clear[infopoint4]\ninfopoint4[{x1_, x2_, x3_, x4_}, c_, out_, in_, color_] \ :=\n Module[{center, outer, inner,corner, info},\n center = c;\n \ outer = out/2;\n inner = in/2;\n info = {x1, x2, x3, x4};\n\ If[info[[1]]==0, corner = outer, corner = inner];\n \ Graphics3D[{color, PointSize[.05],\n Point[{center + (-1)^(info[[4]] \ + 1) corner,\n center + (-1)^(info[[3]] + 1) corner,\n \ center + (-1)^(info[[2]] + 1) corner}]}]\n ]"]], "Input", CellLabel->"In[21]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "codepoint74[{x1, x2, x3, x4}, c, out, in, s, color] makes a \"Point\" at the \ correct corner of the 7D cube for the codeword corresponding to {x1,x2,x3,x4} \ centered at {c,c,c} with outside dimension out, inside dimension in, and \ draws the point in the specified color."]], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "codepoint74[{x1_, x2_, x3_, x4_}, c_, out_, in_, s_,color_] :=\n \ Module[{center, outer, inner,corner, s1, ham},\n center = c;\n \ outer = out/2;\n inner = in/2;\n s1 = s/2;\n ham = \ Ham74[{x1, x2, x3, x4}];\n If[ham[[1]]==0, corner = outer, corner = \ inner];\n Graphics3D[{color, PointSize[.02],\n Point[{center \ + (-1)^(ham[[4]] + 1) corner + (-1)^(ham[[7]] + 1) s1,\n \ center + (-1)^(ham[[3]] + 1) corner + (-1)^(ham[[6]] + 1) s1,\n \ center + (-1)^(ham[[2]] + 1) corner + (-1)^(ham[[5]] + 1) s1}]}]\n \ ]"]], "Input", CellLabel->"In[23]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Coloring neighbors of codewords---\nColorNeighbors74[{x1, x2, x3, x4}, c, \ out, in, s, color] colors all the neighbors of the codeword for \n{x1, x2, \ x3, x4} in the same color."]], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "Clear[ColorNeighbors]\nColorNeighbors74[{x_, y_, z_, w_}, c_, out_, in_, s_, \ color_] :=\nModule[{neigbors,a, k, points, codeword, ham, corner, s1, center, \ outer, inner},\n neighbors = { };\n codeword = Ham74[{x, y, z, w}];\n Do[{a = \ ReplacePart[codeword, \n Mod[codeword[[k]]+1, 2],k];\n \ AppendTo[neighbors, a];},\n {k,1, Length[codeword ] }];\n center = c;\n \ outer = out/2;\n inner = in/2;\n s1 = s/2;\n points = { };\n Do[{ham = \ neighbors[[k]];\n If[ham[[1]]==0, corner = outer, corner = inner];\n \ AppendTo[points,\n Graphics3D[{color, PointSize[.015],\n \ Point[{center + (-1)^(ham[[4]] + 1) corner + (-1)^(ham[[7]] + 1) s1,\n \ center + (-1)^(ham[[3]] + 1) corner + (-1)^(ham[[6]] + 1) s1,\n\ center + (-1)^(ham[[2]] + 1) corner + (-1)^(ham[[5]] + 1) \ s1}]}]]\n },\n {k, 1, Length[neighbors]}];\n Show[points, \ DisplayFunction->Identity]\n ]"]], "Input", CellLabel->"In[24]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Here are the standard \"pictures\" of the\n3-dimensional, 4-dimensional and \ 7-dimensional cubes."]], "Subsubsection", Evaluatable->False, AspectRatioFixed->True, FontColor->GrayLevel[0]], Cell[TextData[StyleBox[ "ThreeCube = cube[{1,1,1},2,Blue,Red, Green];"]], "Input", CellLabel->"In[26]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "labels = {\n Graphics3D[Text[\" \",{1,-.25,1}]],\n \ Graphics3D[Text[\"{0,0,0}\", {0,.45,.25}]],\n \ Graphics3D[Text[\"{0,0,1}\", {2,.15,-.15}]],\n \ Graphics3D[Text[\"{0,1,0}\", {0,2,-.25}]],\n Graphics3D[Text[\"{1,0,0}\", \ {0,0,2.15}]],\n Graphics3D[Text[\"{0,1,1}\", {2,2,-.15}]],\n \ Graphics3D[Text[\"{1,1,0}\", {0,2,2.15}]],\n Graphics3D[Text[\"{1,0,1}\", \ {2,0.15,1.85}]],\n Graphics3D[Text[\"{1,1,1}\", {2,2.45,2}]]};"]], "Input",\ CellLabel->"In[27]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "LabeledThreeCube =\nShow[ThreeCube,labels,\nViewPoint->{2.939, 1.262, \ 1.104},\n DisplayFunction->Identity];"]], "Input", CellLabel->"In[28]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "c = 10;\nout = 20;\nin = 7;\ns = 1.5;\nFourCube = cube4D[c, out, in,Bisque];\ \nSevenCube=cube7D[c,out,in,s,Bisque,Blue,Red,Green];"]], "Input", CellLabel->"In[29]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "MonoSevenCube=cube7D[c,out,in,s,Gray,Gray,\n \ Gray,Gray ];\n"]], "Input", CellLabel->"In[35]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "The information words and the code words---drawing stuff."]], "Subsubsection",\ Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info0 = infopoint4[{0,0,0,0}, c, out, in, Red];\ncode0 = \ codepoint74[{0,0,0,0}, c, out, in, s, Red];\nneigh0 = \ ColorNeighbors74[{0,0,0,0}, c, out, in, s, Red];"]], "Input", CellLabel->"In[36]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info1 = infopoint4[{0,0,0,1},c, out, in,Blue];\ncode1 = \ codepoint74[{0,0,0,1},c, out, in,s,Blue];\nneigh1 = \ ColorNeighbors74[{0,0,0,1},c, out, in,s,Blue];"]], "Input", CellLabel->"In[39]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info2 = infopoint4[{0,0,1,0},c, out, in,Green];\ncode2 = \ codepoint74[{0,0,1,0},c, out, in,s,Green];\nneigh2 = \ ColorNeighbors74[{0,0,1,0},c, out, in,s,Green];"]], "Input", CellLabel->"In[42]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info3 = infopoint4[{0,0,1,1},c, out, in,Yellow];\ncode3 = \ codepoint74[{0,0,1,1},c, out, in,s,Yellow];\nneigh3 = \ ColorNeighbors74[{0,0,1,1},c, out, in,s,Yellow];"]], "Input", CellLabel->"In[45]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info4 = infopoint4[{0,1,0,0},c, out, in,Pink];\ncode4 = \ codepoint74[{0,1,0,0},c, out, in,s,Pink];\nneigh4 = \ ColorNeighbors74[{0,1,0,0},c, out, in,s,Pink];"]], "Input", CellLabel->"In[48]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info5 = infopoint4[{0,1,0,1},c, out, in,Brick];\ncode5 = \ codepoint74[{0,1,0,1},c, out, in,s,Brick];\nneigh5 = \ ColorNeighbors74[{0,1,0,1},c, out, in,s,Brick];"]], "Input", CellLabel->"In[51]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info6 = infopoint4[{0,1,1,0},c, out, in,Cadet];\ncode6 = \ codepoint74[{0,1,1,0},c, out, in,s,Cadet];\nneigh6 = \ ColorNeighbors74[{0,1,1,0},c, out, in,s,Cadet];"]], "Input", CellLabel->"In[54]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info7 = infopoint4[{0,1,1,1},c, out, in,Orange];\ncode7 = \ codepoint74[{0,1,1,1},c, out, in,s,Orange];\nneigh7 = \ ColorNeighbors74[{0,1,1,1},c, out, in,s,Orange];"]], "Input", CellLabel->"In[57]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info8 = infopoint4[{1,0,0,0}, c, out, in,ChromeOxideGreen];\ncode8 = \ codepoint74[{1,0,0,0}, c, out, in,s,ChromeOxideGreen];\nneigh8 = \ ColorNeighbors74[{1,0,0,0}, c, out, in,s,ChromeOxideGreen];"]], "Input", CellLabel->"In[60]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info9 = infopoint4[{1,0,0,1}, c, out, in,CobaltVioletDeep];\ncode9 = \ codepoint74[{1,0,0,1}, c, out, in,s,CobaltVioletDeep];\nneigh9 = \ ColorNeighbors74[{1,0,0,1}, c, out, in,s,CobaltVioletDeep];"]], "Input", CellLabel->"In[63]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info10 = infopoint4[{1,0,1,0}, c, out, in,Cyan];\ncode10 = \ codepoint74[{1,0,1,0}, c, out, in,s,Cyan];\nneigh10 = \ ColorNeighbors74[{1,0,1,0}, c, out, in,s,Cyan];"]], "Input", CellLabel->"In[66]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info11 = infopoint4[{1,0,1,1}, c, out, in,EnglishRed];\ncode11 = \ codepoint74[{1,0,1,1}, c, out, in,s,EnglishRed];\nneigh11 = \ ColorNeighbors74[{1,0,1,1}, c, out, in,s,EnglishRed];"]], "Input", CellLabel->"In[69]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info12 = infopoint4[{1,1,0,0},c, out, in, Goldenrod];\ncode12 = \ codepoint74[{1,1,0,0}, c, out, in,s,Goldenrod];\nneigh12 = \ ColorNeighbors74[{1,1,0,0}, c, out, in,s,Goldenrod];"]], "Input", CellLabel->"In[72]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info13 = infopoint4[{1,1,0,1}, c, out, in,GreenYellow];\ncode13 = \ codepoint74[{1,1,0,1},c, out, in, s,GreenYellow];\nneigh13 = \ ColorNeighbors74[{1,1,0,1},c, out, in, s,GreenYellow];"]], "Input", CellLabel->"In[75]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info14 = infopoint4[{1,1,1,0}, c, out, in,Lavender];\ncode14 = \ codepoint74[{1,1,1,0}, c, out, in,s,Lavender];\nneigh14 = \ ColorNeighbors74[{1,1,1,0}, c, out, in,s,Lavender];"]], "Input", CellLabel->"In[78]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "info15 = infopoint4[{1,1,1,1},c, out, in, Magenta];\ncode15 = \ codepoint74[{1,1,1,1}, c, out, in,s,Magenta];\nneigh15 = \ ColorNeighbors74[{1,1,1,1}, c, out, in,s,Magenta];"]], "Input", CellLabel->"In[81]:=", InitializationCell->True, AspectRatioFixed->True] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Initialization cells for working with text, binary, and bitstreams"]], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[TextToBinary]\nTextToBinary[text_,bits_] := \n\ Module[{characters,step2},\n characters = ToCharacterCode[text];\n \ step2 = IntegerDigits[characters, 2];\n Table[\n \ Take[Flatten[Prepend[step2[[k]],{0,0,0}]],\n \ -bits],\n {k, 1,Length[step2]}]\n ] "]], "Input", CellLabel->"In[84]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[InfoBits]\nInfoBits[bitstream_,infobits_] := \nModule[{total, zeros, \ remainder,k,\n fatbits},\n\ttotal = Length[bitstream];\n If[ \ Mod[total, infobits] != 0, \n {remainder = Mod[total, infobits];\n\ zeros = Flatten[\n Table[0,{k, infobits - \ remainder}]];\n fatbits = Flatten[Append[bitstream, zeros]];\n \ },\n fatbits = bitstream;\n ];\n \ Partition[fatbits, infobits]\n ]"]], "Input", CellLabel->"In[86]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[AddErrors]\nAddErrors[bitstream_, num_] := \n\tModule[{errorbits, \ receivedbitstream},\n\t receivedbitstream = bitstream;\n\t errorbits = \ Table[Random[Integer, {1, Length[bitstream]}],\n\t \ {k,1,num}];\n Do[\n receivedbitstream = \ ReplacePart[receivedbitstream, \n \ Mod[receivedbitstream[[errorbits[[k]]]]+1, 2],\n errorbits[[k]]\ \n ],\n {k,1, Length[errorbits]}];\n \ receivedbitstream\n ]"]], "Input", CellLabel->"In[88]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[BitstreamToBinary]\nBitstreamToBinary[bitstream_, bits_] := \n\ Module[{extra, bitstream1},\n\textra = Mod[Length[bitstream], bits];\n \ bitstream1 = Drop[bitstream, -extra];\n Partition[bitstream1, bits] \n \ ]"]], "Input", CellLabel->"In[90]:=", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[StyleBox[ "Clear[BinaryToText]\nBinaryToText[binary_, bits_] := \n\ Module[{twopowers,characters, k},\n twopowers = Table[2^{bits-k}, {k, 1, \ bits}];\n characters =\n Flatten[\n \ Table[binary[[k]].twopowers, {k, 1, Length[binary]}]\n ];\n \ FromCharacterCode[characters]\n ]"]], "Input", CellLabel->"In[92]:=", InitializationCell->True, AspectRatioFixed->True] }, Closed]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Basic outline of problem"]], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " In a computer, each character of ASCII text is stored as a 7 or 8 bit \ \"string\" of 0's and 1's. The entire text string itself is thus stored as a \ very long string of 0's and 1's that is called a \"bitstream.\" For \ example, the following cell converts the characters in the text between the \ quote marks to 7-bit binary words. "]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Clear[binary];\nbinary = TextToBinary[\"A sample!\", 7]"]], "Input", CellLabel->"In[94]:=", AspectRatioFixed->True], Cell[BoxData[ \({{1, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 1, 1}, { 1, 1, 0, 0, 0, 0, 1}, {1, 1, 0, 1, 1, 0, 1}, {1, 1, 1, 0, 0, 0, 0}, { 1, 1, 0, 1, 1, 0, 0}, {1, 1, 0, 0, 1, 0, 1}, {0, 1, 0, 0, 0, 0, 1}} \)], "Output", CellLabel->"Out[95]="] }, Open ]], Cell[TextData[{ StyleBox[ "Each of these words can be thought of as a vector over the field "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\)]]], StyleBox[ ". The bitstream that is used to store the text is formed from the list of \ binary words by deleting the braces that are used separate the words. Here's \ the bitstream for the text:"] }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Clear[bitstream];\nbitstream = Flatten[binary]"]], "Input", CellLabel->"In[96]:=", AspectRatioFixed->True], Cell[BoxData[ \({1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1}\)], "Output", CellLabel->"Out[97]="] }, Open ]], Cell[TextData[StyleBox[ " When transmitting a bitstring across communication lines, errors in the \ bitstring can occur. In other words, some of the 0's may be transmitted as \ 1's and vice versa. The function, AddErrors[ ], mimics this situation. For \ example, if one random error occurs in the transmission of the bitstream, the \ recieved bitstream looks like:"]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Clear[receivedbitstream];\nreceivedbitstream = AddErrors[bitstream, 1]"]], "Input", CellLabel->"In[98]:=", AspectRatioFixed->True], Cell[BoxData[ \({1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1}\)], "Output", CellLabel->"Out[99]="] }, Open ]], Cell[TextData[StyleBox[ "If one or more errors occurs during transmission, the bitstring cannot be \ correctly reconverted to text at the receiving end, as is shown in the output \ of the following cell. "]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Clear[receivedbinary, receivedtext]\nreceivedbinary = \n \ BitstreamToBinary[receivedbitstream, 7]\nreceivedtext = \n \ BinaryToText[receivedbinary, 7]"]], "Input", CellLabel->"In[100]:=", AspectRatioFixed->True], Cell[BoxData[ \({{1, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 1, 1}, { 1, 1, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 0, 1}, {1, 1, 1, 0, 0, 0, 0}, { 1, 1, 0, 1, 1, 0, 0}, {1, 1, 0, 0, 1, 0, 1}, {0, 1, 0, 0, 0, 0, 1}} \)], "Output", CellLabel->"Out[101]="], Cell[BoxData[ \("A sa}ple!"\)], "Output", CellLabel->"Out[102]="] }, Open ]], Cell[TextData[StyleBox[ " Our task: Use linear algebra and some geometry to design a way to \ transmit the bitstream so that we can detect (and correct) errors that occur \ during transmission."]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " This problem was first considered by Richard Hamming in 1948 when he \ grew frustrated with the fact that the vaccumn tube computer he was working \ with would simply stop working on his programs whenever a transmission error \ occured. We'll look at his solution in detail in this notebook."]], "Text", Evaluatable->False, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Hamming's idea"]], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ " First, Hamming chopped the bitstream up into 4-bit \"information \ words.\" Each of these words is an element of "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^4\)]]], StyleBox[ " and can be thought of as a vertex in a 4 dimensional cube (or a \ tesseract) where adjacent vertices differ in exactly one coordinate. \ Clearly, an error in any bit transforms one information word into another \ information word\[LongDash]that's the problem we want to get around. \ Hamming's idea was to add extra \"check bits\" to each word in such a way as \ to both detect occasonal errors and to correct those errors if possible."] }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ " Mathematically, the process of adding the extra bits to the code words \ is the same as finding a map from the vector space "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^4\)]]], StyleBox[" to a larger dimensional vector space over the field "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\)]]], StyleBox[ ". Linear transformations are particularly nice mappings, so Hamming's \ basic idea can be thought of in the following way: We need to find a 1-1 \ linear transformation from "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^4\)]]], StyleBox[ " to a larger dimensional vector space with a special property. If we call \ the set of vectors in the image of the linear transformation \"codewords,\" \ then we want the linear transformation to increase the \"distance\" between \ the codewords so that an error in one bit does not transform one codeword \ (the image of an information word) into another one. If we can do this, then \ we should be able to detect when errors in transmission occur. If we pick \ the codomain and the linear transformation carefully, we may even be able to \ correct the errors we detect."] }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox[ " One of the nicest codes that Hamming discovered uses a linear \ transformation from "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^4\)]]], StyleBox[" to "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^7\)]]], StyleBox[ " and is called the Hamming(7,4) code. We will study this particular \ example in depth."] }], "Text", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "The Geometry of three, four, and seven dimensional cubes"]], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " In order to understand the correct idea of \"distance\" in the problem, \ we need some definitions. After the definitions, we need to look at some \ geometry. "]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["Definition. ", FontWeight->"Bold"], StyleBox["The"], StyleBox[" n-dimensional binary cube", FontWeight->"Bold"], StyleBox[" is the set of vectors in "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^n\)]]], StyleBox["."] }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["Definition. ", FontWeight->"Bold"], StyleBox[" The "], StyleBox["Hamming distance (or distance) ", FontWeight->"Bold"], StyleBox[" between two vectors in "], StyleBox[Cell[BoxData[ \(TraditionalForm\`\[DoubleStruckCapitalZ]\_2\^n\)]]], StyleBox[" is the number of components in which they differ."] }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " To make this idea of distance clearer, let's first look at a 3 \ dimensional cube with a standard way of labeling its vertices using 3-strings \ of 0's and 1's."]], "Text", Evaluatable->False, PageBreakAbove->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Show[LabeledThreeCube, \n DisplayFunction->$DisplayFunction];"]], "Input",\ CellLabel->"In[103]:=", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .95058 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D /Courier findfont 10 scalefont setfont % Scaling calculations -0.00543051 1.05261 1.11022e-16 1.05261 [ [ 0 0 0 0 ] [ 1 .95058 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .95058 L 0 .95058 L closepath clip newpath 0 1 0 r .5 Mabswid [ ] 0 setdash .37377 .4173 m .36465 .88985 L s 1 0 0 r .37377 .4173 m .12367 .22777 L s .37377 .4173 m .83334 .34365 L s 0 0 1 r .36465 .88985 m .09419 .77963 L s .36465 .88985 m .85419 .84732 L s 0 1 0 r .83334 .34365 m .85419 .84732 L s 1 0 0 r .65358 .12316 m .83334 .34365 L s 0 0 1 r .66434 .7177 m .85419 .84732 L s 0 1 0 r .12367 .22777 m .09419 .77963 L s 1 0 0 r .65358 .12316 m .12367 .22777 L s 0 0 1 r .66434 .7177 m .09419 .77963 L s 0 1 0 r .65358 .12316 m .66434 .7177 L s 0 g gsave .19237 .58485 -66 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 69.000000 15.000000 moveto 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .47138 .45837 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .16236 .18198 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .83092 .28508 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .36392 .92767 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .65284 .08214 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .85586 .88782 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .13573 .73088 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (0) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore gsave .80751 .70215 -84 -11.5 Mabsadd m 1 1 Mabs scale currentpoint translate 0 23 translate 1 -1 scale 63.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 63.000000 15.000000 moveto (8) show 69.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 75.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 81.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 87.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (,) show 93.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show %%IncludeResource: font Math2Mono %%IncludeFont: Math2Mono /Math2Mono findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 99.000000 15.000000 moveto (<) show 105.000000 15.000000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth %%DocumentNeededResources: font Math2Mono %%+ font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Math2Mono %%+ Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Math2Mono %%+ font Courier grestore % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[103]:=", ImageSize->{159.688, 151.75}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg?U]mgMgLK6 aVi^K[Fe]DaI03>I IIS>IVC>Ic3>Ioc?<03?<[Z jWAdM:NWYj0Pl=WIfJj^[WMgM`000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000009l0002O0000W`0009l0002O0000W`0009l0 002O0000EP000`40000600030@0000T000<100002@000`40000U0000E@000`40000800030@0000T0 00<100002@000`40000T0000E@000`400002008110000`40000200@10`000`40000200@10`000`40 000T0000E@001@400001008000<1000020000`40000900030@00008000<10000900005@000<10000 0P001040004:00030@0000T000<100000`000`40000S0000E@001@400001008000<1000020000`40 000900030@00008000<10000900005D000D100000@0200030@0000P000<100002@000`4000020003 0@0002@0001F00040@000@8000<100001P030@T00`4300030@0002D0001J00812`000`4000090003 0@0002T0002O0000W`0006D00[d00bL0000e0000H005_@8000m0000;`0000L000D100000@0200030@0000H000@100012P000`40 000200030@0001001KdU00039`0000@000>m0000;P0000H000<100000P001040004800040@000@X0 00<100000`000`40000;00Bm:P000bL000040003_@0002h0000700050@0000400P000`4000060004 0@000@X000<100000P000`40000700Fm;P000bL000050003_@0002d0000700050@0000400P000`40 000600040@000@X000<100000P000`40000200Fm<`000bL000060003_@0002`0000800040@000@80 00<100001P001040004800<10`000`6m_@03_CP000mD@000bL0000;0003_@0002L0 000C00039kfm054000m00009@0001<0 00DW0000_@1?00039`0000h000>m0000900001<000m000010000`40000700040@000@@000<100001`000180 00m00000`000`4000070004 0@000@<000<100002000018000m00000`4900040@000@8000<100002@00018000m000070000180 00m00006`00018000m00006P00018000m0000=`000bL0000:00Jm2@000bL0 000H00004P000bL0000J0003_@0003H000m0000;P05_@039`0001T000m00006006_A4000 20000`40000900030@0000<0004P000`h0000G00039`0001H000030003 0@0000<000<100000P000bL0000200040@000@X000<100000P000`40000A00039`0000T02PhM008> 5`000bL0000F000010000`4000030@@00000T> :@000`h0000D00039`0001H0000900030@0000800000039`0001L02Ph800039`0003D000<>00004@000bL0000F00003P000bL0000=00X> 4P000bL0000f008>4P000bL0000E00003P000bL0000300X>70000bL0000h00033P0000l0009`000bL0000l00033P0000`0008P000bL0000o00033P0000T0007@000bL0001200033P0000H0006@000bL0001500033P0000<00050000bL0001800043P009aL0000U00<> 4@000bL00019008>00`0;3Qd0 000/00<>2P000bL0000`00X>00<100001P000`40000900030@0000T000<100001@0002l00Ph80003 9`0002@030h900030@0000P000<100002@000`40000900030@0000@0000a00<>1@000bL0000I00/> 5@00104000040@<000<100000P040@<000<100000`020@@000<10000100003@00Ph300039`0000h0 2`hP00030@0000<000<100002@000`40000700040@000@<000<10000100003H00Ph00`0W000400/> :P000`40000400030@0000T000<100001`001040004400030@0000<0000h00L>=P000`4000030003 0@0000T000<100001`001040004300030@0000@0000X00030@0000H000<100002@000`4000090003 0@0002T000<100000`000`40000900030@0000L000@100010`000`40000400009`000`4000080003 0@0000T000<100002@000`40000Y00030@0000<12@030@T000@100010P000`40000500009`001040 00040@<000<100000`020@@000<100000`020@@000<10000;P000`40000900030@0000P00P4;0000 9`000`40000300030@0000L000@1000120001040004300030@000580000V00030@0000@000<10000 1`001040004800040@000@@000<10000D@0002L000<100000`000`40000700040@000@P000@10001 0`000`40001B00009`000`40000300030@0000L000@1000120001040004300030@000580000X0003 0@0000<12@001040004800040@000@8000<10000D`0002d000<1000020020@X00P5I0000\ \>"], ImageRangeCache->{{{96, 254.688}, {290.25, 139.5}} -> {-0.57024, 0.83568, 0.00599057, 0.00599057}}] }, Open ]], Cell[TextData[StyleBox[ "As this picture shows, any two vertices of the cube are adjacent if and only \ if their labels differ in exactly one coordinate. "]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " We can represent the 4-cube in three space in the following way. \ First, draw a cube inside of a cube. Then draw addtional edges joining like \ corners in the pairs of cubes. The resulting figure is called a \ tesseract:"]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Show[FourCube, Background->Black,\n \ DisplayFunction->$DisplayFunction];"]], "Input", CellLabel->"In[106]:=", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .95312 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D /Courier findfont 10 scalefont setfont % Background color 0 0 0 r MFill % Scaling calculations -1.11022e-16 1.00276 -0.0205514 1.00276 [ [ 0 0 0 0 ] [ 1 .95312 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .95312 L 0 .95312 L closepath clip newpath 1 .898 .772 r .5 Mabswid [ ] 0 setdash .45998 .40519 m .38405 .26646 L s .38405 .26646 m .38359 .93082 L s .38405 .26646 m .02587 .11555 L s .38405 .26646 m .97441 .17639 L s .45993 .6392 m .38359 .93082 L s .38359 .93082 m .02399 .78808 L s .38359 .93082 m .97627 .84563 L s .66744 .37396 m .97441 .17639 L s .97441 .17639 m .97627 .84563 L s .62121 .02309 m .97441 .17639 L s .45998 .40519 m .45993 .6392 L s .45998 .40519 m .33502 .35304 L s .45998 .40519 m .66744 .37396 L s .45993 .6392 m .33479 .58805 L s .45993 .6392 m .66766 .60856 L s .66744 .37396 m .66766 .60856 L s .54309 .32151 m .66744 .37396 L s .66766 .60856 m .97627 .84563 L s .62168 .70062 m .97627 .84563 L s .54314 .55713 m .66766 .60856 L s .33502 .35304 m .02587 .11555 L s .33502 .35304 m .33479 .58805 L s .54309 .32151 m .33502 .35304 L s .02587 .11555 m .02399 .78808 L s .62121 .02309 m .02587 .11555 L s .33479 .58805 m .02399 .78808 L s .54314 .55713 m .33479 .58805 L s .54309 .32151 m .62121 .02309 L s .54309 .32151 m .54314 .55713 L s .54314 .55713 m .62168 .70062 L s .62168 .70062 m .02399 .78808 L s .62121 .02309 m .62168 .70062 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[106]:=", Evaluatable->False, AspectRatioFixed->True, ImageSize->{158.75, 151.75}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg?U]mgMgLK6 aVi^K[Fe]DaI03>I IIS>IVC>Ic3>Ioc?<03?<[Z jWAdM:NWYj0Pl=WIfJj^[WMgM`000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000009h1002N0@00WP4009h1001N0@05gmWOfMl0 >`4005P100KIgmWOfMl30@04g`7OfCT1001A0@07fMoIgmWOf@080@03gmT1008100?Ig`40=P4004X1 00OIgmWOfMoI00l100?Ig`4010400moIg`0d0@00A0401]oIgmWOfAH100?Of@401`400moI0@0a0@00 ?@401moIgmWOfMl070400mWO0@090@03fMl102l1000f0@07gmWOfMoIg`0R0@03f@7I00`100?OfMl0 ;@40030100KIgmWOfMlY0@03g`7O00l100?Of@40:P4002T100OIgmWOfMoI02l100?I0MT04@400mWO 0@0X0@008P401mWOfMoIgmT0=P400ml1g`0C0@03gmWO02H1000L0@06gmWOfMoI?0401=l10MTF0@03 gmT102<1000E0@07gmWOfMoIg`120@04f@41gaP100?Ig`408@4000h100OOfMoIgmWO04T100CO0@7I 6P400moIg`0O0@0020401]WOfMoIge0100CI0@7O7@400moI0@0L0@0010401=oIgmUE0@05f@410MT0 7`400mWO0@0J0@0010401=WOfMmE0@05g`410Ml08@400moIg`0H0@0010401]l1gmWOfE<100GI0@41 f@0T0@03gmT101D100040@09f@410MT1fMoI050100GO0@41g`0V0@03fMl101<100040@03g`410081 00KI0@41fMm=0@03g`41008100?I0@409P400moIg`0A0@0010400mT10@030@03f@41008100?Of@40 BP400mT10@020@03g`4102T100?Of@403P4000@100?O0@4010400mWO0@030@03fMoI04P100?O0@40 0P400mT10@0[0@03fMl100`100040@03f@4100H100?O0@4010400mWO0@150@03f@41008100?O0@40 ;@400moIg`0:0@0010400ml10@070@03g`4100D100?Of@40@P400mT10@030@03f@41030100?Of@40 1`4000@100?I0@4020400moI0@060@03fMoI040100?O0@400`400ml10@0b0@03fMl100D100040@03 g`4100X100?I0@401`400mWO0@0m0@03f@4100<100?I0@40`400ml10@030@03g`4102`100[IgmWOfMl1gmWO104000@100?O0@4030400mT1 0@090@03fMoI03P100?O0@4010400mT10@0U0@07fMoIgmWOf@060@04g`41f@@100040@03f@4100d1 00?Ig`402`400mWO0@0e0@03f@4100@100?O0@407P401mWOfMoIgmT02`400mWO0@020@03g`410081 00040@03g`4100l100?O0@402`400moI0@0c0@03g`4100@100?I0@4060401]oIgmWOfA4100?I0@40 0`400mT10@020@0010400mT10@0@0@03g`4100`100?IgmT0<@400mT10@040@03g`41014100OOfMoI gmWO01D100?Of@401@400ml10@020@0010400ml10@0A0@03g`4100h100?Ig`40;@400mT10@050@03 f@4100X100OOfMoIgmWO01X100?Ig`401`400mT10@020@0010400mT10@0B0@03gmT100l100?Of@40 :`400ml10@050@03g`4100@100KIgmWOfMlP0@03f@4100P100?O0@400P4000@100?O0@4050400mT1 0@0?0@03fMoI02T100?I0@401@401mWOfMoIgmT090400moI0@0:0@03f@41008100040@03f@4101D1 00?I0@404@400mWO0@0V0@09gmWOfMoIgmWO02T100?O0@402`400ml10@020@0010400ml10@0F0@03 f@41018100?Of@407`401]oIgmWOf@L100?I0@409@400mWO0@0=0@03f@41008100040@03f@4101L1 00?Ig`404`400mWOf@0F0@07gmWOfMoIg`040@03f@4100H100?O0@4090400mT10@0>0@03g`410081 00040@03g`4101T100?O0@4050400mWO0@0<0@07gmWOfMoIg`0;0@03g`4100H100?I0@408P400moI 0@0@0@03f@41008100040@03f@4101X100?O0@405@400moI0@040@06fMoIgmWO4P400mT10@060@03 g`41024100?O0@404@400ml10@020@0010400ml10@0K0@03g`4101H100GIgmWOf@0G0@03f@4100L1 00?I0@407`400mWO0@0C0@03f@41008100040@03f@4101`100?Of@405P400mWO0@0H0@03g`4100L1 00?O0@407@400moI0@0E0@03g`41008100040@03g`4101h100?I0@4050400moI0@0H0@03f@4100L1 00?I0@4070400ml10@0F0@03f@41008100040@03f@4101l100?I0@404`400mT1f@0H0@03g`4100L1 00?O0@406P400mWO0@0H0@03g`41008100040@03g`41020100?Ig`404P400ml1g`0G0@03g`4100P1 00?I0@406@400mT10@0I0@03f@41008100040@03f@41028100?O0@4040401=T10MlF0@03f@4100P1 00?O0@405`400moI0@0K0@03g`41008100040@03g`4102<100?O0@403`401=l10MTF0@03g`4100P1 00?I0@405P400ml10@0L0@03f@41008100040@03f@4102@100?O0@403P401MT10@7I01D100?I0@40 20400ml10@0D0@03fMl101h100?O0@400P4000@100?O0@409@400moI0@0=0@05g`410Ml050400mT1 0@090@03f@4101<100?I0@407`400mT10@020@0010400mT10@0W0@03f@4100/100?I0@400P400ml1 0@0>0@05fMoIgmT02P400ml10@0A0@03gmT1024100?O0@400P4000@100?O0@40:0400mT10@0:0@03 g`41008100?I0@4020401]oIgmWOf@<100CI0MWO20400mT10@0@0@03g`41028100?I0@400P4000@1 00?I0@40:@400mT10@090@03f@4100<100[I0@7OfMoIgmWO2@401ml10@7OfMl01@400ml10@0>0@03 fMl102@100?O0@400P4000@100?O0@40:P400mWO0@080@09g`7OfMoIgmWO010100?I0@4010400moI 0@020@03f@4100`100?Of@409P400mT10@020@0010400mT10@0/0@03g`41008100KIgmWOfMl50@03 g`4100l100?O0@401P401=WOfMl=0@03g`4102L100?O0@400P4000@100?O0@40;@401=oIgmT40@03 g`4100D100?O0@403P400mT10@090@03fMl100T100?Ig`40:@400mT10@020@0010400mT10@0]0@04 f@7Ig`@100?I0@401@400mT10@0>0@03g`4100X100CIgmWO1P400mT10@0Z0@03g`41008100040@03 g`4102d100WO0@41gmWO0Ml020400mT10@0=0@03f@4100X100KO0@41gmT20@03gmT102`100?I0@40 0P4000@100?I0@40;@400mT10@040@03gmT100L100?O0@403@400ml10@0:0@08f@410MWOfMl_0@03 g`41008100040@03g`4102d100?O0@401@401=oIgmT60@03g`4100`100?I0@4020401]oIgmWOf@<1 00?I0@40;@400mT10@020@0010400mT10@0]0@03f@4100D100KI0@41fMl40@03f@4100`100_O0@41 gmWOfMoIg`020@03f@4100@100?O0@40;@400ml10@020@0010400ml10@0]0@03g`4100D100?O0@40 0`400moIg`020@03f@4100P100OOfMoIgmWO00T100?O0@4010400mT10@0]0@03f@41008100040@03 f@4102d100?I0@401@400mT10@060@03gmWO00@100KIgmWOfMl30@03g`4100X100?I0@4010400ml1 0@0]0@03g`41008100040@03g`4102d100?O0@401@400ml10@080@05fMoIgmT02@400mT10@0:0@03 g`4100@100?I0@40;@400mT10@020@0010400mT10@0]0@03f@4100D100?I0@402@400mT10@0:0@03 g`4100X100?I0@4010400ml10@0]0@03g`41008100040@03g`4102d100?O0@401@400ml10@090@03 g`4100X100?I0@402P400ml10@040@03f@4102d100?I0@400P4000@100?I0@40;@400mT10@050@03 f@4100T100?I0@402P400ml10@0:0@03f@4100@100?O0@40;@400ml10@020@0010400ml10@0]0@03 g`4100D100?O0@402@400ml10@0:0@03f@4100X100?O0@4010400mT10@0]0@03f@41008100040@03 f@4102d100?I0@401@400mT10@090@03f@4100X100?O0@402P400mT10@040@03g`4102d100?O0@40 0P4000@100?O0@40;@400ml10@050@03g`4100T100?O0@402P400mT10@0:0@03g`4100@100?I0@40 ;@400mT10@020@0010400mT10@0]0@03f@4100D100?I0@402@400mT10@0:0@03g`4100X100?I0@40 10400ml10@0]0@03g`41008100030@03f@4102h100?O0@401@400ml10@090@03g`4100X100?I0@40 2P400ml10@040@03f@4102d100?I0@400P4000<100?O0@40;P400mT10@050@03f@4100T100?I0@40 2P400ml10@0:0@03f@4100@100?O0@40;@400ml10@020@000`400mT10@0^0@03g`4100D100?O0@40 2@400ml10@0:0@03f@4100X100?O0@4010400mT10@0]0@03f@41008100030@03g`4102h100?I0@40 1@400mT10@090@03f@4100X100?O0@402P400mT10@040@03g`4102d100?O0@400P4000<100?I0@40 ;P400ml10@050@03g`4100T100?O0@402P400mT10@0:0@03g`4100@100?I0@40;@400mT10@020@00 0`400ml10@0^0@03f@4100D100?I0@402@400mT10@0:0@03g`4100X100?I0@4010400ml10@0]0@03 g`41008100030@03f@4102h100?O0@401@400ml10@090@03g`4100X100?I0@402P400ml10@040@03 f@4102d100?I0@400P4000<100?O0@40;P400mT10@050@03f@4100T100?I0@402P400ml10@0:0@03 f@4100@100?O0@40;@400ml10@020@000`400mT10@0^0@03g`4100D100?O0@402@400ml10@0:0@03 f@4100X100?O0@4010400mT10@0]0@03f@41008100030@03g`4102h100?I0@401@400mT10@090@03 f@4100X100?O0@402P400mT10@040@03g`4102h100?I0@400@4000<100?I0@40;P400ml10@050@03 g`4100T100?O0@402P400mT10@0:0@03g`4100@100?I0@40;P400ml10@010@000`400ml10@0^0@03 f@4100D100?I0@402@400mT10@0:0@03g`4100X100?I0@4010400ml10@0^0@03f@41004100030@03 f@4102h100?O0@401@400ml10@090@03g`4100X100?I0@402P400ml10@040@03f@4102h100?O0@40 0@4000<100?O0@40;P400mT10@050@03f@4100T100?I0@402P400ml10@0:0@03f@4100@100?O0@40 ;P400mT10@010@000`400mT10@0^0@03g`4100D100?O0@402@400ml10@0:0@03f@4100X100?O0@40 10400mT10@0^0@03g`41004100030@03g`4102h100?I0@401@400mT10@090@03f@4100X100?O0@40 2P400mT10@040@03g`4102h100?I0@400@4000<100?I0@40;P400ml10@050@03g`4100T100?O0@40 1`401MoIgmWO00/100?O0@4010400mT10@0^0@03g`41004100030@03g`4102h100?I0@401@400mT1 0@090@0:f@410MWOfMoIg`@100?IgmT02@400mT10@040@03g`4102h100?I0@400@4000<100?I0@40 ;P400ml10@050@03g`4100H100OIgmWOfMoI00X100KO0@7IgmT60@03g`4100@100?I0@40;P400ml1 0@010@000`400ml10@0^0@03f@4100D100WI0MWOfMoIgmT00`400mT10@0<0@03g`41008100?Ig`40 0`400mT10@040@03g`4102h100?I0@400@4000<100?I0@40;P402]l10@7OfMoIgmT:0@03g`4100`1 00?I0@4010401MoIg`7O00H100?I0@40;P400ml10@010@000`400ml10@0^0@04fMoIg`@100?I0@40 2@400mT10@0=0@03f@4100H100?Of@401@400ml10@0^0@03f@41004100030@03f@4102`100KOf@41 gmT40@03g`4100T100?O0@403P400mT10@060@04gmWOf@<100?I0@40;P400ml10@010@000`400ml1 0@0[0@03g`4100@100GIgmT1f@0;0@03f@4100h100?O0@401P402=T10@7Ig`7O<0400mT10@010@00 0`400mT10@0Y0@03fMl100T100?Ig`402P400ml10@0?0@03g`4100D100SO0@41gmWOfC0100?O0@40 0@4000<100?O0@409`400moI0@0<0@04fMoIg`P100?I0@403`400mT10@030@06fMoIgmWO10400mT1 0@0]0@03f@41004100030@03f@4102H100?O0@403@401]l10@7Of@H100?O0@403P401mWOfMoIgmT0 0P400ml10@060@03fMl102`100?O0@400@4000<100?O0@4090400mWO0@0?0@03f@4100<100?IgmT0 0`400mT10@070@07fMoIgmWOf@030@03f@4100<100?I0@4020400ml10@0Z0@03f@41004100030@03 f@4102<100?I0@4040400ml10@060@04fMl1g`<100KOfMoIgmT:0@03g`4100<100?O0@402@400ml1 0@0Y0@03g`41004100030@03g`41024100?Of@404P400mT10@080@05gmWOfMl04@400ml10@020@03 f@4100X100?Of@40:0400mT10@010@000`400mT10@0O0@03fMl101@100?O0@402@400ml10@0B0@03 f@41008100?O0@4030400mT10@0V0@03g`41004100030@03g`4101h100?I0@405@400mT10@080@03 g`4101@100GI0@41f@0?0@03f@4102D100?I0@400@4000<100?I0@4070400moI0@0G0@03g`4100P1 00?I0@4050401Ml10@7O010100?Ig`4090400ml10@010@000`400ml10@0K0@03g`4101P100?I0@40 20400ml10@0E0@04g`41fA8100?O0@408P400mT10@010@000`400mT10@0I0@03fMl101X100?O0@40 20400mT10@0F0@03g`7O01<100?O0@408@400ml10@010@000`400ml10@0H0@03f@4101/100?I0@40 1`400mT10@0G0@03f@7I01@100?Of@4080400mT10@010@000`400mT10@0F0@03gmT101d100?O0@40 1`400ml10@0H0@03fMl101D100?I0@407P400ml10@010@000`400ml10@0D0@03fMl101l100?I0@40 1`400mT10@0H0@03gmT101H100?I0@407@400mT10@010@000`400mT10@0C0@03f@41020100?O0@40 1`400ml10@0F0@05fMoIgmT05`400mWO0@0L0@03g`41004100030@03g`41014100?Of@408P400mT1 0@060@03g`41010100OIgmWOfMoI00D100?Ig`405P400ml10@0J0@03f@41004100030@03f@410101 00?O0@408`400ml10@060@03f@4100X100KOfMoIgmT>0@03gmWO01D100?O0@406@400ml10@010@00 0`400ml10@0>0@03fMl102D100?I0@401P400ml10@030@07gmWOfMoIg`0G0@03gmT101<100?Of@40 60400mT10@010@000`400mT10@0=0@03f@4102H100?O0@401@401moIgmWOfMl080400mWO0@0C0@03 f@4101H100?O0@400@4000<100?O0@402`400moI0@0X0@09fMoIgmWOfMoI02P100?OfMl04P400mT1 0@0E0@03f@41004100030@03f@4100T100?Ig`4090401moIgmWOfMl01`400ml10@0Y0@03gmT10101 00?Ig`4050400ml10@010@000`400ml10@080@03f@4101l100KIgmWOfMl60@03f@4100D100?I0@40 :`400mWOf@0@0@03g`41018100?I0@400@4000<100?I0@401P400moI0@0J0@07fMoIgmWOf@0<0@03 g`4100D100?O0@40;P400mWO0@0>0@03g`41014100?O0@400@4000<100?O0@401@400ml10@0D0@07 fMoIgmWOf@0C0@03f@4100@100?O0@40<@400moIg`0=0@03gmT1010100?I0@400@4000<100?I0@40 0`400mWO0@0?0@07fMoIgmWOf@0J0@03g`4100@100?I0@40=0400moI0@0<0@03f@4100h100?O0@40 0@4000<100KO0@41gmT;0@07fMoIgmWOf@0Q0@03f@4100@100?O0@40=P400mWOf@0;0@03f@4100d1 00?I0@400@4000<100CI0@7O1`401]oIgmWOfBP100?O0@4010400mT10@0i0@03fMl100T100?Ig`40 30400ml10@010@000`402moIg`7OfMoIgmWO02h100?I0@400`400mT10@0l0@03gmT100T100?O0@40 2P400mT10@010@000`401=WOfMle0@03g`4100<100?O0@40?P400mWOf@080@03g`4100T100?O0@40 0@4000D100?Of@40=0400mT10@030@03f@41044100?Ig`401P400moI0@080@03f@41004100070@03 fMoI038100?O0@400P400mT10@140@03gmWO00H100?I0@401P400ml10@010@002P400mWO0@0_0@03 f@41008100?O0@40A`400moI0@040@03f@4100D100?I0@400@4000`100?OfMl0;@400ml10@020@03 f@4104T100?IgmT00`400mWO0@040@03g`410041000?0@03gmT102X100?I0@400P400ml10@1<0@03 fMl1008100?O0@400P400mT10@010@004@400mWOf@0X0@05g`410Ml0D@401MoI0@7O00<100?O0@40 0@4001@100?Ig`409@401MT10@7I05<100OIgmWOf@7I00<1000F0@03gmWO02<100GO0@41g`1F0@04 fMoIg`<1000I0@03gmT1020100GI0@41f@1F0@04gmWOf@<1000K0@03fMoI01h100CO0@7ID0401moI gmWOfMl01`4001h100?Ig`406`401=T10Mm:0@06fMoIgmWO3P40020100?Of@406@401=l10MU30@07 fMoIgmWOf@0D0@008P400mWOf@0G0@04f@41gc`100OIgmWOfMoI01/1000U0@03fMl101@100?O0Ml0 =`401]oIgmWOfB81000W0@03gmWO018100?I0MT0<0401moIgmWOfMl0:04002X100?Of@403`400ml1 g`0Y0@07gmWOfMoIg`0_0@00;0400mWOf@0=0@03f@7I028100OOfMoIgmWO03H1000_0@03fMl100X1 00?Of@4070401]WOfMoIgcd1000a0@03gmWO00P100?Ig`405@401mWOfMoIgmT0@`4003@100?Of@40 1@400moI0@0>0@07fMoIgmWOf@1:0@00=P400mWOf@030@03fMl100P100KOfMoIgmUA0@00>@401=WO 0Ml30@07gmWOfMoIg`1G0@00>`401MoIgmWO05h1002N0@00WP4009h10000\ \>"], ImageRangeCache->{{{96, 253.75}, {532.5, 381.75}} -> {-0.606894, 2.43257, 0.00632176, 0.00632176}}] }, Open ]], Cell[TextData[StyleBox[ "The tesseract is equivalent to a pictoral representation of a four \ dimensional cube. The vertices of a 4-cube have 4 coordinates, so we label \ the vertices of the tesseract with 4-tuples as follows: The first coordinate \ of the tuple determines which cube to use. The vertex is on the outside \ cube whenever the first coordinate is 0, and the vertex is on the inside cube \ whenever the first coordinate is 1. Then use the standard labeling of the \ three cube and the last three coordinates to determine position of the vertex \ within the appropriate cube."]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox[ " We can schematically represent the vertices and edges (lines) in the \ seven dimensional cube by taking the tesseract and replacing each vertex with \ an entire small cubelet:"]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Show[SevenCube, Background->Black,\n \ DisplayFunction->$DisplayFunction];"]], "Input", CellLabel->"In[107]:=", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .95312 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D /Courier findfont 10 scalefont setfont % Background color 0 0 0 r MFill % Scaling calculations 1.66533e-16 1.00276 -0.0205514 1.00276 [ [ 0 0 0 0 ] [ 1 .95312 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .95312 L 0 .95312 L closepath clip newpath 0 1 0 r .5 Mabswid [ ] 0 setdash .38405 .26646 m .38401 .31264 L s 1 0 0 r .38405 .26646 m .35936 .25606 L s .38405 .26646 m .42494 .26022 L s 0 0 1 r .38401 .31264 m .35932 .30228 L s .38401 .31264 m .42491 .30643 L s 0 1 0 r .42494 .26022 m .42491 .30643 L s 1 0 0 r .40027 .24981 m .42494 .26022 L s 0 0 1 r .40024 .29605 m .42491 .30643 L s 1 .898 .772 r .46286 .41045 m .39214 .28124 L s .39214 .28124 m .39174 .89967 L s .39214 .28124 m .05906 .14105 L s .39214 .28124 m .94155 .19754 L s 0 1 0 r .35936 .25606 m .35932 .30228 L s 1 0 0 r .40027 .24981 m .35936 .25606 L s 0 0 1 r .40024 .29605 m .35932 .30228 L s 0 1 0 r .40027 .24981 m .40024 .29605 L s .38362 .8843 m .38359 .93082 L s 1 0 0 r .38362 .8843 m .35884 .87442 L s .38362 .8843 m .42466 .87837 L s 0 0 1 r .38359 .93082 m .3588 .92098 L s .38359 .93082 m .42464 .92492 L s 0 1 0 r .42466 .87837 m .42464 .92492 L s 1 0 0 r .3999 .86849 m .42466 .87837 L s 0 0 1 r .39988 .91507 m .42464 .92492 L s 1 .898 .772 r .46281 .62818 m .39174 .89967 L s .39174 .89967 m .05744 .76656 L s .39174 .89967 m .94316 .82019 L s 0 1 0 r .35884 .87442 m .3588 .92098 L s 1 0 0 r .3999 .86849 m .35884 .87442 L s 0 0 1 r .39988 .91507 m .3588 .92098 L s 0 1 0 r .3999 .86849 m .39988 .91507 L s .93292 .18272 m .93304 .22922 L s 1 0 0 r .93292 .18272 m .90855 .17217 L s .93292 .18272 m .97441 .17639 L s 0 1 0 r .45465 .39544 m .45463 .44201 L s 1 0 0 r .45465 .39544 m .42984 .38508 L s .45465 .39544 m .49588 .38923 L s 0 0 1 r .93304 .22922 m .90867 .2187 L s .93304 .22922 m .97454 .22291 L s .45463 .44201 m .42982 .43169 L s .45463 .44201 m .49588 .43582 L s 0 1 0 r .97441 .17639 m .97454 .22291 L s 1 0 0 r .95007 .16582 m .97441 .17639 L s 0 1 0 r .49588 .38923 m .49588 .43582 L s 1 0 0 r .4711 .37886 m .49588 .38923 L s 0 0 1 r .95019 .21238 m .97454 .22291 L s 1 .898 .772 r .65587 .3814 m .94155 .19754 L s .94155 .19754 m .94316 .82019 L s .61278 .05528 m .94155 .19754 L s 0 1 0 r .90855 .17217 m .90867 .2187 L s 1 0 0 r .95007 .16582 m .90855 .17217 L s 0 0 1 r .47109 .42548 m .49588 .43582 L s 1 .898 .772 r .46286 .41045 m .46281 .62818 L s .46286 .41045 m .34663 .36196 L s .46286 .41045 m .65587 .3814 L s 0 1 0 r .42984 .38508 m .42982 .43169 L s 1 0 0 r .4711 .37886 m .42984 .38508 L s 0 0 1 r .95019 .21238 m .90867 .2187 L s .47109 .42548 m .42982 .43169 L s 0 1 0 r .95007 .16582 m .95019 .21238 L s .45459 .61296 m .45457 .65965 L s 1 0 0 r .45459 .61296 m .42975 .60279 L s .45459 .61296 m .49587 .60686 L s 0 1 0 r .4711 .37886 m .47109 .42548 L s 0 0 1 r .45457 .65965 m .42973 .64951 L s .45457 .65965 m .49587 .65357 L s 0 1 0 r .49587 .60686 m .49587 .65357 L s 1 0 0 r .47106 .59667 m .49587 .60686 L s 0 0 1 r .47105 .64342 m .49587 .65357 L s 1 .898 .772 r .46281 .62818 m .34643 .58056 L s .46281 .62818 m .65607 .59965 L s 0 1 0 r .42975 .60279 m .42973 .64951 L s 1 0 0 r .47106 .59667 m .42975 .60279 L s 0 0 1 r .47105 .64342 m .42973 .64951 L s 0 1 0 r .64746 .36638 m .6475 .41306 L s 1 0 0 r .64746 .36638 m .62277 .35597 L s .64746 .36638 m .68891 .36014 L s 0 1 0 r .47106 .59667 m .47105 .64342 L s 0 0 1 r .6475 .41306 m .6228 .40268 L s .6475 .41306 m .68896 .40684 L s 0 1 0 r .68891 .36014 m .68896 .40684 L s 1 0 0 r .66424 .34971 m .68891 .36014 L s 0 0 1 r .66429 .39645 m .68896 .40684 L s 1 .898 .772 r .65587 .3814 m .65607 .59965 L s .54017 .33266 m .65587 .3814 L s 0 1 0 r .9345 .80478 m .93462 .85161 L s 1 0 0 r .9345 .80478 m .91005 .79475 L s .9345 .80478 m .97614 .79877 L s 0 1 0 r .62277 .35597 m .6228 .40268 L s 1 0 0 r .66424 .34971 m .62277 .35597 L s 0 0 1 r .93462 .85161 m .91016 .84163 L s .93462 .85161 m .97627 .84563 L s .66429 .39645 m .6228 .40268 L s 0 1 0 r .64765 .58442 m .64769 .63122 L s 1 0 0 r .64765 .58442 m .62292 .5742 L s .64765 .58442 m .68915 .57829 L s 0 1 0 r .97614 .79877 m .97627 .84563 L s 1 0 0 r .95171 .78873 m .97614 .79877 L s 0 1 0 r .66424 .34971 m .66429 .39645 L s 0 0 1 r .64769 .63122 m .62296 .62103 L s .64769 .63122 m .6892 .62511 L s 0 1 0 r .33848 .34693 m .33844 .39368 L s 1 0 0 r .33848 .34693 m .31346 .33648 L s .33848 .34693 m .37983 .34066 L s 0 0 1 r .95184 .83563 m .97627 .84563 L s 1 .898 .772 r .65607 .59965 m .94316 .82019 L s .61319 .68511 m .94316 .82019 L s 0 1 0 r .91005 .79475 m .91016 .84163 L s 1 0 0 r .95171 .78873 m .91005 .79475 L s 0 1 0 r .68915 .57829 m .6892 .62511 L s 1 0 0 r .66445 .56805 m .68915 .57829 L s 0 0 1 r .33844 .39368 m .31341 .38327 L s .33844 .39368 m .3798 .38743 L s .95184 .83563 m .91016 .84163 L s 0 1 0 r .05116 .12621 m .05104 .17292 L s 1 0 0 r .05116 .12621 m .02587 .11555 L s .05116 .12621 m .09237 .11982 L s 0 0 1 r .66449 .61491 m .6892 .62511 L s 1 .898 .772 r .54022 .55179 m .65607 .59965 L s 0 1 0 r .62292 .5742 m .62296 .62103 L s 1 0 0 r .66445 .56805 m .62292 .5742 L s 0 1 0 r .37983 .34066 m .3798 .38743 L s 1 0 0 r .35484 .3302 m .37983 .34066 L s 0 1 0 r .95171 .78873 m .95184 .83563 L s 0 0 1 r .05104 .17292 m .02574 .1623 L s .05104 .17292 m .09226 .16655 L s .66449 .61491 m .62296 .62103 L s .35479 .37701 m .3798 .38743 L s 1 .898 .772 r .34663 .36196 m .05906 .14105 L s .34663 .36196 m .34643 .58056 L s .54017 .33266 m .34663 .36196 L s 0 1 0 r .31346 .33648 m .31341 .38327 L s 1 0 0 r .35484 .3302 m .31346 .33648 L s 0 1 0 r .09237 .11982 m .09226 .16655 L s 1 0 0 r .0671 .10915 m .09237 .11982 L s 0 1 0 r .66445 .56805 m .66449 .61491 L s 0 0 1 r .35479 .37701 m .31341 .38327 L s .06698 .15592 m .09226 .16655 L s 1 .898 .772 r .05906 .14105 m .05744 .76656 L s .61278 .05528 m .05906 .14105 L s 0 1 0 r .33827 .56532 m .33823 .61219 L s 1 0 0 r .33827 .56532 m .31322 .55505 L s .33827 .56532 m .37968 .55916 L s 0 1 0 r .02587 .11555 m .02574 .1623 L s 1 0 0 r .0671 .10915 m .02587 .11555 L s 0 1 0 r .35484 .3302 m .35479 .37701 L s 0 0 1 r .33823 .61219 m .31317 .60196 L s .33823 .61219 m .37964 .60606 L s .06698 .15592 m .02574 .1623 L s 0 1 0 r .37968 .55916 m .37964 .60606 L s 1 0 0 r .35465 .54889 m .37968 .55916 L s 0 1 0 r .0671 .10915 m .06698 .15592 L s 0 0 1 r .35461 .59582 m .37964 .60606 L s 1 .898 .772 r .34643 .58056 m .05744 .76656 L s .54022 .55179 m .34643 .58056 L s 0 1 0 r .31322 .55505 m .31317 .60196 L s 1 0 0 r .35465 .54889 m .31322 .55505 L s 0 0 1 r .35461 .59582 m .31317 .60196 L s 0 1 0 r .53183 .31762 m .53184 .36448 L s 1 0 0 r .53183 .31762 m .50692 .30711 L s .53183 .31762 m .57339 .31132 L s 0 1 0 r .35465 .54889 m .35461 .59582 L s 0 0 1 r .53184 .36448 m .50692 .35402 L s .53184 .36448 m .57341 .35821 L s 0 1 0 r .57339 .31132 m .57341 .35821 L s 1 0 0 r .54851 .3008 m .57339 .31132 L s 0 0 1 r .54852 .34773 m .57341 .35821 L s 1 .898 .772 r .54017 .33266 m .61278 .05528 L s .54017 .33266 m .54022 .55179 L s 0 1 0 r .50692 .30711 m .50692 .35402 L s 1 0 0 r .54851 .3008 m .50692 .30711 L s 0 0 1 r .54852 .34773 m .50692 .35402 L s 0 1 0 r .53187 .53653 m .53188 .58352 L s 1 0 0 r .53187 .53653 m .50693 .52622 L s .53187 .53653 m .57348 .53035 L s 0 1 0 r .54851 .3008 m .54852 .34773 L s .04951 .75111 m .04938 .79816 L s 1 0 0 r .04951 .75111 m .02412 .74099 L s .04951 .75111 m .09086 .74504 L s 0 0 1 r .53188 .58352 m .50693 .57324 L s .53188 .58352 m .5735 .57735 L s .04938 .79816 m .02399 .78808 L s .04938 .79816 m .09075 .79212 L s 0 1 0 r .57348 .53035 m .5735 .57735 L s 1 0 0 r .54857 .52002 m .57348 .53035 L s 0 1 0 r .09086 .74504 m .09075 .79212 L s 1 0 0 r .0655 .73491 m .09086 .74504 L s 0 0 1 r .54858 .56707 m .5735 .57735 L s 1 .898 .772 r .54022 .55179 m .61319 .68511 L s 0 1 0 r .50693 .52622 m .50693 .57324 L s 1 0 0 r .54857 .52002 m .50693 .52622 L s 0 0 1 r .06538 .78203 m .09075 .79212 L s 1 .898 .772 r .61319 .68511 m .05744 .76656 L s 0 1 0 r .02412 .74099 m .02399 .78808 L s 1 0 0 r .0655 .73491 m .02412 .74099 L s 0 0 1 r .54858 .56707 m .50693 .57324 L s .06538 .78203 m .02399 .78808 L s 0 1 0 r .54857 .52002 m .54858 .56707 L s .0655 .73491 m .06538 .78203 L s .60433 .04041 m .60436 .08744 L s 1 0 0 r .60433 .04041 m .57936 .02959 L s .60433 .04041 m .64615 .03392 L s 0 0 1 r .60436 .08744 m .57939 .07666 L s .60436 .08744 m .64619 .08097 L s 0 1 0 r .64615 .03392 m .64619 .08097 L s 1 0 0 r .62121 .02309 m .64615 .03392 L s 0 0 1 r .62124 .07019 m .64619 .08097 L s 1 .898 .772 r .61278 .05528 m .61319 .68511 L s 0 1 0 r .57936 .02959 m .57939 .07666 L s 1 0 0 r .62121 .02309 m .57936 .02959 L s 0 0 1 r .62124 .07019 m .57939 .07666 L s 0 1 0 r .62121 .02309 m .62124 .07019 L s .60472 .66962 m .60474 .717 L s 1 0 0 r .60472 .66962 m .57965 .65935 L s .60472 .66962 m .64669 .66346 L s 0 0 1 r .60474 .717 m .57967 .70677 L s .60474 .717 m .64673 .71086 L s 0 1 0 r .64669 .66346 m .64673 .71086 L s 1 0 0 r .62165 .65318 m .64669 .66346 L s 0 0 1 r .62168 .70062 m .64673 .71086 L s 0 1 0 r .57965 .65935 m .57967 .70677 L s 1 0 0 r .62165 .65318 m .57965 .65935 L s 0 0 1 r .62168 .70062 m .57967 .70677 L s 0 1 0 r .62165 .65318 m .62168 .70062 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[107]:=", Evaluatable->False, AspectRatioFixed->True, ImageSize->{313.75, 299.875}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg?U]mgMgLK6 aVi^K[Fe]DaI03>I IIS>IVC>Ic3>Ioc?<03?<[Z jWAdM:NWYj0Pl=WIfJj^[WMgM`000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000?l1>P400?l1>P400?l1>P400?l1>P400?l1 >P400?l1>P400?l1>P400;l10kd00bNm0@1d0@00^@46_@<100@W0KfmL`400;D11;d90@049`410@:m L@400;D100@W0Kfm2@400bL10@030@:mK`400;D100@W0@410[d70@039`4100811;e^0@00]@400bL1 0@030@:m10400kdW_@03_@<1000@050@039mT106`1002F0@06fMoIgmWO 6@4012L10@463P03g`4100810`h30@049`7Igf/1002?0@07fMoIgmWOf@0O0@@>10400bL1f@070@8> 00<19`400P400moIg`1X0@00R@401]oIgmWOfBP10`h30@039`7O00L110h60@03gmT106D100230@06 fMoIgmWO<@423P050BL1f@401Ph<0@03fMl106<1001l0@07fMoIgmWOf@0i0@<>00?O3P404`400moI g`1Q0@00MP401]oIgmWOfD0100CO0@7I60400moI0@1N0@00K`401moIgmWOfMl0AP401=T10MlJ0@03 fMl105`1001Y0@06fMoIgmWOC@401=l10MTL0@03gmT105X1001S0@06gmWOfMoIDP401Ml10@7O01h1 00?IgmT0F04005`100OOfMoIgmWO05P100GI0@41f@0Q0@03fMl105D1001F0@06fMoIgmWOG`401Ml1 0@7O02<100?Of@40D`4001410kd00bNm0@0h0@07fMoIgmWOf@1U0@05f@410MT09@400mWOf@1A0@00 2`46_@<100008>00HW3P41 fMl20@049moIgiL100?O0@401@400ml10@160@03fMl102h100080@039`4100H>00<1g`400P433P04 0Ml19`<100?Of@40T`400ml10@060@03f@4104P100?Of@40;04000P10`h40@049`41f@H10Ph00mlW 0@040@03fMl1094100?I0@401P400ml10@1:0@03fMl102X1000:0@8>0`4012L10Ml60@@>00?I0@40 10400moIg`2?0@03g`4100H100?I0@40C0400moIg`0E0@>m00 1@400mT10@060@03gmT108/100?O0@401`400ml10@1?0@03gmT100`11[d30@049`6m_@`1000>0@@> 00?O0@402P400mT10@070@03fMl108T100?I0@401`400mT10@1A0@03fMl100H11;d90@049`410@:m 2P40018100?I0@402`400mWO0@080@03gmWO08L100?O0@401`400ml10@1C0@03gmWO00@100@W0Kfm 2@4012L10@44_@P1000B0@03g`4100d100?O0@402@400moI0@240@03f@4100L100?I0@40EP401MoI 0@4W00<10[d50@:m00@W_Kfm0`400bL10@060@004P400mT10@0>0@03g`4100X100?Ig`40P@400mT1 0@080@03g`4105P100?IgbL01@45_@8100000`4012L1 0Ml50@8>0P400bL10@060@004P400mT10@0M0@03fMl101L100?IgmT0HP400ml10@0;0@03g`4103<1 00KOfMoIgmTP0@04g`4>3P@100@W0@7I1`423P039`4100H1000B0@03g`4101l100?O0@4060400mWO 0@1O0@03f@4100/100?I0@40;0401moIgmWOfMl090400mWO0@030@8>0P4012L10Ml60@@>20400181 00?I0@4080400ml10@0I0@03gmWO05d100?O0@402`400ml10@0V0@06fMoIgmWO:P400mT10@060@8> 00@W0@7I1Ph<0@004P400ml10@0Q0@03gmT101/100?Of@40F@400ml10@0<0@03f@4101l100OIgmWO fMoI02h100?Of@402P433P03g`410101000B0@03f@4102<100?I0@406`400mWO0@1G0@03f@4100`1 00?O0@4060401mWOfMoIgmT0=0400ml10@0>0@03f@410101000B0@03g`4102@100?I0@4070400moI g`1E0@03g`4100`100?I0@404P401]oIgmWOfCT100?Ig`4040400ml10@0@0@004P400mT10@0U0@03 fMl101h100?Of@40DP400mT10@0<0@03g`4100/100OOfMoIgmWO03d100?Of@404P400mT10@0@0@00 4P400ml10@0W0@03g`4101h100?Ig`40C`400mT10@0=0@03f@4100D100KIgmWOfMm30@03g`4101<1 00?O0@404040018100?I0@40:0400ml10@0O0@03gmWO04d100?O0@403@402=oIgmWOfMoIA`400mWO 0@0E0@03f@410101000B0@03g`4102T100?Of@408@400moI0@0E0@>m000@03g`4104H100?Ig`406`400mT10@0@0@004P400ml10@0^0@03fMl102D100?IgmT0 0P400bL10@020@:m1042_@049kfm_@<1000@03g`4104<100?O0@407P400mT10@0@0@004P400ml10@0a0@03 g`4102L1000`400bL10@0Q0@>m0010400bL1f@030@03f@41008>00<19`407046_@8100?I9`40 0kd?0@03g`41030100?Ig`40<@400mT10@0@0@004P400ml10@110@03g`4101T10`h30@039`7O00<1 00?O0@4010hI0@Bm20400mlW0@030@:m3@400mT10@0_0@03f@41038100?O0@404040018100?I0@40 @P400ml10@0K0@8>00@19`7I10h00ml>0@0L0@039`6m00:m1`400mTW0@030@Bm2`400ml10@0]0@03 gmT103@100?I0@404040018100?O0@40@`400moI0@0L0@<>00?O0@400`400ml10@0K0@039`410081 0[d50@03gbNm00>m0`400bL10@090@03f@4102`100?O0@40=@400ml10@0@0@004P400mT10@150@03 f@4101d100?I0@400`400mT10@0K0@039`4100@11;d00ml19`070@039`4100T100?O0@40:P400mWO 0@0g0@03f@410101000B0@03g`4104H100?I0@4070400ml10@040@03f@4101X100P400mT1 0@0@0@004P400ml10@190@03g`4101T100?O0@401@400ml10@0I0@039`4100D100HW0@7I0BL70@03 9`4100T100?I0@409@400mWO0@0l0@03g`410101000B0@03f@4104X100?O0@402@43_@039kd100T1 00?I0@401@400mT10@0I0@039`4100D100m0`401BL10@7O00X1 00?I0@400P401moIgmWOfMl03@400bL10@050@039`7O008100m000`401RL10MoIg`H100?I0@40 1046_@<100@W0Kfm20400mT10@180@03g`410101000B0@03f@4104d1000@03f@410101000B0@03g`4104d100m9kd00kd0107I0BM>0@03g`410101000B0@03f@4104d1 000@050@059mWOfMl040400mT10@0J0@03g`4101@1 00CI0@4W1`401]oI0@7O9`L10000<1f@40 0P433P<100HW0@41fMl?0@03g`6m00Fm00m9kd00kd30@039`4100X1 00?I0@4010401moIgmWOfMl02@401=l10BL70@069`41g`4W1`400bL10@1<0@03f@410101000B0@03 g`4105L100?O0@402`400ml10@090@039mT100D11;d00`4W0@060@039`4100X100OOfMoIgmWO0101 00CI0@4W1`400bL13P023P039`h100D1000`4012L10Ml60@@>CP400mT10@0@0@00 4P400ml10@1G0@03g`4100/100?O0@402@400bL10@050@069mWOfMlW1`400bL10@0:0@03g`4101@1 00?I0@401@423P050BL10MT01PiB0@03g`410101000B0@03f@4105L100?I0@402`400mT10@090@03 9`4100D10000?O0@40EP400mT1 0@0@0@004P400ml10@1G0@03g`4100/100?O0@402@400bL10@050@039`7O008100008>0000?O0@400P433P<1 000@8>00D19`7I0@063Q01 00?I0@4050400ml10@0;0@03g`4105H100?I0@404040018100?O0@40E`400ml10@0;0@03g`410101 0`h00ml>0@0E0@03g`4101@100?I0@402`400mT10@1F0@03g`410101000B0@03f@4105L100?I0@40 2`400mT10@0C0@03f@4101D100?I0@4050400ml10@0;0@03g`4105H100?I0@404040018100?O0@40 E`400ml10@0;0@03g`4101<100?O0@405@400ml10@0D0@03f@4100/100?I0@40EP400ml10@0@0@00 4P400mT10@1G0@03f@4100/100?I0@404`400mT10@0E0@03f@4101@100?O0@402`400ml10@1F0@03 f@410101000B0@03g`4105L100?O0@402`400ml10@0C0@03g`4101D100?O0@4050400mT10@0;0@03 f@4105H100?O0@404040014100?O0@40F0400mT10@0;0@03f@4101<100?I0@405@400mT10@0D0@03 g`4100/100?O0@40EP400mT10@0@0@004@400mT10@1H0@03g`4100/100?O0@404`400ml10@0E0@03 g`4101@100?I0@402`400mT10@1F0@03g`410101000A0@03g`4105P100?I0@402`400mT10@0C0@03 f@4101D100?I0@4050400ml10@0;0@03g`4105H100?I0@404040014100?I0@40F0400ml10@0;0@03 g`4101<100?O0@405@400ml10@0D0@03f@4100/100?I0@40EP400ml10@0@0@004@400ml10@1H0@03 f@4100/100?I0@404`400mT10@0E0@03f@4101@100?O0@402`400ml10@1F0@03f@410101000A0@03 f@4105P100?O0@402`400ml10@0C0@03g`4101D100?O0@4050400mT10@0;0@03f@4105H100?O0@40 4040014100?O0@40F0400mT10@0;0@03f@4101<100?I0@405@400mT10@0D0@03g`4100/100?O0@40 EP400mT10@0@0@004@400mT10@1H0@03g`4100/100?O0@404`400ml10@0E0@03g`4101@100?I0@40 2`400mT10@1F0@03g`410101000A0@03g`4105P100?I0@402`400mT10@0C0@03f@4101D100?I0@40 50400ml10@0;0@03g`4105H100?I0@404040014100?I0@40F0400ml10@0;0@03g`4101<100?O0@40 5@400ml10@0D0@03f@4100/100?I0@40EP400ml10@0@0@004@400ml10@1H0@03f@4100/100?I0@40 4`400mT10@0E0@03f@4101@100?O0@402`400ml10@1F0@03f@410101000A0@03f@4105P100?O0@40 2`400ml10@0C0@03g`4101D100?O0@4050400mT10@0;0@03f@4105H100?O0@404040014100?O0@40 F0400mT10@0;0@03f@4101<100?I0@405@400mT10@0D0@03g`4100/100?O0@40EP400mT10@0@0@00 4@400mT10@1H0@03g`4100/100?O0@404`400ml10@0E0@03g`4101@100?I0@402`400mT10@1F0@03 g`410101000A0@03g`4105P100?I0@402`400mT10@0C0@03f@4101D100?I0@4050400ml10@0;0@03 g`4105H100?I0@404040014100?I0@40F0400ml10@0;0@03g`4101<100?O0@405@400ml10@0D0@03 f@4100/100?I0@40EP400ml10@0@0@004@400ml10@1H0@03f@4100/100?I0@404`400mT10@0E0@03 f@4101@100?O0@402`400ml10@1F0@03f@410101000A0@03f@4105P100?O0@402`400ml10@0C0@03 g`4101D100?O0@4050400mT10@0;0@03f@4105H100?O0@404040014100?O0@40F0400mT10@0;0@03 f@4101<100?I0@405@400mT10@0D0@03g`4100/100?O0@40EP400mT10@0@0@004@400mT10@1H0@03 g`4100/100?O0@404`400ml10@0E0@03g`4101@100?I0@402`400mT10@1F0@03g`410101000A0@03 g`4105P100?I0@402`400mT10@0C0@03f@4101D10kd00bNm0@0A0@03g`4100/100?O0@40EP400mT1 0@0@0@004@400mT10@1H0@03g`4100/100?O0@404`400ml10@0?0@Jm00GO0@4W0@03_@l100?I0@40 2`400mT10@1F0@03g`410101000A0@03g`4105P100?I0@402`400mT10@0C0@03f@4100/11;d60@04 f@419`@10[d=0@03g`4100/100?O0@40EP400mT10@0@0@004@400mT10@1H0@03g`4100/100?O0@40 4`400ml10@0;0@039`6m00:m1@401=l10BL40@Bm2`400mT10@0;0@03f@4105H100?O0@4040400141 00?O0@40F0400mT10@0;0@03f@4101<100?I0@402`400bL10@020@:m0`401=T1_BL4_@<100m003P@100m0010400bL10@020@04g`410@8>0P401RL10MWOf@H1 00?O0@401046_@050Ml19`400keB0@03f@410101000A0@03f@4104d100000P400bL10@030@04f@410@@>1`401MoI0@7O0081000@03f@410101000A0@03f@4104d10000?I3Ph03@400mWOf@020@039`4100810[d40@03fKdW00Bm 0`400bL10@1<0@03g`410101000A0@03g`4104d10010401BL1fMoI01D10kd00bNm0@0J0@03 f@4100`100CO0@4W1`401]WO0Ml19`L10010400bL1 0@060@8>0P401bL10@7OfMl03@46_@05g`419`400kdH0@03g`4100`100CI0@4W1`401ROIgmT19`L1 00008>0`400bL10@080@8>00DW0@41f@020@03 gmWO00H11;d60@04f@419`@10[dG0@03g`4100/100cO0@4WgmWOfMoIgbL30@03fBL100H1000`400ml10@030@03gmT100<1 00008>00@W3P7O10400bL10@1<0@03g`410101 000A0@03g`4104H100?Ig`407@400mT10@090@049`7Ig`@1001@423P05gmT10BL0CP400mT10@0@0@004@400mT1 0@150@03f@4101h100?O0@402@402bL10@7OfMl19`7O0081000@03g`410101000A0@03g`4104<100?Of@40 80400mT10@090@039`4100@100COf@7I0P402BOIgmWOfMoIg`0H0@03f@4100P100?O0@400P433P<1 00CP400ml10@0@0@00 4@400ml10@100@03fMl102<100?I0@402@400bL10@050@039`7I008100`400mWO0@0X0@03 g`4100T100008>001@433P<1008@46_@05g`419`400[dM0@03g`41040100?I0@4040400141 00?I0@40@400mT10@0?0@03 f@4102H100P400ml10@0?0@03g`4102H1000@03f@4102L1000@03f@410241 00OIgmWOfMlW00L1000@050@039moI02P100?O0@40;P400mT10@0@0@004@400mT10@0L0@03gmT104L1 00?O0@403@400ml10@070@07gmWOfMoIg`0J0@049`410@H>1@433P<100DW0@7Ig`0W0@03g`4102d1 00?O0@404040014100?O0@406`400ml10@180@03f@4100d100[I0@7OfMoIgmWO8@443P@1003@400mWO 0@0S0@03f@4102T100?I0@404040014100?I0@405P400ml10@1<0@07fMoIgmWOf@090@03f@410301 1@hE0@03gmWO028100?Ig`40:0400ml10@0@0@004@400ml10@0D0@03fMl104P100SOfMoIgmT1f@d1 00?I0@40CP400moI0@0Q0@03g`4102H100?I0@404040014100?I0@404`400mT10@120@07gmWOfMoI g`070@03g`4100/100?O0@40D0400mWO0@0P0@03g`4102D100?O0@404040014100?O0@404@400moI 0@0m0@07gmWOfMoIg`0>0@03f@4100/100?I0@40DP400moIg`0O0@03g`4102@100?I0@4040400141 00?I0@4040400ml10@0g0@07gmWOfMoIg`0E0@03g`4100/100?O0@40E@400moI0@0M0@03gmT102<1 00?O0@404040014100?O0@403P400mWO0@0c0@06fMoIgmWO70400mT10@0:0@03g`4105P100?IgmT0 7@400mT10@0Q0@03f@410101000A0@>m00m1P400ml10@0X0@07 fMoIgmWOf@0Y0@03f@4100X100?O0@40G@400moI0@0J0@03fMl101l100?I0@40404000L11;d60@04 f@419`@10[d20@03fMl102@100KOfMoIgmT`0@03g`4100X100?I0@40G`400mWOf@0J0@03g`4101d1 00?O0@40404000L100 000`401RL10@7OfEP100?O0@401P400mT10@250@03fMl100X100?O0@402`400ml1 0@0@0@002@423P@100m003P400moIg`1@0@03 f@4100D100?I0@40S@400mWOf@070@Bm1P401=T10BL40@:m2@4000l110hG0@03gmT104d100?O0@40 1@400ml10@2@0@03fMl100@100`400mT10@030@03f@4109T100@400ml10@030@03g`4109T100TWfMoIgmWO0BL010400bL10@050@039`4100D100110@03gmT103H1 00?I0@400`400mT10@2B0@08gmWOfMoIgbL70@039`41008100008> 00 10400bL10@070@8>00<19`401P4004h100?Of@40:@401Ml10@7O078100OIgmWOfMoI02H10`h30@03 9`4100L110h70@00D0400mWOf@0W0@05f@410MT0J`401mWOfMoIgmT0<0423P030BL100811Ph;0@00 D`400mWO0@0T0@05g`410Ml0H`402=oIgmWOfMoI>@453Q41001E0@03gmWO028100GI0@41f@1L0@07 gmWOfMoIg`1G0@00F0400moI0@0O0@04g`41fEH100OOfMoIgmWO05h1001J0@03fMoI01d100CI0@7O C`401moIgmWOfMl0I@4005d100?IgmT06P401=l10MU80@07gmWOfMoIg`1/0@00H0400mWO0@0G0@04 f@41gd4100OOfMoIgmWO07<1001R0@03gmWO01811[d00bNm0@0g0@08fMoIgmWOfMmj0@00I@400moI 0@080@Nm0`401MT1fBL100:m;`401mWOfMoIgmT0PP4006L100?IgmT01P400bNm_@070@04g`7O9`<1 0[dV0@07fMoIgmWOf@290@00JP400mWO0@030@039`4100:m1@401=T1fBL30@Bm7@401mWOfMoIgmT0 T04006`100GOfMl19`040@:m0`401=oI_BL3_@<1000`400bL10@2b0@00L0443P<1000`400bL1 0@070@@>]04007@10Ph00`4W0@020@H>^04007H11@jn0@00o`4j0@00o`4j0@00o`4j0@00o`4j0@00 o`4j0@00o`4j0@00o`4j0@00\ \>"], ImageRangeCache->{{{96, 408.75}, {406.5, 107.625}} -> {-0.306118, 0.362417, 0.00318867, 0.00318867}}] }, Open ]], Cell[TextData[StyleBox[ "The vertices of the 7-cube are the vertices of all the individual cubelets. \ We label the vertices with the following scheme: Use the first four \ coordinates to determine which little cubelet we're at (use the standard \ labeling of the tesseract). Once the cubelet is identified, use the last \ three coordinates to choose the correct corner of the cubelet. The vertex \ {0, 0, 1, 1, 0, 0, 1} is the big purple dot shown in the next figure."]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[StyleBox[ "Show[SevenCube, code9,Background->Black, \n \ DisplayFunction->$DisplayFunction];"]], "Input", CellLabel->"In[110]:=", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .95312 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D /Courier findfont 10 scalefont setfont % Background color 0 0 0 r MFill % Scaling calculations 1.66533e-16 1.00276 -0.0205514 1.00276 [ [ 0 0 0 0 ] [ 1 .95312 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .95312 L 0 .95312 L closepath clip newpath 0 1 0 r .5 Mabswid [ ] 0 setdash .38405 .26646 m .38401 .31264 L s 1 0 0 r .38405 .26646 m .35936 .25606 L s .38405 .26646 m .42494 .26022 L s 0 0 1 r .38401 .31264 m .35932 .30228 L s .38401 .31264 m .42491 .30643 L s 0 1 0 r .42494 .26022 m .42491 .30643 L s 1 0 0 r .40027 .24981 m .42494 .26022 L s 0 0 1 r .40024 .29605 m .42491 .30643 L s 1 .898 .772 r .46286 .41045 m .39214 .28124 L s .39214 .28124 m .39174 .89967 L s .39214 .28124 m .05906 .14105 L s .39214 .28124 m .94155 .19754 L s 0 1 0 r .35936 .25606 m .35932 .30228 L s 1 0 0 r .40027 .24981 m .35936 .25606 L s 0 0 1 r .40024 .29605 m .35932 .30228 L s 0 1 0 r .40027 .24981 m .40024 .29605 L s .38362 .8843 m .38359 .93082 L s 1 0 0 r .38362 .8843 m .35884 .87442 L s .38362 .8843 m .42466 .87837 L s 0 0 1 r .38359 .93082 m .3588 .92098 L s .38359 .93082 m .42464 .92492 L s 0 1 0 r .42466 .87837 m .42464 .92492 L s 1 0 0 r .3999 .86849 m .42466 .87837 L s 0 0 1 r .39988 .91507 m .42464 .92492 L s 1 .898 .772 r .46281 .62818 m .39174 .89967 L s .39174 .89967 m .05744 .76656 L s .39174 .89967 m .94316 .82019 L s 0 1 0 r .35884 .87442 m .3588 .92098 L s 1 0 0 r .3999 .86849 m .35884 .87442 L s 0 0 1 r .39988 .91507 m .3588 .92098 L s 0 1 0 r .3999 .86849 m .39988 .91507 L s .93292 .18272 m .93304 .22922 L s 1 0 0 r .93292 .18272 m .90855 .17217 L s .93292 .18272 m .97441 .17639 L s 0 1 0 r .45465 .39544 m .45463 .44201 L s 1 0 0 r .45465 .39544 m .42984 .38508 L s .45465 .39544 m .49588 .38923 L s 0 0 1 r .93304 .22922 m .90867 .2187 L s .93304 .22922 m .97454 .22291 L s .45463 .44201 m .42982 .43169 L s .45463 .44201 m .49588 .43582 L s 0 1 0 r .97441 .17639 m .97454 .22291 L s 1 0 0 r .95007 .16582 m .97441 .17639 L s 0 1 0 r .49588 .38923 m .49588 .43582 L s 1 0 0 r .4711 .37886 m .49588 .38923 L s 0 0 1 r .95019 .21238 m .97454 .22291 L s 1 .898 .772 r .65587 .3814 m .94155 .19754 L s .94155 .19754 m .94316 .82019 L s .61278 .05528 m .94155 .19754 L s 0 1 0 r .90855 .17217 m .90867 .2187 L s 1 0 0 r .95007 .16582 m .90855 .17217 L s 0 0 1 r .47109 .42548 m .49588 .43582 L s 1 .898 .772 r .46286 .41045 m .46281 .62818 L s .46286 .41045 m .34663 .36196 L s .46286 .41045 m .65587 .3814 L s 0 1 0 r .42984 .38508 m .42982 .43169 L s 1 0 0 r .4711 .37886 m .42984 .38508 L s 0 0 1 r .95019 .21238 m .90867 .2187 L s .47109 .42548 m .42982 .43169 L s 0 1 0 r .95007 .16582 m .95019 .21238 L s .45459 .61296 m .45457 .65965 L s 1 0 0 r .45459 .61296 m .42975 .60279 L s .45459 .61296 m .49587 .60686 L s 0 1 0 r .4711 .37886 m .47109 .42548 L s 0 0 1 r .45457 .65965 m .42973 .64951 L s .45457 .65965 m .49587 .65357 L s 0 1 0 r .49587 .60686 m .49587 .65357 L s 1 0 0 r .47106 .59667 m .49587 .60686 L s 0 0 1 r .47105 .64342 m .49587 .65357 L s 1 .898 .772 r .46281 .62818 m .34643 .58056 L s .46281 .62818 m .65607 .59965 L s 0 1 0 r .42975 .60279 m .42973 .64951 L s 1 0 0 r .47106 .59667 m .42975 .60279 L s 0 0 1 r .47105 .64342 m .42973 .64951 L s 0 1 0 r .64746 .36638 m .6475 .41306 L s 1 0 0 r .64746 .36638 m .62277 .35597 L s .64746 .36638 m .68891 .36014 L s 0 1 0 r .47106 .59667 m .47105 .64342 L s 0 0 1 r .6475 .41306 m .6228 .40268 L s .6475 .41306 m .68896 .40684 L s 0 1 0 r .68891 .36014 m .68896 .40684 L s 1 0 0 r .66424 .34971 m .68891 .36014 L s 0 0 1 r .66429 .39645 m .68896 .40684 L s 1 .898 .772 r .65587 .3814 m .65607 .59965 L s .54017 .33266 m .65587 .3814 L s 0 1 0 r .9345 .80478 m .93462 .85161 L s 1 0 0 r .9345 .80478 m .91005 .79475 L s .9345 .80478 m .97614 .79877 L s 0 1 0 r .62277 .35597 m .6228 .40268 L s 1 0 0 r .66424 .34971 m .62277 .35597 L s 0 0 1 r .93462 .85161 m .91016 .84163 L s .93462 .85161 m .97627 .84563 L s .66429 .39645 m .6228 .40268 L s 0 1 0 r .64765 .58442 m .64769 .63122 L s 1 0 0 r .64765 .58442 m .62292 .5742 L s .64765 .58442 m .68915 .57829 L s 0 1 0 r .97614 .79877 m .97627 .84563 L s 1 0 0 r .95171 .78873 m .97614 .79877 L s 0 1 0 r .66424 .34971 m .66429 .39645 L s 0 0 1 r .64769 .63122 m .62296 .62103 L s .64769 .63122 m .6892 .62511 L s 0 1 0 r .33848 .34693 m .33844 .39368 L s 1 0 0 r .33848 .34693 m .31346 .33648 L s .33848 .34693 m .37983 .34066 L s 0 0 1 r .95184 .83563 m .97627 .84563 L s 1 .898 .772 r .65607 .59965 m .94316 .82019 L s .61319 .68511 m .94316 .82019 L s 0 1 0 r .91005 .79475 m .91016 .84163 L s 1 0 0 r .95171 .78873 m .91005 .79475 L s 0 1 0 r .68915 .57829 m .6892 .62511 L s 1 0 0 r .66445 .56805 m .68915 .57829 L s 0 0 1 r .33844 .39368 m .31341 .38327 L s .33844 .39368 m .3798 .38743 L s .95184 .83563 m .91016 .84163 L s 0 1 0 r .05116 .12621 m .05104 .17292 L s 1 0 0 r .05116 .12621 m .02587 .11555 L s .05116 .12621 m .09237 .11982 L s 0 0 1 r .66449 .61491 m .6892 .62511 L s 1 .898 .772 r .54022 .55179 m .65607 .59965 L s 0 1 0 r .62292 .5742 m .62296 .62103 L s 1 0 0 r .66445 .56805 m .62292 .5742 L s 0 1 0 r .37983 .34066 m .3798 .38743 L s 1 0 0 r .35484 .3302 m .37983 .34066 L s 0 1 0 r .95171 .78873 m .95184 .83563 L s 0 0 1 r .05104 .17292 m .02574 .1623 L s .05104 .17292 m .09226 .16655 L s .66449 .61491 m .62296 .62103 L s .35479 .37701 m .3798 .38743 L s 1 .898 .772 r .34663 .36196 m .05906 .14105 L s .34663 .36196 m .34643 .58056 L s .54017 .33266 m .34663 .36196 L s 0 1 0 r .31346 .33648 m .31341 .38327 L s 1 0 0 r .35484 .3302 m .31346 .33648 L s 0 1 0 r .09237 .11982 m .09226 .16655 L s 1 0 0 r .0671 .10915 m .09237 .11982 L s 0 1 0 r .66445 .56805 m .66449 .61491 L s 0 0 1 r .35479 .37701 m .31341 .38327 L s .06698 .15592 m .09226 .16655 L s 1 .898 .772 r .05906 .14105 m .05744 .76656 L s .61278 .05528 m .05906 .14105 L s 0 1 0 r .33827 .56532 m .33823 .61219 L s 1 0 0 r .33827 .56532 m .31322 .55505 L s .33827 .56532 m .37968 .55916 L s 0 1 0 r .02587 .11555 m .02574 .1623 L s 1 0 0 r .0671 .10915 m .02587 .11555 L s 0 1 0 r .35484 .3302 m .35479 .37701 L s 0 0 1 r .33823 .61219 m .31317 .60196 L s .33823 .61219 m .37964 .60606 L s .06698 .15592 m .02574 .1623 L s 0 1 0 r .37968 .55916 m .37964 .60606 L s 1 0 0 r .35465 .54889 m .37968 .55916 L s 0 1 0 r .0671 .10915 m .06698 .15592 L s 0 0 1 r .35461 .59582 m .37964 .60606 L s 1 .898 .772 r .34643 .58056 m .05744 .76656 L s .54022 .55179 m .34643 .58056 L s 0 1 0 r .31322 .55505 m .31317 .60196 L s 1 0 0 r .35465 .54889 m .31322 .55505 L s 0 0 1 r .35461 .59582 m .31317 .60196 L s 0 1 0 r .53183 .31762 m .53184 .36448 L s 1 0 0 r .53183 .31762 m .50692 .30711 L s .53183 .31762 m .57339 .31132 L s 0 1 0 r .35465 .54889 m .35461 .59582 L s 0 0 1 r .53184 .36448 m .50692 .35402 L s .53184 .36448 m .57341 .35821 L s 0 1 0 r .57339 .31132 m .57341 .35821 L s 1 0 0 r .54851 .3008 m .57339 .31132 L s 0 0 1 r .54852 .34773 m .57341 .35821 L s 1 .898 .772 r .54017 .33266 m .61278 .05528 L s .54017 .33266 m .54022 .55179 L s 0 1 0 r .50692 .30711 m .50692 .35402 L s 1 0 0 r .54851 .3008 m .50692 .30711 L s 0 0 1 r .54852 .34773 m .50692 .35402 L s 0 1 0 r .53187 .53653 m .53188 .58352 L s 1 0 0 r .53187 .53653 m .50693 .52622 L s .53187 .53653 m .57348 .53035 L s 0 1 0 r .54851 .3008 m .54852 .34773 L s .04951 .75111 m .04938 .79816 L s 1 0 0 r .04951 .75111 m .02412 .74099 L s .04951 .75111 m .09086 .74504 L s 0 0 1 r .53188 .58352 m .50693 .57324 L s .53188 .58352 m .5735 .57735 L s .04938 .79816 m .02399 .78808 L s .04938 .79816 m .09075 .79212 L s 0 1 0 r .57348 .53035 m .5735 .57735 L s 1 0 0 r .54857 .52002 m .57348 .53035 L s 0 1 0 r .09086 .74504 m .09075 .79212 L s 1 0 0 r .0655 .73491 m .09086 .74504 L s 0 0 1 r .54858 .56707 m .5735 .57735 L s 1 .898 .772 r .54022 .55179 m .61319 .68511 L s 0 1 0 r .50693 .52622 m .50693 .57324 L s 1 0 0 r .54857 .52002 m .50693 .52622 L s 0 0 1 r .06538 .78203 m .09075 .79212 L s 1 .898 .772 r .61319 .68511 m .05744 .76656 L s 0 1 0 r .02412 .74099 m .02399 .78808 L s 1 0 0 r .0655 .73491 m .02412 .74099 L s 0 0 1 r .54858 .56707 m .50693 .57324 L s .06538 .78203 m .02399 .78808 L s 0 1 0 r .54857 .52002 m .54858 .56707 L s .0655 .73491 m .06538 .78203 L s .60433 .04041 m .60436 .08744 L s 1 0 0 r .60433 .04041 m .57936 .02959 L s .60433 .04041 m .64615 .03392 L s 0 0 1 r .60436 .08744 m .57939 .07666 L s .60436 .08744 m .64619 .08097 L s 0 1 0 r .64615 .03392 m .64619 .08097 L s 1 0 0 r .62121 .02309 m .64615 .03392 L s 0 0 1 r .62124 .07019 m .64619 .08097 L s 1 .898 .772 r .61278 .05528 m .61319 .68511 L s .57 .13 .62 r .02 w .57936 .02959 Mdot 0 1 0 r .5 Mabswid .57936 .02959 m .57939 .07666 L s 1 0 0 r .62121 .02309 m .57936 .02959 L s 0 0 1 r .62124 .07019 m .57939 .07666 L s 0 1 0 r .62121 .02309 m .62124 .07019 L s .60472 .66962 m .60474 .717 L s 1 0 0 r .60472 .66962 m .57965 .65935 L s .60472 .66962 m .64669 .66346 L s 0 0 1 r .60474 .717 m .57967 .70677 L s .60474 .717 m .64673 .71086 L s 0 1 0 r .64669 .66346 m .64673 .71086 L s 1 0 0 r .62165 .65318 m .64669 .66346 L s 0 0 1 r .62168 .70062 m .64673 .71086 L s 0 1 0 r .57965 .65935 m .57967 .70677 L s 1 0 0 r .62165 .65318 m .57965 .65935 L s 0 0 1 r .62168 .70062 m .57967 .70677 L s 0 1 0 r .62165 .65318 m .62168 .70062 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[110]:=", Evaluatable->False, AspectRatioFixed->True, ImageSize->{313.75, 299.875}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg?U]mgMgLK6 aVi^K[Fe]DaI03>I IIS>IVC>Ic3>Ioc?<03?<[Z jWAdM:NWYj0Pl=WIfJj^[WMgM`000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000?l1>P400?l1>P400?l1>P400?l1>P400?l1 >P400?l1>P400?l1>P400;<100EnE7iDOP070@>m00