mc-interpolation.nb 97 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333
  1. (************** Content-type: application/mathematica **************
  2. CreatedBy='Mathematica 5.0'
  3. Mathematica-Compatible Notebook
  4. This notebook can be used with any Mathematica-compatible
  5. application, such as Mathematica, MathReader or Publicon. The data
  6. for the notebook starts with the line containing stars above.
  7. To get the notebook into a Mathematica-compatible application, do
  8. one of the following:
  9. * Save the data starting with the line of stars above into a file
  10. with a name ending in .nb, then open the file inside the
  11. application;
  12. * Copy the data starting with the line of stars above to the
  13. clipboard, then use the Paste menu command inside the application.
  14. Data for notebooks contains only printable 7-bit ASCII and can be
  15. sent directly in email or through ftp in text mode. Newlines can be
  16. CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
  17. NOTE: If you modify the data for this notebook not in a Mathematica-
  18. compatible application, you must delete the line below containing
  19. the word CacheID, otherwise Mathematica-compatible applications may
  20. try to use invalid cache data.
  21. For more information on notebooks and Mathematica-compatible
  22. applications, contact Wolfram Research:
  23. web: http://www.wolfram.com
  24. email: info@wolfram.com
  25. phone: +1-217-398-0700 (U.S.)
  26. Notebook reader applications are available free of charge from
  27. Wolfram Research.
  28. *******************************************************************)
  29. (*CacheID: 232*)
  30. (*NotebookFileLineBreakTest
  31. NotebookFileLineBreakTest*)
  32. (*NotebookOptionsPosition[ 82788, 2784]*)
  33. (*NotebookOutlinePosition[ 83419, 2806]*)
  34. (* CellTagsIndexPosition[ 83375, 2802]*)
  35. (*WindowFrame->Normal*)
  36. Notebook[{
  37. Cell[CellGroupData[{
  38. Cell["Rotations", "Subsubsection"],
  39. Cell[BoxData[
  40. \(rotate[exp_, n_] :=
  41. ReleaseHold[
  42. Hold[exp] /. {w[k_] \[Rule] w[Mod[k + n, 4]],
  43. m[k_] \[Rule] m[Mod[k + n, 4]],
  44. u[k_] \[Rule] u[Mod[k + n, 4]]}]\)], "Input"],
  45. Cell[BoxData[
  46. \(SetAttributes[rotate, HoldAll]\)], "Input"],
  47. Cell[BoxData[
  48. \(Clear[u, w]\)], "Input"],
  49. Cell[BoxData[
  50. \(rotations[exp_] :=
  51. Simplify[{exp, rotate[exp, 1], rotate[exp, 2],
  52. rotate[exp, 3]}]\)], "Input"],
  53. Cell[BoxData[
  54. \(SetAttributes[rotations, HoldAll]\)], "Input"],
  55. Cell[CellGroupData[{
  56. Cell[BoxData[
  57. \(Transpose[rotations[{w[0], w[1], w[2], w[3]}]] // MatrixForm\)], "Input"],
  58. Cell[BoxData[
  59. TagBox[
  60. RowBox[{"(", "\[NoBreak]", GridBox[{
  61. {\(w[0]\), \(w[1]\), \(w[2]\), \(w[3]\)},
  62. {\(w[1]\), \(w[2]\), \(w[3]\), \(w[0]\)},
  63. {\(w[2]\), \(w[3]\), \(w[0]\), \(w[1]\)},
  64. {\(w[3]\), \(w[0]\), \(w[1]\), \(w[2]\)}
  65. }], "\[NoBreak]", ")"}],
  66. Function[ BoxForm`e$,
  67. MatrixForm[ BoxForm`e$]]]], "Output"]
  68. }, Open ]],
  69. Cell[CellGroupData[{
  70. Cell[BoxData[
  71. \(Transpose[rotations[{m[0], m[1], m[2], m[3]}]] // MatrixForm\)], "Input"],
  72. Cell[BoxData[
  73. TagBox[
  74. RowBox[{"(", "\[NoBreak]", GridBox[{
  75. {\(m[0]\), \(m[1]\), \(m[2]\), \(m[3]\)},
  76. {\(m[1]\), \(m[2]\), \(m[3]\), \(m[0]\)},
  77. {\(m[2]\), \(m[3]\), \(m[0]\), \(m[1]\)},
  78. {\(m[3]\), \(m[0]\), \(m[1]\), \(m[2]\)}
  79. }], "\[NoBreak]", ")"}],
  80. Function[ BoxForm`e$,
  81. MatrixForm[ BoxForm`e$]]]], "Output"]
  82. }, Open ]],
  83. Cell[CellGroupData[{
  84. Cell[BoxData[
  85. \(Transpose[rotations[{u[0], u[1], u[2], u[3]}]] // MatrixForm\)], "Input"],
  86. Cell[BoxData[
  87. TagBox[
  88. RowBox[{"(", "\[NoBreak]", GridBox[{
  89. {\(u[0]\), \(u[1]\), \(u[2]\), \(u[3]\)},
  90. {\(u[1]\), \(u[2]\), \(u[3]\), \(u[0]\)},
  91. {\(u[2]\), \(u[3]\), \(u[0]\), \(u[1]\)},
  92. {\(u[3]\), \(u[0]\), \(u[1]\), \(u[2]\)}
  93. }], "\[NoBreak]", ")"}],
  94. Function[ BoxForm`e$,
  95. MatrixForm[ BoxForm`e$]]]], "Output"]
  96. }, Open ]],
  97. Cell[BoxData[
  98. \(substs := {w[0] \[Rule] \((1 - i)\)*\((1 - j)\),
  99. w[1] \[Rule] i*\((1 - j)\), w[2] \[Rule] i*j,
  100. w[3] \[Rule] \((1 - i)\)*j, u[0] \[Rule] 1 - j, u[1] \[Rule] i,
  101. u[2] \[Rule] j, u[3] \[Rule] 1 - i}\)], "Input"],
  102. Cell[BoxData[
  103. \(w[0] := \((1 - i)\)*\((1 - j)\)\)], "Input"],
  104. Cell[BoxData[
  105. \(w[1] := i*\((1 - j)\)\)], "Input"],
  106. Cell[BoxData[
  107. \(w[2] := i*j\)], "Input"],
  108. Cell[BoxData[
  109. \(w[3] := \((1 - i)\)*j\)], "Input"],
  110. Cell[BoxData[
  111. \(u[0] := 1 - j\)], "Input"],
  112. Cell[BoxData[
  113. \(u[1] := i\)], "Input"],
  114. Cell[BoxData[
  115. \(u[2] := j\)], "Input"],
  116. Cell[BoxData[
  117. \(u[3] := 1 - i\)], "Input"],
  118. Cell[BoxData[
  119. \(deltas[
  120. exp_] := \({rotations[exp], \(D[#, i] &\) /@
  121. rotations[exp], \(D[#, j] &\) /@
  122. rotations[exp], \(D[#, i, j] &\) /@ rotations[exp]} /.
  123. i -> 0\) /. j -> 0\)], "Input"],
  124. Cell[BoxData[
  125. \(SetAttributes[deltas, HoldAll]\)], "Input"],
  126. Cell[BoxData[
  127. \(testedges := \(\((Simplify[
  128. ExpandAll[{# /. j -> 0, # /. i -> 1, # /. j \[Rule] 1, # /.
  129. i \[Rule] 0}]])\) &\)[Simplify[#]] &\)], "Input"],
  130. Cell["VVVV", "Text"],
  131. Cell[CellGroupData[{
  132. Cell[BoxData[
  133. \(testedges[src[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]]] //
  134. MatrixForm\)], "Input"],
  135. Cell[BoxData[
  136. InterpretationBox[
  137. RowBox[{"(", "\[NoBreak]", GridBox[{
  138. {\(src[m[0] - i\ m[0] + i\ m[1]]\)},
  139. {\(src[m[1] - j\ m[1] + j\ m[2]]\)},
  140. {\(src[i\ m[2] + m[3] - i\ m[3]]\)},
  141. {\(src[m[0] - j\ m[0] + j\ m[3]]\)}
  142. }], "\[NoBreak]", ")"}],
  143. MatrixForm[ {
  144. src[
  145. Plus[
  146. m[ 0],
  147. Times[ -1, i,
  148. m[ 0]],
  149. Times[ i,
  150. m[ 1]]]],
  151. src[
  152. Plus[
  153. m[ 1],
  154. Times[ -1, j,
  155. m[ 1]],
  156. Times[ j,
  157. m[ 2]]]],
  158. src[
  159. Plus[
  160. Times[ i,
  161. m[ 2]],
  162. m[ 3],
  163. Times[ -1, i,
  164. m[ 3]]]],
  165. src[
  166. Plus[
  167. m[ 0],
  168. Times[ -1, j,
  169. m[ 0]],
  170. Times[ j,
  171. m[ 3]]]]}]]], "Output"]
  172. }, Open ]],
  173. Cell[CellGroupData[{
  174. Cell[BoxData[
  175. \(deltas[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]] //
  176. MatrixForm\)], "Input"],
  177. Cell[BoxData[
  178. TagBox[
  179. RowBox[{"(", "\[NoBreak]", GridBox[{
  180. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  181. {\(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  182. m[1]\), \(\(-m[0]\) + m[1]\)},
  183. {\(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[3]\), \(\(-m[0]\) +
  184. m[3]\), \(\(-m[0]\) + m[3]\)},
  185. {\(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  186. m[3]\), \(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  187. m[3]\)}
  188. }], "\[NoBreak]", ")"}],
  189. Function[ BoxForm`e$,
  190. MatrixForm[ BoxForm`e$]]]], "Output"]
  191. }, Open ]],
  192. Cell["BVVV", "Text"],
  193. Cell[CellGroupData[{
  194. Cell[BoxData[
  195. \(testedges[
  196. rotations[
  197. src[u[0]*m[0] + w[2]*m[2] + w[3]*m[3]]*w[0] +
  198. src[u[0]*m[1] + w[2]*m[2] + w[3]*m[3]]*w[1] +
  199. src[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]]*u[2]]] //
  200. MatrixForm\)], "Input"],
  201. Cell[BoxData[
  202. TagBox[
  203. RowBox[{"(", "\[NoBreak]", GridBox[{
  204. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\), \(src[
  205. m[0] - i\ m[0] + i\ m[1]]\), \(src[
  206. m[0] - i\ m[0] + i\ m[1]]\), \(src[
  207. m[0] - i\ m[0] + i\ m[1]]\)},
  208. {\(src[
  209. m[1] - j\ m[1] +
  210. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  211. j\ src[m[2]]\), \(src[m[1] - j\ m[1] + j\ m[2]]\), \(src[
  212. m[1] - j\ m[1] + j\ m[2]]\)},
  213. {\(src[i\ m[2] + m[3] - i\ m[3]]\), \(src[
  214. i\ m[2] + m[3] -
  215. i\ m[3]]\), \(i\ src[m[2]] - \((\(-1\) + i)\)\ src[
  216. m[3]]\), \(src[i\ m[2] + m[3] - i\ m[3]]\)},
  217. {\(src[m[0] - j\ m[0] + j\ m[3]]\), \(src[
  218. m[0] - j\ m[0] + j\ m[3]]\), \(src[
  219. m[0] - j\ m[0] +
  220. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  221. j\ src[m[3]]\)}
  222. }], "\[NoBreak]", ")"}],
  223. Function[ BoxForm`e$,
  224. MatrixForm[ BoxForm`e$]]]], "Output"]
  225. }, Open ]],
  226. Cell[CellGroupData[{
  227. Cell[BoxData[
  228. \(deltas[u[0]*m[0] + w[2]*m[2] + w[3]*m[3]] // MatrixForm\)], "Input"],
  229. Cell[BoxData[
  230. TagBox[
  231. RowBox[{"(", "\[NoBreak]", GridBox[{
  232. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[3]\)},
  233. {
  234. "0", \(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(m[1] -
  235. m[3]\)},
  236. {\(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[2]\),
  237. "0"},
  238. {\(m[2] - m[3]\), \(m[0] - m[3]\), \(m[0] - m[1]\), \(\(-m[1]\) +
  239. m[2]\)}
  240. }], "\[NoBreak]", ")"}],
  241. Function[ BoxForm`e$,
  242. MatrixForm[ BoxForm`e$]]]], "Output"]
  243. }, Open ]],
  244. Cell[CellGroupData[{
  245. Cell[BoxData[
  246. \(deltas[u[0]*m[1] + w[2]*m[2] + w[3]*m[3]] // MatrixForm\)], "Input"],
  247. Cell[BoxData[
  248. TagBox[
  249. RowBox[{"(", "\[NoBreak]", GridBox[{
  250. {\(m[1]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  251. {
  252. "0", \(\(-m[0]\) + m[2]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  253. m[1]\)},
  254. {\(\(-m[1]\) + m[3]\), \(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[3]\),
  255. "0"},
  256. {\(m[2] - m[3]\), \(m[0] - m[3]\), \(m[0] - m[1]\), \(\(-m[1]\) +
  257. m[2]\)}
  258. }], "\[NoBreak]", ")"}],
  259. Function[ BoxForm`e$,
  260. MatrixForm[ BoxForm`e$]]]], "Output"]
  261. }, Open ]],
  262. Cell[CellGroupData[{
  263. Cell[BoxData[
  264. \(deltas[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]] //
  265. MatrixForm\)], "Input"],
  266. Cell[BoxData[
  267. TagBox[
  268. RowBox[{"(", "\[NoBreak]", GridBox[{
  269. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  270. {\(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  271. m[1]\), \(\(-m[0]\) + m[1]\)},
  272. {\(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[3]\), \(\(-m[0]\) +
  273. m[3]\), \(\(-m[0]\) + m[3]\)},
  274. {\(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  275. m[3]\), \(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  276. m[3]\)}
  277. }], "\[NoBreak]", ")"}],
  278. Function[ BoxForm`e$,
  279. MatrixForm[ BoxForm`e$]]]], "Output"]
  280. }, Open ]],
  281. Cell["BVBV", "Text"],
  282. Cell[CellGroupData[{
  283. Cell[BoxData[
  284. \(testedges[
  285. rotations[
  286. src[u[0]*m[0] + u[2]*m[3]]*u[3] +
  287. src[u[0]*m[1] + u[2]*m[2]]*u[1]]] // MatrixForm\)], "Input"],
  288. Cell[BoxData[
  289. TagBox[
  290. RowBox[{"(", "\[NoBreak]", GridBox[{
  291. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\), \(src[
  292. m[0] - i\ m[0] +
  293. i\ m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  294. i\ src[m[1]]\), \(src[m[0] - i\ m[0] + i\ m[1]]\)},
  295. {\(src[
  296. m[1] - j\ m[1] +
  297. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  298. j\ src[m[2]]\), \(src[
  299. m[1] - j\ m[1] +
  300. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  301. j\ src[m[2]]\)},
  302. {\(i\ src[m[2]] - \((\(-1\) + i)\)\ src[m[3]]\), \(src[
  303. i\ m[2] + m[3] -
  304. i\ m[3]]\), \(i\ src[m[2]] - \((\(-1\) + i)\)\ src[
  305. m[3]]\), \(src[i\ m[2] + m[3] - i\ m[3]]\)},
  306. {\(src[
  307. m[0] - j\ m[0] +
  308. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  309. j\ src[m[3]]\), \(src[
  310. m[0] - j\ m[0] +
  311. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  312. j\ src[m[3]]\)}
  313. }], "\[NoBreak]", ")"}],
  314. Function[ BoxForm`e$,
  315. MatrixForm[ BoxForm`e$]]]], "Output"]
  316. }, Open ]],
  317. Cell[CellGroupData[{
  318. Cell[BoxData[
  319. \(deltas[u[0]*m[0] + u[2]*m[3]] // MatrixForm\)], "Input"],
  320. Cell[BoxData[
  321. TagBox[
  322. RowBox[{"(", "\[NoBreak]", GridBox[{
  323. {\(m[0]\), \(m[0]\), \(m[1]\), \(m[3]\)},
  324. {"0", \(\(-m[0]\) + m[1]\), "0", \(m[2] - m[3]\)},
  325. {\(\(-m[0]\) + m[3]\), "0", \(\(-m[1]\) + m[2]\), "0"},
  326. {"0", "0", "0", "0"}
  327. }], "\[NoBreak]", ")"}],
  328. Function[ BoxForm`e$,
  329. MatrixForm[ BoxForm`e$]]]], "Output"]
  330. }, Open ]],
  331. Cell[CellGroupData[{
  332. Cell[BoxData[
  333. \(deltas[u[0]*m[1] + u[2]*m[2]] // MatrixForm\)], "Input"],
  334. Cell[BoxData[
  335. TagBox[
  336. RowBox[{"(", "\[NoBreak]", GridBox[{
  337. {\(m[1]\), \(m[3]\), \(m[0]\), \(m[0]\)},
  338. {"0", \(m[2] - m[3]\), "0", \(\(-m[0]\) + m[1]\)},
  339. {\(\(-m[1]\) + m[2]\), "0", \(\(-m[0]\) + m[3]\), "0"},
  340. {"0", "0", "0", "0"}
  341. }], "\[NoBreak]", ")"}],
  342. Function[ BoxForm`e$,
  343. MatrixForm[ BoxForm`e$]]]], "Output"]
  344. }, Open ]],
  345. Cell["VVBB", "Text"],
  346. Cell[CellGroupData[{
  347. Cell[BoxData[
  348. \(testedges[
  349. rotations[
  350. src[\((u[3] + w[2])\)*m[0] + w[1]*m[1]]*w[0] +
  351. src[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]]*w[1] +
  352. src[w[1]*m[1] + \((u[2] + w[0])\)*m[2]]*w[2] + src[m[3]]*w[3]]] //
  353. MatrixForm\)], "Input"],
  354. Cell[BoxData[
  355. TagBox[
  356. RowBox[{"(", "\[NoBreak]", GridBox[{
  357. {\(src[
  358. m[0] - i\ m[0] +
  359. i\ m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  360. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  361. i\ src[m[1]]\), \(src[m[0] - i\ m[0] + i\ m[1]]\)},
  362. {\(src[m[1] - j\ m[1] + j\ m[2]]\), \(src[
  363. m[1] - j\ m[1] +
  364. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  365. j\ src[m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  366. j\ src[m[2]]\)},
  367. {\(i\ src[m[2]] - \((\(-1\) + i)\)\ src[m[3]]\), \(src[
  368. i\ m[2] + m[3] - i\ m[3]]\), \(src[
  369. i\ m[2] + m[3] -
  370. i\ m[3]]\), \(i\ src[m[2]] - \((\(-1\) + i)\)\ src[
  371. m[3]]\)},
  372. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  373. j\ src[m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  374. j\ src[m[3]]\), \(src[m[0] - j\ m[0] + j\ m[3]]\), \(src[
  375. m[0] - j\ m[0] + j\ m[3]]\)}
  376. }], "\[NoBreak]", ")"}],
  377. Function[ BoxForm`e$,
  378. MatrixForm[ BoxForm`e$]]]], "Output"]
  379. }, Open ]],
  380. Cell[CellGroupData[{
  381. Cell[BoxData[
  382. \(deltas[\((u[3] + w[2])\)*m[0] + w[1]*m[1]] // MatrixForm\)], "Input"],
  383. Cell[BoxData[
  384. TagBox[
  385. RowBox[{"(", "\[NoBreak]", GridBox[{
  386. {\(m[0]\), \(m[1]\), \(m[2]\), \(m[0]\)},
  387. {\(\(-m[0]\) + m[1]\), "0", "0", \(\(-m[0]\) + m[3]\)},
  388. {"0", "0", \(\(-m[2]\) + m[3]\), \(\(-m[0]\) + m[3]\)},
  389. {\(m[0] - m[1]\), \(\(-m[1]\) + m[2]\), \(m[2] - m[3]\), \(m[0] -
  390. m[3]\)}
  391. }], "\[NoBreak]", ")"}],
  392. Function[ BoxForm`e$,
  393. MatrixForm[ BoxForm`e$]]]], "Output"]
  394. }, Open ]],
  395. Cell[CellGroupData[{
  396. Cell[BoxData[
  397. \(deltas[w[0]*m[0] + w[1]*m[1] + w[2]*m[2] + w[3]*m[3]] //
  398. MatrixForm\)], "Input"],
  399. Cell[BoxData[
  400. TagBox[
  401. RowBox[{"(", "\[NoBreak]", GridBox[{
  402. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  403. {\(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  404. m[1]\), \(\(-m[0]\) + m[1]\)},
  405. {\(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[3]\), \(\(-m[0]\) +
  406. m[3]\), \(\(-m[0]\) + m[3]\)},
  407. {\(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  408. m[3]\), \(m[0] - m[1] + m[2] - m[3]\), \(m[0] - m[1] + m[2] -
  409. m[3]\)}
  410. }], "\[NoBreak]", ")"}],
  411. Function[ BoxForm`e$,
  412. MatrixForm[ BoxForm`e$]]]], "Output"]
  413. }, Open ]],
  414. Cell[CellGroupData[{
  415. Cell[BoxData[
  416. \(deltas[w[1]*m[1] + \((u[2] + w[0])\)*m[2]] // MatrixForm\)], "Input"],
  417. Cell[BoxData[
  418. TagBox[
  419. RowBox[{"(", "\[NoBreak]", GridBox[{
  420. {\(m[2]\), \(m[3]\), \(m[0]\), \(m[0]\)},
  421. {\(m[1] - m[2]\), "0", "0", \(\(-m[0]\) + m[1]\)},
  422. {"0", "0", \(\(-m[0]\) + m[3]\), \(\(-m[0]\) + m[1]\)},
  423. {\(\(-m[1]\) + m[2]\), \(m[2] - m[3]\), \(m[0] - m[3]\), \(m[0] -
  424. m[1]\)}
  425. }], "\[NoBreak]", ")"}],
  426. Function[ BoxForm`e$,
  427. MatrixForm[ BoxForm`e$]]]], "Output"]
  428. }, Open ]],
  429. Cell["VBBB", "Text"],
  430. Cell[CellGroupData[{
  431. Cell[BoxData[
  432. \(testedges[
  433. rotations[
  434. src[\((u[3] + w[2])\)*m[0] + w[1]*m[1]]*w[0] +
  435. src[w[0]*m[0] + \((u[1] + w[3])\)*m[1]]*w[1] + src[m[2]]*w[2] +
  436. src[m[3]]*w[3]]] // MatrixForm\)], "Input"],
  437. Cell[BoxData[
  438. TagBox[
  439. RowBox[{"(", "\[NoBreak]", GridBox[{
  440. {\(src[
  441. m[0] - i\ m[0] +
  442. i\ m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  443. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  444. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  445. i\ src[m[1]]\)},
  446. {\(\(-\((\(-1\) + j)\)\)\ src[m[1]] + j\ src[m[2]]\), \(src[
  447. m[1] - j\ m[1] +
  448. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  449. j\ src[m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  450. j\ src[m[2]]\)},
  451. {\(i\ src[m[2]] - \((\(-1\) + i)\)\ src[m[3]]\), \(i\ src[
  452. m[2]] - \((\(-1\) + i)\)\ src[m[3]]\), \(src[
  453. i\ m[2] + m[3] -
  454. i\ m[3]]\), \(i\ src[m[2]] - \((\(-1\) + i)\)\ src[
  455. m[3]]\)},
  456. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  457. j\ src[m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  458. j\ src[m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  459. j\ src[m[3]]\), \(src[m[0] - j\ m[0] + j\ m[3]]\)}
  460. }], "\[NoBreak]", ")"}],
  461. Function[ BoxForm`e$,
  462. MatrixForm[ BoxForm`e$]]]], "Output"]
  463. }, Open ]],
  464. Cell[CellGroupData[{
  465. Cell[BoxData[
  466. \(deltas[\((w[0] + u[2])\)*m[0] + w[1]*m[1]] // MatrixForm\)], "Input"],
  467. Cell[BoxData[
  468. TagBox[
  469. RowBox[{"(", "\[NoBreak]", GridBox[{
  470. {\(m[0]\), \(m[1]\), \(m[2]\), \(m[0]\)},
  471. {\(\(-m[0]\) + m[1]\), "0", "0", \(\(-m[0]\) + m[3]\)},
  472. {"0", "0", \(\(-m[2]\) + m[3]\), \(\(-m[0]\) + m[3]\)},
  473. {\(m[0] - m[1]\), \(\(-m[1]\) + m[2]\), \(m[2] - m[3]\), \(m[0] -
  474. m[3]\)}
  475. }], "\[NoBreak]", ")"}],
  476. Function[ BoxForm`e$,
  477. MatrixForm[ BoxForm`e$]]]], "Output"]
  478. }, Open ]],
  479. Cell[CellGroupData[{
  480. Cell[BoxData[
  481. \(deltas[w[0]*m[0] + \((w[1] + u[2])\)*m[1]] // MatrixForm\)], "Input"],
  482. Cell[BoxData[
  483. TagBox[
  484. RowBox[{"(", "\[NoBreak]", GridBox[{
  485. {\(m[0]\), \(m[2]\), \(m[3]\), \(m[0]\)},
  486. {\(\(-m[0]\) + m[1]\), \(m[1] - m[2]\), "0", "0"},
  487. {\(\(-m[0]\) + m[1]\), "0", "0", \(\(-m[0]\) + m[3]\)},
  488. {\(m[0] - m[1]\), \(\(-m[1]\) + m[2]\), \(m[2] - m[3]\), \(m[0] -
  489. m[3]\)}
  490. }], "\[NoBreak]", ")"}],
  491. Function[ BoxForm`e$,
  492. MatrixForm[ BoxForm`e$]]]], "Output"]
  493. }, Open ]],
  494. Cell["BBBB", "Text"],
  495. Cell[CellGroupData[{
  496. Cell[BoxData[
  497. \(testedges[
  498. src[m[0]]*w[0] + src[m[1]]*w[1] + src[m[2]]*w[2] + src[m[3]]*w[3]] //
  499. MatrixForm\)], "Input"],
  500. Cell[BoxData[
  501. InterpretationBox[
  502. RowBox[{"(", "\[NoBreak]", GridBox[{
  503. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\)},
  504. {\(\(-\((\(-1\) + j)\)\)\ src[m[1]] + j\ src[m[2]]\)},
  505. {\(i\ src[m[2]] - \((\(-1\) + i)\)\ src[m[3]]\)},
  506. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] + j\ src[m[3]]\)}
  507. }], "\[NoBreak]", ")"}],
  508. MatrixForm[ {
  509. Plus[
  510. Times[ -1,
  511. Plus[ -1, i],
  512. src[
  513. m[ 0]]],
  514. Times[ i,
  515. src[
  516. m[ 1]]]],
  517. Plus[
  518. Times[ -1,
  519. Plus[ -1, j],
  520. src[
  521. m[ 1]]],
  522. Times[ j,
  523. src[
  524. m[ 2]]]],
  525. Plus[
  526. Times[ i,
  527. src[
  528. m[ 2]]],
  529. Times[ -1,
  530. Plus[ -1, i],
  531. src[
  532. m[ 3]]]],
  533. Plus[
  534. Times[ -1,
  535. Plus[ -1, j],
  536. src[
  537. m[ 0]]],
  538. Times[ j,
  539. src[
  540. m[ 3]]]]}]]], "Output"]
  541. }, Open ]],
  542. Cell[CellGroupData[{
  543. Cell[BoxData[
  544. \(deltas[w[0]] // MatrixForm\)], "Input"],
  545. Cell[BoxData[
  546. TagBox[
  547. RowBox[{"(", "\[NoBreak]", GridBox[{
  548. {"1", "0", "0", "0"},
  549. {\(-1\), "1", "0", "0"},
  550. {\(-1\), "0", "0", "1"},
  551. {"1", \(-1\), "1", \(-1\)}
  552. }], "\[NoBreak]", ")"}],
  553. Function[ BoxForm`e$,
  554. MatrixForm[ BoxForm`e$]]]], "Output"]
  555. }, Open ]],
  556. Cell["\<\
  557. Splitting blocks: A new vertex can be added to the center of a BBBB block \
  558. without breaking continuity with neighboring blocks by adjusting vertex \
  559. weights as follows. This generalizes to all other block types by replacing \
  560. vectors along vector interpolated edges with the interpolated vector, and not \
  561. adjusting the vertex weights for that edge.\
  562. \>", "Text"],
  563. Cell[CellGroupData[{
  564. Cell[BoxData[
  565. \(Expand[
  566. testedges[
  567. src[m[0]]*\((w[0] + w[1]/2 + w[3]/2)\) + src[m[1]]*\((w[1]/2)\) +
  568. src[m[3]]*w[3]/2 + src[m[4]]*w[2]]] // MatrixForm\)], "Input"],
  569. Cell[BoxData[
  570. InterpretationBox[
  571. RowBox[{"(", "\[NoBreak]", GridBox[{
  572. {\(src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ i\ src[m[1]]\)},
  573. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[1]] -
  574. 1\/2\ j\ src[m[1]] + j\ src[m[4]]\)},
  575. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[3]] -
  576. 1\/2\ i\ src[m[3]] + i\ src[m[4]]\)},
  577. {\(src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ j\ src[m[3]]\)}
  578. }], "\[NoBreak]", ")"}],
  579. MatrixForm[ {
  580. Plus[
  581. src[
  582. m[ 0]],
  583. Times[
  584. Rational[ -1, 2], i,
  585. src[
  586. m[ 0]]],
  587. Times[
  588. Rational[ 1, 2], i,
  589. src[
  590. m[ 1]]]],
  591. Plus[
  592. Times[
  593. Rational[ 1, 2],
  594. src[
  595. m[ 0]]],
  596. Times[
  597. Rational[ -1, 2], j,
  598. src[
  599. m[ 0]]],
  600. Times[
  601. Rational[ 1, 2],
  602. src[
  603. m[ 1]]],
  604. Times[
  605. Rational[ -1, 2], j,
  606. src[
  607. m[ 1]]],
  608. Times[ j,
  609. src[
  610. m[ 4]]]],
  611. Plus[
  612. Times[
  613. Rational[ 1, 2],
  614. src[
  615. m[ 0]]],
  616. Times[
  617. Rational[ -1, 2], i,
  618. src[
  619. m[ 0]]],
  620. Times[
  621. Rational[ 1, 2],
  622. src[
  623. m[ 3]]],
  624. Times[
  625. Rational[ -1, 2], i,
  626. src[
  627. m[ 3]]],
  628. Times[ i,
  629. src[
  630. m[ 4]]]],
  631. Plus[
  632. src[
  633. m[ 0]],
  634. Times[
  635. Rational[ -1, 2], j,
  636. src[
  637. m[ 0]]],
  638. Times[
  639. Rational[ 1, 2], j,
  640. src[
  641. m[ 3]]]]}]]], "Output"]
  642. }, Open ]],
  643. Cell[CellGroupData[{
  644. Cell[BoxData[
  645. \(Expand[
  646. testedges[
  647. src[m[0]]*w[0]/2 + src[m[1]]*\((w[1] + w[0]/2 + w[2]/2)\) +
  648. src[m[4]]*w[3] + src[m[2]]*w[2]/2]] // MatrixForm\)], "Input"],
  649. Cell[BoxData[
  650. InterpretationBox[
  651. RowBox[{"(", "\[NoBreak]", GridBox[{
  652. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[1]] +
  653. 1\/2\ i\ src[m[1]]\)},
  654. {\(src[m[1]] - 1\/2\ j\ src[m[1]] + 1\/2\ j\ src[m[2]]\)},
  655. {\(1\/2\ i\ src[m[1]] + 1\/2\ i\ src[m[2]] + src[m[4]] -
  656. i\ src[m[4]]\)},
  657. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[1]] -
  658. 1\/2\ j\ src[m[1]] + j\ src[m[4]]\)}
  659. }], "\[NoBreak]", ")"}],
  660. MatrixForm[ {
  661. Plus[
  662. Times[
  663. Rational[ 1, 2],
  664. src[
  665. m[ 0]]],
  666. Times[
  667. Rational[ -1, 2], i,
  668. src[
  669. m[ 0]]],
  670. Times[
  671. Rational[ 1, 2],
  672. src[
  673. m[ 1]]],
  674. Times[
  675. Rational[ 1, 2], i,
  676. src[
  677. m[ 1]]]],
  678. Plus[
  679. src[
  680. m[ 1]],
  681. Times[
  682. Rational[ -1, 2], j,
  683. src[
  684. m[ 1]]],
  685. Times[
  686. Rational[ 1, 2], j,
  687. src[
  688. m[ 2]]]],
  689. Plus[
  690. Times[
  691. Rational[ 1, 2], i,
  692. src[
  693. m[ 1]]],
  694. Times[
  695. Rational[ 1, 2], i,
  696. src[
  697. m[ 2]]],
  698. src[
  699. m[ 4]],
  700. Times[ -1, i,
  701. src[
  702. m[ 4]]]],
  703. Plus[
  704. Times[
  705. Rational[ 1, 2],
  706. src[
  707. m[ 0]]],
  708. Times[
  709. Rational[ -1, 2], j,
  710. src[
  711. m[ 0]]],
  712. Times[
  713. Rational[ 1, 2],
  714. src[
  715. m[ 1]]],
  716. Times[
  717. Rational[ -1, 2], j,
  718. src[
  719. m[ 1]]],
  720. Times[ j,
  721. src[
  722. m[ 4]]]]}]]], "Output"]
  723. }, Open ]],
  724. Cell[CellGroupData[{
  725. Cell[BoxData[
  726. \(Expand[
  727. testedges[
  728. src[m[0]]*w[0]/2 + src[m[4]]*w[1] +
  729. src[m[3]]*\((w[3] + w[0]/2 + w[2]/2)\) + src[m[2]]*w[2]/2]] //
  730. MatrixForm\)], "Input"],
  731. Cell[BoxData[
  732. InterpretationBox[
  733. RowBox[{"(", "\[NoBreak]", GridBox[{
  734. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[3]] -
  735. 1\/2\ i\ src[m[3]] + i\ src[m[4]]\)},
  736. {\(1\/2\ j\ src[m[2]] + 1\/2\ j\ src[m[3]] + src[m[4]] -
  737. j\ src[m[4]]\)},
  738. {\(1\/2\ i\ src[m[2]] + src[m[3]] - 1\/2\ i\ src[m[3]]\)},
  739. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[3]] +
  740. 1\/2\ j\ src[m[3]]\)}
  741. }], "\[NoBreak]", ")"}],
  742. MatrixForm[ {
  743. Plus[
  744. Times[
  745. Rational[ 1, 2],
  746. src[
  747. m[ 0]]],
  748. Times[
  749. Rational[ -1, 2], i,
  750. src[
  751. m[ 0]]],
  752. Times[
  753. Rational[ 1, 2],
  754. src[
  755. m[ 3]]],
  756. Times[
  757. Rational[ -1, 2], i,
  758. src[
  759. m[ 3]]],
  760. Times[ i,
  761. src[
  762. m[ 4]]]],
  763. Plus[
  764. Times[
  765. Rational[ 1, 2], j,
  766. src[
  767. m[ 2]]],
  768. Times[
  769. Rational[ 1, 2], j,
  770. src[
  771. m[ 3]]],
  772. src[
  773. m[ 4]],
  774. Times[ -1, j,
  775. src[
  776. m[ 4]]]],
  777. Plus[
  778. Times[
  779. Rational[ 1, 2], i,
  780. src[
  781. m[ 2]]],
  782. src[
  783. m[ 3]],
  784. Times[
  785. Rational[ -1, 2], i,
  786. src[
  787. m[ 3]]]],
  788. Plus[
  789. Times[
  790. Rational[ 1, 2],
  791. src[
  792. m[ 0]]],
  793. Times[
  794. Rational[ -1, 2], j,
  795. src[
  796. m[ 0]]],
  797. Times[
  798. Rational[ 1, 2],
  799. src[
  800. m[ 3]]],
  801. Times[
  802. Rational[ 1, 2], j,
  803. src[
  804. m[ 3]]]]}]]], "Output"]
  805. }, Open ]],
  806. Cell[CellGroupData[{
  807. Cell[BoxData[
  808. \(Expand[
  809. testedges[
  810. src[m[4]]*w[0] + src[m[1]]*w[1]/2 + src[m[3]]*w[3]/2 +
  811. src[m[2]]*\((w[2] + w[1]/2 + w[3]/2)\)]] // MatrixForm\)], "Input"],
  812. Cell[BoxData[
  813. InterpretationBox[
  814. RowBox[{"(", "\[NoBreak]", GridBox[{
  815. {\(1\/2\ i\ src[m[1]] + 1\/2\ i\ src[m[2]] + src[m[4]] -
  816. i\ src[m[4]]\)},
  817. {\(1\/2\ src[m[1]] - 1\/2\ j\ src[m[1]] + 1\/2\ src[m[2]] +
  818. 1\/2\ j\ src[m[2]]\)},
  819. {\(1\/2\ src[m[2]] + 1\/2\ i\ src[m[2]] + 1\/2\ src[m[3]] -
  820. 1\/2\ i\ src[m[3]]\)},
  821. {\(1\/2\ j\ src[m[2]] + 1\/2\ j\ src[m[3]] + src[m[4]] -
  822. j\ src[m[4]]\)}
  823. }], "\[NoBreak]", ")"}],
  824. MatrixForm[ {
  825. Plus[
  826. Times[
  827. Rational[ 1, 2], i,
  828. src[
  829. m[ 1]]],
  830. Times[
  831. Rational[ 1, 2], i,
  832. src[
  833. m[ 2]]],
  834. src[
  835. m[ 4]],
  836. Times[ -1, i,
  837. src[
  838. m[ 4]]]],
  839. Plus[
  840. Times[
  841. Rational[ 1, 2],
  842. src[
  843. m[ 1]]],
  844. Times[
  845. Rational[ -1, 2], j,
  846. src[
  847. m[ 1]]],
  848. Times[
  849. Rational[ 1, 2],
  850. src[
  851. m[ 2]]],
  852. Times[
  853. Rational[ 1, 2], j,
  854. src[
  855. m[ 2]]]],
  856. Plus[
  857. Times[
  858. Rational[ 1, 2],
  859. src[
  860. m[ 2]]],
  861. Times[
  862. Rational[ 1, 2], i,
  863. src[
  864. m[ 2]]],
  865. Times[
  866. Rational[ 1, 2],
  867. src[
  868. m[ 3]]],
  869. Times[
  870. Rational[ -1, 2], i,
  871. src[
  872. m[ 3]]]],
  873. Plus[
  874. Times[
  875. Rational[ 1, 2], j,
  876. src[
  877. m[ 2]]],
  878. Times[
  879. Rational[ 1, 2], j,
  880. src[
  881. m[ 3]]],
  882. src[
  883. m[ 4]],
  884. Times[ -1, j,
  885. src[
  886. m[ 4]]]]}]]], "Output"]
  887. }, Open ]],
  888. Cell[CellGroupData[{
  889. Cell[BoxData[
  890. \(deltas[u[3]] // MatrixForm\)], "Input"],
  891. Cell[BoxData[
  892. TagBox[
  893. RowBox[{"(", "\[NoBreak]", GridBox[{
  894. {"1", "1", "0", "0"},
  895. {\(-1\), "0", "1", "0"},
  896. {"0", \(-1\), "0", "1"},
  897. {"0", "0", "0", "0"}
  898. }], "\[NoBreak]", ")"}],
  899. Function[ BoxForm`e$,
  900. MatrixForm[ BoxForm`e$]]]], "Output"]
  901. }, Open ]],
  902. Cell[CellGroupData[{
  903. Cell[BoxData[
  904. \(deltas[u[3] + w[1]/2] // MatrixForm\)], "Input"],
  905. Cell[BoxData[
  906. TagBox[
  907. RowBox[{"(", "\[NoBreak]", GridBox[{
  908. {"1", "1", "0", \(1\/2\)},
  909. {\(-\(1\/2\)\), "0", "1", \(-\(1\/2\)\)},
  910. {"0", \(-1\), \(1\/2\), \(1\/2\)},
  911. {\(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\), \(1\/2\)}
  912. }], "\[NoBreak]", ")"}],
  913. Function[ BoxForm`e$,
  914. MatrixForm[ BoxForm`e$]]]], "Output"]
  915. }, Open ]],
  916. Cell[CellGroupData[{
  917. Cell[BoxData[
  918. \(deltas[u[3] + w[2]/2] // MatrixForm\)], "Input"],
  919. Cell[BoxData[
  920. TagBox[
  921. RowBox[{"(", "\[NoBreak]", GridBox[{
  922. {"1", "1", \(1\/2\), "0"},
  923. {\(-1\), "0", \(1\/2\), \(1\/2\)},
  924. {"0", \(-\(1\/2\)\), \(-\(1\/2\)\), "1"},
  925. {\(1\/2\), \(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\)}
  926. }], "\[NoBreak]", ")"}],
  927. Function[ BoxForm`e$,
  928. MatrixForm[ BoxForm`e$]]]], "Output"]
  929. }, Open ]],
  930. Cell[CellGroupData[{
  931. Cell[BoxData[
  932. \(deltas[u[3] - w[3]/2] // MatrixForm\)], "Input"],
  933. Cell[BoxData[
  934. TagBox[
  935. RowBox[{"(", "\[NoBreak]", GridBox[{
  936. {"1", \(1\/2\), "0", "0"},
  937. {\(-1\), \(1\/2\), \(1\/2\), "0"},
  938. {\(-\(1\/2\)\), \(-\(1\/2\)\), "0", "1"},
  939. {\(1\/2\), \(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\)}
  940. }], "\[NoBreak]", ")"}],
  941. Function[ BoxForm`e$,
  942. MatrixForm[ BoxForm`e$]]]], "Output"]
  943. }, Open ]],
  944. Cell[CellGroupData[{
  945. Cell[BoxData[
  946. \(deltas[u[3] - w[0]/2] // MatrixForm\)], "Input"],
  947. Cell[BoxData[
  948. TagBox[
  949. RowBox[{"(", "\[NoBreak]", GridBox[{
  950. {\(1\/2\), "1", "0", "0"},
  951. {\(-\(1\/2\)\), \(-\(1\/2\)\), "1", "0"},
  952. {\(1\/2\), \(-1\), "0", \(1\/2\)},
  953. {\(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\), \(1\/2\)}
  954. }], "\[NoBreak]", ")"}],
  955. Function[ BoxForm`e$,
  956. MatrixForm[ BoxForm`e$]]]], "Output"]
  957. }, Open ]],
  958. Cell[CellGroupData[{
  959. Cell[BoxData[
  960. \(deltas[u[1]] // MatrixForm\)], "Input"],
  961. Cell[BoxData[
  962. TagBox[
  963. RowBox[{"(", "\[NoBreak]", GridBox[{
  964. {"0", "0", "1", "1"},
  965. {"1", "0", \(-1\), "0"},
  966. {"0", "1", "0", \(-1\)},
  967. {"0", "0", "0", "0"}
  968. }], "\[NoBreak]", ")"}],
  969. Function[ BoxForm`e$,
  970. MatrixForm[ BoxForm`e$]]]], "Output"]
  971. }, Open ]],
  972. Cell[CellGroupData[{
  973. Cell[BoxData[
  974. \(deltas[u[1] - w[1]/2] // MatrixForm\)], "Input"],
  975. Cell[BoxData[
  976. TagBox[
  977. RowBox[{"(", "\[NoBreak]", GridBox[{
  978. {"0", "0", "1", \(1\/2\)},
  979. {\(1\/2\), "0", \(-1\), \(1\/2\)},
  980. {"0", "1", \(-\(1\/2\)\), \(-\(1\/2\)\)},
  981. {\(1\/2\), \(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\)}
  982. }], "\[NoBreak]", ")"}],
  983. Function[ BoxForm`e$,
  984. MatrixForm[ BoxForm`e$]]]], "Output"]
  985. }, Open ]],
  986. Cell[CellGroupData[{
  987. Cell[BoxData[
  988. \(deltas[u[1] - w[2]/2] // MatrixForm\)], "Input"],
  989. Cell[BoxData[
  990. TagBox[
  991. RowBox[{"(", "\[NoBreak]", GridBox[{
  992. {"0", "0", \(1\/2\), "1"},
  993. {"1", "0", \(-\(1\/2\)\), \(-\(1\/2\)\)},
  994. {"0", \(1\/2\), \(1\/2\), \(-1\)},
  995. {\(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\), \(1\/2\)}
  996. }], "\[NoBreak]", ")"}],
  997. Function[ BoxForm`e$,
  998. MatrixForm[ BoxForm`e$]]]], "Output"]
  999. }, Open ]],
  1000. Cell[CellGroupData[{
  1001. Cell[BoxData[
  1002. \(deltas[u[1] + w[3]/2] // MatrixForm\)], "Input"],
  1003. Cell[BoxData[
  1004. TagBox[
  1005. RowBox[{"(", "\[NoBreak]", GridBox[{
  1006. {"0", \(1\/2\), "1", "1"},
  1007. {"1", \(-\(1\/2\)\), \(-\(1\/2\)\), "0"},
  1008. {\(1\/2\), \(1\/2\), "0", \(-1\)},
  1009. {\(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\), \(1\/2\)}
  1010. }], "\[NoBreak]", ")"}],
  1011. Function[ BoxForm`e$,
  1012. MatrixForm[ BoxForm`e$]]]], "Output"]
  1013. }, Open ]],
  1014. Cell[CellGroupData[{
  1015. Cell[BoxData[
  1016. \(deltas[u[1] + w[0]/2] // MatrixForm\)], "Input"],
  1017. Cell[BoxData[
  1018. TagBox[
  1019. RowBox[{"(", "\[NoBreak]", GridBox[{
  1020. {\(1\/2\), "0", "1", "1"},
  1021. {\(1\/2\), \(1\/2\), \(-1\), "0"},
  1022. {\(-\(1\/2\)\), "1", "0", \(-\(1\/2\)\)},
  1023. {\(1\/2\), \(-\(1\/2\)\), \(1\/2\), \(-\(1\/2\)\)}
  1024. }], "\[NoBreak]", ")"}],
  1025. Function[ BoxForm`e$,
  1026. MatrixForm[ BoxForm`e$]]]], "Output"]
  1027. }, Open ]],
  1028. Cell[CellGroupData[{
  1029. Cell[BoxData[
  1030. \(Table[\(({0, 1, 2,
  1031. 3}[\([Reverse[
  1032. Ordering[{w[0], w[1], w[2], w[3]}]]]\)])\)[\([1]\)], {j,
  1033. 1/16, 15/16, 1/8}, {i, 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1034. Cell[BoxData[
  1035. TagBox[
  1036. RowBox[{"(", "\[NoBreak]", GridBox[{
  1037. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1038. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1039. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1040. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1041. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1042. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1043. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1044. {"3", "3", "3", "3", "2", "2", "2", "2"}
  1045. }], "\[NoBreak]", ")"}],
  1046. Function[ BoxForm`e$,
  1047. MatrixForm[ BoxForm`e$]]]], "Output"]
  1048. }, Open ]],
  1049. Cell["\<\
  1050. The index of which weight is largest for all dyadic block dimensions between \
  1051. 2 and 8 using the various modified blending weights. All assume the \
  1052. upper-left corner is the exterior corner.\
  1053. \>", "Text"],
  1054. Cell[CellGroupData[{
  1055. Cell[BoxData[
  1056. \(Table[\(({0, 1, 2,
  1057. 3}[\([Reverse[
  1058. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1059. w[3]}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1060. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1061. Cell[BoxData[
  1062. TagBox[
  1063. RowBox[{"(", "\[NoBreak]", GridBox[{
  1064. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1065. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1066. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1067. {"0", "0", "0", "0", "0", "0", "2", "2"},
  1068. {"3", "3", "3", "0", "2", "2", "2", "2"},
  1069. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1070. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1071. {"3", "3", "3", "3", "2", "2", "2", "2"}
  1072. }], "\[NoBreak]", ")"}],
  1073. Function[ BoxForm`e$,
  1074. MatrixForm[ BoxForm`e$]]]], "Output"]
  1075. }, Open ]],
  1076. Cell[CellGroupData[{
  1077. Cell[BoxData[
  1078. \(Table[\(({0, 1, 2,
  1079. 3}[\([Reverse[
  1080. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1081. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1082. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1083. Cell[BoxData[
  1084. TagBox[
  1085. RowBox[{"(", "\[NoBreak]", GridBox[{
  1086. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1087. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1088. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1089. {"0", "0", "0", "0", "0", "1", "1", "1"},
  1090. {"0", "0", "0", "0", "2", "2", "2", "2"},
  1091. {"0", "0", "0", "0", "2", "2", "2", "2"},
  1092. {"0", "0", "0", "2", "2", "2", "2", "2"},
  1093. {"0", "0", "0", "2", "2", "2", "2", "2"}
  1094. }], "\[NoBreak]", ")"}],
  1095. Function[ BoxForm`e$,
  1096. MatrixForm[ BoxForm`e$]]]], "Output"]
  1097. }, Open ]],
  1098. Cell[CellGroupData[{
  1099. Cell[BoxData[
  1100. \(Table[\(({0, 1, 2,
  1101. 3}[\([Reverse[
  1102. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1103. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1104. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1105. Cell[BoxData[
  1106. TagBox[
  1107. RowBox[{"(", "\[NoBreak]", GridBox[{
  1108. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1109. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1110. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1111. {"0", "0", "0", "0", "0", "0", "0", "2"},
  1112. {"0", "0", "0", "0", "0", "2", "2", "2"},
  1113. {"0", "0", "0", "0", "2", "2", "2", "2"},
  1114. {"0", "0", "0", "0", "2", "2", "2", "2"},
  1115. {"0", "0", "0", "2", "2", "2", "2", "2"}
  1116. }], "\[NoBreak]", ")"}],
  1117. Function[ BoxForm`e$,
  1118. MatrixForm[ BoxForm`e$]]]], "Output"]
  1119. }, Open ]],
  1120. Cell[CellGroupData[{
  1121. Cell[BoxData[
  1122. \(Table[\(({0, 1, 2,
  1123. 3}[\([Reverse[
  1124. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1125. w[3]}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/16,
  1126. 15/16, 1/8}] // MatrixForm\)], "Input"],
  1127. Cell[BoxData[
  1128. TagBox[
  1129. RowBox[{"(", "\[NoBreak]", GridBox[{
  1130. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1131. {"0", "0", "0", "0", "0", "0", "0", "2"},
  1132. {"3", "3", "3", "3", "2", "2", "2", "2"},
  1133. {"3", "3", "3", "3", "2", "2", "2", "2"}
  1134. }], "\[NoBreak]", ")"}],
  1135. Function[ BoxForm`e$,
  1136. MatrixForm[ BoxForm`e$]]]], "Output"]
  1137. }, Open ]],
  1138. Cell[CellGroupData[{
  1139. Cell[BoxData[
  1140. \(Table[\(({0, 1, 2,
  1141. 3}[\([Reverse[
  1142. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1143. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i,
  1144. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1145. Cell[BoxData[
  1146. TagBox[
  1147. RowBox[{"(", "\[NoBreak]", GridBox[{
  1148. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1149. {"0", "0", "0", "0", "0", "1", "1", "1"},
  1150. {"0", "0", "0", "0", "2", "2", "2", "2"},
  1151. {"0", "0", "0", "2", "2", "2", "2", "2"}
  1152. }], "\[NoBreak]", ")"}],
  1153. Function[ BoxForm`e$,
  1154. MatrixForm[ BoxForm`e$]]]], "Output"]
  1155. }, Open ]],
  1156. Cell[CellGroupData[{
  1157. Cell[BoxData[
  1158. \(Table[\(({0, 1, 2,
  1159. 3}[\([Reverse[
  1160. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1161. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i,
  1162. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1163. Cell[BoxData[
  1164. TagBox[
  1165. RowBox[{"(", "\[NoBreak]", GridBox[{
  1166. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1167. {"0", "0", "0", "0", "0", "0", "0", "2"},
  1168. {"0", "0", "0", "0", "0", "2", "2", "2"},
  1169. {"0", "0", "0", "2", "2", "2", "2", "2"}
  1170. }], "\[NoBreak]", ")"}],
  1171. Function[ BoxForm`e$,
  1172. MatrixForm[ BoxForm`e$]]]], "Output"]
  1173. }, Open ]],
  1174. Cell[CellGroupData[{
  1175. Cell[BoxData[
  1176. \(Table[\(({0, 1, 2,
  1177. 3}[\([Reverse[
  1178. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1179. w[3]}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/16,
  1180. 15/16, 1/8}] // MatrixForm\)], "Input"],
  1181. Cell[BoxData[
  1182. TagBox[
  1183. RowBox[{"(", "\[NoBreak]", GridBox[{
  1184. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1185. {"3", "3", "3", "3", "2", "2", "2", "2"}
  1186. }], "\[NoBreak]", ")"}],
  1187. Function[ BoxForm`e$,
  1188. MatrixForm[ BoxForm`e$]]]], "Output"]
  1189. }, Open ]],
  1190. Cell[CellGroupData[{
  1191. Cell[BoxData[
  1192. \(Table[\(({0, 1, 2,
  1193. 3}[\([Reverse[
  1194. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1195. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i,
  1196. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1197. Cell[BoxData[
  1198. TagBox[
  1199. RowBox[{"(", "\[NoBreak]", GridBox[{
  1200. {"0", "0", "0", "0", "1", "1", "1", "1"},
  1201. {"0", "0", "0", "0", "2", "2", "2", "2"}
  1202. }], "\[NoBreak]", ")"}],
  1203. Function[ BoxForm`e$,
  1204. MatrixForm[ BoxForm`e$]]]], "Output"]
  1205. }, Open ]],
  1206. Cell[CellGroupData[{
  1207. Cell[BoxData[
  1208. \(Table[\(({0, 1, 2,
  1209. 3}[\([Reverse[
  1210. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1211. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i,
  1212. 1/16, 15/16, 1/8}] // MatrixForm\)], "Input"],
  1213. Cell[BoxData[
  1214. TagBox[
  1215. RowBox[{"(", "\[NoBreak]", GridBox[{
  1216. {"0", "0", "0", "0", "0", "0", "0", "0"},
  1217. {"0", "0", "0", "0", "2", "2", "2", "2"}
  1218. }], "\[NoBreak]", ")"}],
  1219. Function[ BoxForm`e$,
  1220. MatrixForm[ BoxForm`e$]]]], "Output"]
  1221. }, Open ]],
  1222. Cell[CellGroupData[{
  1223. Cell[BoxData[
  1224. \(Table[\(({0, 1, 2,
  1225. 3}[\([Reverse[
  1226. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1227. w[3]}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1228. 1/8, 7/8, 1/4}] // MatrixForm\)], "Input"],
  1229. Cell[BoxData[
  1230. TagBox[
  1231. RowBox[{"(", "\[NoBreak]", GridBox[{
  1232. {"0", "0", "0", "0"},
  1233. {"0", "0", "0", "0"},
  1234. {"0", "0", "0", "0"},
  1235. {"0", "0", "0", "2"},
  1236. {"3", "0", "2", "2"},
  1237. {"3", "3", "2", "2"},
  1238. {"3", "3", "2", "2"},
  1239. {"3", "3", "2", "2"}
  1240. }], "\[NoBreak]", ")"}],
  1241. Function[ BoxForm`e$,
  1242. MatrixForm[ BoxForm`e$]]]], "Output"]
  1243. }, Open ]],
  1244. Cell[CellGroupData[{
  1245. Cell[BoxData[
  1246. \(Table[\(({0, 1, 2,
  1247. 3}[\([Reverse[
  1248. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1249. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1250. 1/8, 7/8, 1/4}] // MatrixForm\)], "Input"],
  1251. Cell[BoxData[
  1252. TagBox[
  1253. RowBox[{"(", "\[NoBreak]", GridBox[{
  1254. {"0", "0", "1", "1"},
  1255. {"0", "0", "1", "1"},
  1256. {"0", "0", "1", "1"},
  1257. {"0", "0", "1", "1"},
  1258. {"0", "0", "2", "2"},
  1259. {"0", "0", "2", "2"},
  1260. {"0", "0", "2", "2"},
  1261. {"0", "2", "2", "2"}
  1262. }], "\[NoBreak]", ")"}],
  1263. Function[ BoxForm`e$,
  1264. MatrixForm[ BoxForm`e$]]]], "Output"]
  1265. }, Open ]],
  1266. Cell[CellGroupData[{
  1267. Cell[BoxData[
  1268. \(Table[\(({0, 1, 2,
  1269. 3}[\([Reverse[
  1270. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1271. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1272. 1/8, 7/8, 1/4}] // MatrixForm\)], "Input"],
  1273. Cell[BoxData[
  1274. TagBox[
  1275. RowBox[{"(", "\[NoBreak]", GridBox[{
  1276. {"0", "0", "0", "0"},
  1277. {"0", "0", "0", "0"},
  1278. {"0", "0", "0", "0"},
  1279. {"0", "0", "0", "2"},
  1280. {"0", "0", "0", "2"},
  1281. {"0", "0", "2", "2"},
  1282. {"0", "0", "2", "2"},
  1283. {"0", "2", "2", "2"}
  1284. }], "\[NoBreak]", ")"}],
  1285. Function[ BoxForm`e$,
  1286. MatrixForm[ BoxForm`e$]]]], "Output"]
  1287. }, Open ]],
  1288. Cell[CellGroupData[{
  1289. Cell[BoxData[
  1290. \(Table[\(({0, 1, 2,
  1291. 3}[\([Reverse[
  1292. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1293. w[3]}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/8,
  1294. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1295. Cell[BoxData[
  1296. TagBox[
  1297. RowBox[{"(", "\[NoBreak]", GridBox[{
  1298. {"0", "0", "0", "0"},
  1299. {"0", "0", "0", "0"},
  1300. {"3", "3", "2", "2"},
  1301. {"3", "3", "2", "2"}
  1302. }], "\[NoBreak]", ")"}],
  1303. Function[ BoxForm`e$,
  1304. MatrixForm[ BoxForm`e$]]]], "Output"]
  1305. }, Open ]],
  1306. Cell[CellGroupData[{
  1307. Cell[BoxData[
  1308. \(Table[\(({0, 1, 2,
  1309. 3}[\([Reverse[
  1310. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1311. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/8,
  1312. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1313. Cell[BoxData[
  1314. TagBox[
  1315. RowBox[{"(", "\[NoBreak]", GridBox[{
  1316. {"0", "0", "1", "1"},
  1317. {"0", "0", "1", "1"},
  1318. {"0", "0", "2", "2"},
  1319. {"0", "0", "2", "2"}
  1320. }], "\[NoBreak]", ")"}],
  1321. Function[ BoxForm`e$,
  1322. MatrixForm[ BoxForm`e$]]]], "Output"]
  1323. }, Open ]],
  1324. Cell[CellGroupData[{
  1325. Cell[BoxData[
  1326. \(Table[\(({0, 1, 2,
  1327. 3}[\([Reverse[
  1328. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1329. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/8,
  1330. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1331. Cell[BoxData[
  1332. TagBox[
  1333. RowBox[{"(", "\[NoBreak]", GridBox[{
  1334. {"0", "0", "0", "0"},
  1335. {"0", "0", "0", "0"},
  1336. {"0", "0", "2", "2"},
  1337. {"0", "0", "2", "2"}
  1338. }], "\[NoBreak]", ")"}],
  1339. Function[ BoxForm`e$,
  1340. MatrixForm[ BoxForm`e$]]]], "Output"]
  1341. }, Open ]],
  1342. Cell[CellGroupData[{
  1343. Cell[BoxData[
  1344. \(Table[\(({0, 1, 2,
  1345. 3}[\([Reverse[
  1346. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1347. w[3]}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/8,
  1348. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1349. Cell[BoxData[
  1350. TagBox[
  1351. RowBox[{"(", "\[NoBreak]", GridBox[{
  1352. {"0", "0", "0", "0"},
  1353. {"3", "3", "2", "2"}
  1354. }], "\[NoBreak]", ")"}],
  1355. Function[ BoxForm`e$,
  1356. MatrixForm[ BoxForm`e$]]]], "Output"]
  1357. }, Open ]],
  1358. Cell[CellGroupData[{
  1359. Cell[BoxData[
  1360. \(Table[\(({0, 1, 2,
  1361. 3}[\([Reverse[
  1362. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1363. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/8,
  1364. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1365. Cell[BoxData[
  1366. TagBox[
  1367. RowBox[{"(", "\[NoBreak]", GridBox[{
  1368. {"0", "0", "1", "1"},
  1369. {"0", "0", "2", "2"}
  1370. }], "\[NoBreak]", ")"}],
  1371. Function[ BoxForm`e$,
  1372. MatrixForm[ BoxForm`e$]]]], "Output"]
  1373. }, Open ]],
  1374. Cell[CellGroupData[{
  1375. Cell[BoxData[
  1376. \(Table[\(({0, 1, 2,
  1377. 3}[\([Reverse[
  1378. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1379. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/8,
  1380. 7/8, 1/4}] // MatrixForm\)], "Input"],
  1381. Cell[BoxData[
  1382. TagBox[
  1383. RowBox[{"(", "\[NoBreak]", GridBox[{
  1384. {"0", "0", "0", "0"},
  1385. {"0", "0", "2", "2"}
  1386. }], "\[NoBreak]", ")"}],
  1387. Function[ BoxForm`e$,
  1388. MatrixForm[ BoxForm`e$]]]], "Output"]
  1389. }, Open ]],
  1390. Cell[CellGroupData[{
  1391. Cell[BoxData[
  1392. \(Table[\(({0, 1, 2,
  1393. 3}[\([Reverse[
  1394. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1395. w[3]}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1396. 1/4, 3/4, 1/2}] // MatrixForm\)], "Input"],
  1397. Cell[BoxData[
  1398. TagBox[
  1399. RowBox[{"(", "\[NoBreak]", GridBox[{
  1400. {"0", "0"},
  1401. {"0", "0"},
  1402. {"0", "0"},
  1403. {"0", "0"},
  1404. {"3", "2"},
  1405. {"3", "2"},
  1406. {"3", "2"},
  1407. {"3", "2"}
  1408. }], "\[NoBreak]", ")"}],
  1409. Function[ BoxForm`e$,
  1410. MatrixForm[ BoxForm`e$]]]], "Output"]
  1411. }, Open ]],
  1412. Cell[CellGroupData[{
  1413. Cell[BoxData[
  1414. \(Table[\(({0, 1, 2,
  1415. 3}[\([Reverse[
  1416. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1417. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1418. 1/4, 3/4, 1/2}] // MatrixForm\)], "Input"],
  1419. Cell[BoxData[
  1420. TagBox[
  1421. RowBox[{"(", "\[NoBreak]", GridBox[{
  1422. {"0", "1"},
  1423. {"0", "1"},
  1424. {"0", "1"},
  1425. {"0", "1"},
  1426. {"0", "2"},
  1427. {"0", "2"},
  1428. {"0", "2"},
  1429. {"0", "2"}
  1430. }], "\[NoBreak]", ")"}],
  1431. Function[ BoxForm`e$,
  1432. MatrixForm[ BoxForm`e$]]]], "Output"]
  1433. }, Open ]],
  1434. Cell[CellGroupData[{
  1435. Cell[BoxData[
  1436. \(Table[\(({0, 1, 2,
  1437. 3}[\([Reverse[
  1438. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1439. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/16, 15/16, 1/8}, {i,
  1440. 1/4, 3/4, 1/2}] // MatrixForm\)], "Input"],
  1441. Cell[BoxData[
  1442. TagBox[
  1443. RowBox[{"(", "\[NoBreak]", GridBox[{
  1444. {"0", "0"},
  1445. {"0", "0"},
  1446. {"0", "0"},
  1447. {"0", "0"},
  1448. {"0", "2"},
  1449. {"0", "2"},
  1450. {"0", "2"},
  1451. {"0", "2"}
  1452. }], "\[NoBreak]", ")"}],
  1453. Function[ BoxForm`e$,
  1454. MatrixForm[ BoxForm`e$]]]], "Output"]
  1455. }, Open ]],
  1456. Cell[CellGroupData[{
  1457. Cell[BoxData[
  1458. \(Table[\(({0, 1, 2,
  1459. 3}[\([Reverse[
  1460. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1461. w[3]}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/4,
  1462. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1463. Cell[BoxData[
  1464. TagBox[
  1465. RowBox[{"(", "\[NoBreak]", GridBox[{
  1466. {"0", "0"},
  1467. {"0", "0"},
  1468. {"3", "2"},
  1469. {"3", "2"}
  1470. }], "\[NoBreak]", ")"}],
  1471. Function[ BoxForm`e$,
  1472. MatrixForm[ BoxForm`e$]]]], "Output"]
  1473. }, Open ]],
  1474. Cell[CellGroupData[{
  1475. Cell[BoxData[
  1476. \(Table[\(({0, 1, 2,
  1477. 3}[\([Reverse[
  1478. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1479. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/4,
  1480. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1481. Cell[BoxData[
  1482. TagBox[
  1483. RowBox[{"(", "\[NoBreak]", GridBox[{
  1484. {"0", "1"},
  1485. {"0", "1"},
  1486. {"0", "2"},
  1487. {"0", "2"}
  1488. }], "\[NoBreak]", ")"}],
  1489. Function[ BoxForm`e$,
  1490. MatrixForm[ BoxForm`e$]]]], "Output"]
  1491. }, Open ]],
  1492. Cell[CellGroupData[{
  1493. Cell[BoxData[
  1494. \(Table[\(({0, 1, 2,
  1495. 3}[\([Reverse[
  1496. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1497. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/8, 7/8, 1/4}, {i, 1/4,
  1498. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1499. Cell[BoxData[
  1500. TagBox[
  1501. RowBox[{"(", "\[NoBreak]", GridBox[{
  1502. {"0", "0"},
  1503. {"0", "0"},
  1504. {"0", "2"},
  1505. {"0", "2"}
  1506. }], "\[NoBreak]", ")"}],
  1507. Function[ BoxForm`e$,
  1508. MatrixForm[ BoxForm`e$]]]], "Output"]
  1509. }, Open ]],
  1510. Cell[CellGroupData[{
  1511. Cell[BoxData[
  1512. \(Table[\(({0, 1, 2,
  1513. 3}[\([Reverse[
  1514. Ordering[{w[0] + w[1]/2, w[1]/2, w[2],
  1515. w[3]}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/4,
  1516. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1517. Cell[BoxData[
  1518. TagBox[
  1519. RowBox[{"(", "\[NoBreak]", GridBox[{
  1520. {"0", "0"},
  1521. {"3", "2"}
  1522. }], "\[NoBreak]", ")"}],
  1523. Function[ BoxForm`e$,
  1524. MatrixForm[ BoxForm`e$]]]], "Output"]
  1525. }, Open ]],
  1526. Cell[CellGroupData[{
  1527. Cell[BoxData[
  1528. \(Table[\(({0, 1, 2,
  1529. 3}[\([Reverse[
  1530. Ordering[{w[0] + w[3]/2, w[1], w[2],
  1531. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/4,
  1532. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1533. Cell[BoxData[
  1534. TagBox[
  1535. RowBox[{"(", "\[NoBreak]", GridBox[{
  1536. {"0", "1"},
  1537. {"0", "2"}
  1538. }], "\[NoBreak]", ")"}],
  1539. Function[ BoxForm`e$,
  1540. MatrixForm[ BoxForm`e$]]]], "Output"]
  1541. }, Open ]],
  1542. Cell[CellGroupData[{
  1543. Cell[BoxData[
  1544. \(Table[\(({0, 1, 2,
  1545. 3}[\([Reverse[
  1546. Ordering[{w[0] + w[1]/2 + w[3]/2, w[1]/2, w[2],
  1547. w[3]/2}]]]\)])\)[\([1]\)], {j, 1/4, 3/4, 1/2}, {i, 1/4,
  1548. 3/4, 1/2}] // MatrixForm\)], "Input"],
  1549. Cell[BoxData[
  1550. TagBox[
  1551. RowBox[{"(", "\[NoBreak]", GridBox[{
  1552. {"0", "0"},
  1553. {"0", "2"}
  1554. }], "\[NoBreak]", ")"}],
  1555. Function[ BoxForm`e$,
  1556. MatrixForm[ BoxForm`e$]]]], "Output"]
  1557. }, Open ]]
  1558. }, Open ]],
  1559. Cell[CellGroupData[{
  1560. Cell["Reflections", "Subsubsection"],
  1561. Cell[BoxData[
  1562. \(flip03[k_] := If[k \[Equal] 0, 3, If[k \[Equal] 3, 0, k]]\)], "Input"],
  1563. Cell[BoxData[
  1564. \(flip12[k_] := If[k \[Equal] 1, 2, If[k \[Equal] 2, 1, k]]\)], "Input"],
  1565. Cell[BoxData[
  1566. \(flipj[exp_] :=
  1567. ReleaseHold[
  1568. Hold[exp] /. {w[k_] \[Rule] w[Mod[k + 2, 4]],
  1569. m[k_] \[Rule] m[Mod[k + 2, 4]],
  1570. u[k_] \[Rule] u[flip03[k]]}]\)], "Input"],
  1571. Cell[BoxData[
  1572. \(SetAttributes[flipj, HoldAll]\)], "Input"],
  1573. Cell[BoxData[
  1574. \(Clear[u, w]\)], "Input"],
  1575. Cell[CellGroupData[{
  1576. Cell[BoxData[
  1577. \(flipij[exp_] :=
  1578. ReleaseHold[
  1579. Hold[exp] /. {w[k_] \[Rule] w[flip12[k]], m[k_] \[Rule] m[flip12[k]],
  1580. u[k_] \[Rule] u[Mod[k + 2, 4]]}]\)], "Input"],
  1581. Cell[BoxData[
  1582. RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
  1583. error: new symbol name \\\"\\!\\(flipij\\)\\\" is similar to existing symbol \
  1584. \\\"\\!\\(flipj\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
  1585. ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
  1586. ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"]
  1587. }, Open ]],
  1588. Cell[BoxData[
  1589. \(SetAttributes[flipij, HoldAll]\)], "Input"],
  1590. Cell[BoxData[
  1591. \(reflections[exp_] :=
  1592. Simplify[{exp, flipj[flipij[exp]], flipij[exp], flipj[exp]}]\)], "Input"],
  1593. Cell[BoxData[
  1594. \(SetAttributes[reflections, HoldAll]\)], "Input"],
  1595. Cell[CellGroupData[{
  1596. Cell[BoxData[
  1597. \(Transpose[reflections[{w[0], w[1], w[2], w[3]}]] //
  1598. MatrixForm\)], "Input"],
  1599. Cell[BoxData[
  1600. TagBox[
  1601. RowBox[{"(", "\[NoBreak]", GridBox[{
  1602. {\(w[0]\), \(w[1]\), \(w[0]\), \(w[2]\)},
  1603. {\(w[1]\), \(w[3]\), \(w[2]\), \(w[3]\)},
  1604. {\(w[2]\), \(w[0]\), \(w[1]\), \(w[0]\)},
  1605. {\(w[3]\), \(w[2]\), \(w[3]\), \(w[1]\)}
  1606. }], "\[NoBreak]", ")"}],
  1607. Function[ BoxForm`e$,
  1608. MatrixForm[ BoxForm`e$]]]], "Output"]
  1609. }, Open ]],
  1610. Cell[CellGroupData[{
  1611. Cell[BoxData[
  1612. \(Transpose[reflections[{m[0], m[1], m[2], m[3]}]] //
  1613. MatrixForm\)], "Input"],
  1614. Cell[BoxData[
  1615. TagBox[
  1616. RowBox[{"(", "\[NoBreak]", GridBox[{
  1617. {\(m[0]\), \(m[1]\), \(m[0]\), \(m[2]\)},
  1618. {\(m[1]\), \(m[3]\), \(m[2]\), \(m[3]\)},
  1619. {\(m[2]\), \(m[0]\), \(m[1]\), \(m[0]\)},
  1620. {\(m[3]\), \(m[2]\), \(m[3]\), \(m[1]\)}
  1621. }], "\[NoBreak]", ")"}],
  1622. Function[ BoxForm`e$,
  1623. MatrixForm[ BoxForm`e$]]]], "Output"]
  1624. }, Open ]],
  1625. Cell[CellGroupData[{
  1626. Cell[BoxData[
  1627. \(Transpose[reflections[{u[0], u[1], u[2], u[3]}]] //
  1628. MatrixForm\)], "Input"],
  1629. Cell[BoxData[
  1630. TagBox[
  1631. RowBox[{"(", "\[NoBreak]", GridBox[{
  1632. {\(u[0]\), \(u[1]\), \(u[2]\), \(u[3]\)},
  1633. {\(u[1]\), \(u[3]\), \(u[3]\), \(u[1]\)},
  1634. {\(u[2]\), \(u[0]\), \(u[0]\), \(u[2]\)},
  1635. {\(u[3]\), \(u[2]\), \(u[1]\), \(u[0]\)}
  1636. }], "\[NoBreak]", ")"}],
  1637. Function[ BoxForm`e$,
  1638. MatrixForm[ BoxForm`e$]]]], "Output"]
  1639. }, Open ]],
  1640. Cell[BoxData[
  1641. \(substs := {w[0] \[Rule] \((1 - i)\)*\((1 - j)\),
  1642. w[1] \[Rule] i*\((1 - j)\), w[2] \[Rule] \((1 - i)\)*j,
  1643. w[3] \[Rule] i*j, u[0] \[Rule] 1 - j, u[1] \[Rule] i,
  1644. u[2] \[Rule] 1 - i, u[3] \[Rule] j}\)], "Input"],
  1645. Cell[BoxData[
  1646. \(w[0] := \((1 - i)\)*\((1 - j)\)\)], "Input"],
  1647. Cell[BoxData[
  1648. \(w[1] := i*\((1 - j)\)\)], "Input"],
  1649. Cell[BoxData[
  1650. \(w[2] := \((1 - i)\)*j\)], "Input"],
  1651. Cell[BoxData[
  1652. \(w[3] := i*j\)], "Input"],
  1653. Cell[BoxData[
  1654. \(u[0] := 1 - j\)], "Input"],
  1655. Cell[BoxData[
  1656. \(u[1] := i\)], "Input"],
  1657. Cell[BoxData[
  1658. \(u[2] := 1 - i\)], "Input"],
  1659. Cell[BoxData[
  1660. \(u[3] := j\)], "Input"],
  1661. Cell[CellGroupData[{
  1662. Cell[BoxData[
  1663. \(reflections[{m[0], m[1], m[3], m[2]}]\)], "Input"],
  1664. Cell[BoxData[
  1665. \({{m[0], m[1], m[3], m[2]}, {m[1], m[3], m[2], m[0]}, {m[0], m[2], m[3],
  1666. m[1]}, {m[2], m[3], m[1], m[0]}}\)], "Output"]
  1667. }, Open ]],
  1668. Cell[BoxData[
  1669. \(deltas[
  1670. exp_] := \({reflections[exp], \(D[#, i] &\) /@
  1671. reflections[exp], \(D[#, j] &\) /@
  1672. reflections[exp], \(D[#, i, j] &\) /@ reflections[exp]} /.
  1673. i -> 0\) /. j -> 0\)], "Input"],
  1674. Cell[BoxData[
  1675. \(SetAttributes[deltas, HoldAll]\)], "Input"],
  1676. Cell[BoxData[
  1677. \(testedges := \(\((Simplify[
  1678. Expand[{# /. j -> 0, # /. i -> 1, # /. i \[Rule] 0, # /.
  1679. j \[Rule] 1}]])\) &\)[Simplify[#]] &\)], "Input"],
  1680. Cell["VVVV", "Text"],
  1681. Cell[CellGroupData[{
  1682. Cell[BoxData[
  1683. \(testedges[src[m[0]*w[0] + m[1]*w[1] + m[2]*w[2] + m[3]*w[3]]] //
  1684. MatrixForm\)], "Input"],
  1685. Cell[BoxData[
  1686. InterpretationBox[
  1687. RowBox[{"(", "\[NoBreak]", GridBox[{
  1688. {\(src[m[0] - i\ m[0] + i\ m[1]]\)},
  1689. {\(src[m[1] - j\ m[1] + j\ m[3]]\)},
  1690. {\(src[m[0] - j\ m[0] + j\ m[2]]\)},
  1691. {\(src[m[2] - i\ m[2] + i\ m[3]]\)}
  1692. }], "\[NoBreak]", ")"}],
  1693. MatrixForm[ {
  1694. src[
  1695. Plus[
  1696. m[ 0],
  1697. Times[ -1, i,
  1698. m[ 0]],
  1699. Times[ i,
  1700. m[ 1]]]],
  1701. src[
  1702. Plus[
  1703. m[ 1],
  1704. Times[ -1, j,
  1705. m[ 1]],
  1706. Times[ j,
  1707. m[ 3]]]],
  1708. src[
  1709. Plus[
  1710. m[ 0],
  1711. Times[ -1, j,
  1712. m[ 0]],
  1713. Times[ j,
  1714. m[ 2]]]],
  1715. src[
  1716. Plus[
  1717. m[ 2],
  1718. Times[ -1, i,
  1719. m[ 2]],
  1720. Times[ i,
  1721. m[ 3]]]]}]]], "Output"]
  1722. }, Open ]],
  1723. Cell[CellGroupData[{
  1724. Cell[BoxData[
  1725. \(deltas[m[0]*w[0] + m[1]*w[1] + m[2]*w[2] + m[3]*w[3]] //
  1726. MatrixForm\)], "Input"],
  1727. Cell[BoxData[
  1728. TagBox[
  1729. RowBox[{"(", "\[NoBreak]", GridBox[{
  1730. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  1731. {\(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  1732. m[1]\), \(\(-m[0]\) + m[1]\)},
  1733. {\(\(-m[0]\) + m[2]\), \(\(-m[0]\) + m[2]\), \(\(-m[0]\) +
  1734. m[2]\), \(\(-m[0]\) + m[2]\)},
  1735. {\(m[0] - m[1] - m[2] + m[3]\), \(m[0] - m[1] - m[2] +
  1736. m[3]\), \(m[0] - m[1] - m[2] + m[3]\), \(m[0] - m[1] - m[2] +
  1737. m[3]\)}
  1738. }], "\[NoBreak]", ")"}],
  1739. Function[ BoxForm`e$,
  1740. MatrixForm[ BoxForm`e$]]]], "Output"]
  1741. }, Open ]],
  1742. Cell["BVVV", "Text"],
  1743. Cell[CellGroupData[{
  1744. Cell[BoxData[
  1745. \(testedges[
  1746. reflections[
  1747. src[u[0]*m[0] + w[2]*m[2] + w[3]*m[3]]*u[2] +
  1748. src[u[0]*m[1] + w[2]*m[2] + w[3]*m[3]]*u[1]]] //
  1749. MatrixForm\)], "Input"],
  1750. Cell[BoxData[
  1751. TagBox[
  1752. RowBox[{"(", "\[NoBreak]", GridBox[{
  1753. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\), \(src[
  1754. m[0] - i\ m[0] + i\ m[1]]\), \(src[
  1755. m[0] - i\ m[0] + i\ m[1]]\), \(src[
  1756. m[0] - i\ m[0] + i\ m[1]]\)},
  1757. {\(src[
  1758. m[1] - j\ m[1] +
  1759. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1760. j\ src[m[3]]\), \(src[m[1] - j\ m[1] + j\ m[3]]\), \(src[
  1761. m[1] - j\ m[1] + j\ m[3]]\)},
  1762. {\(src[m[0] - j\ m[0] + j\ m[2]]\), \(src[
  1763. m[0] - j\ m[0] +
  1764. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1765. j\ src[m[2]]\), \(src[m[0] - j\ m[0] + j\ m[2]]\)},
  1766. {\(src[m[2] - i\ m[2] + i\ m[3]]\), \(src[
  1767. m[2] - i\ m[2] + i\ m[3]]\), \(src[
  1768. m[2] - i\ m[2] +
  1769. i\ m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1770. i\ src[m[3]]\)}
  1771. }], "\[NoBreak]", ")"}],
  1772. Function[ BoxForm`e$,
  1773. MatrixForm[ BoxForm`e$]]]], "Output"]
  1774. }, Open ]],
  1775. Cell[CellGroupData[{
  1776. Cell[BoxData[
  1777. \(deltas[u[0]*m[0] + w[2]*m[2] + w[3]*m[3]] // MatrixForm\)], "Input"],
  1778. Cell[BoxData[
  1779. TagBox[
  1780. RowBox[{"(", "\[NoBreak]", GridBox[{
  1781. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  1782. {
  1783. "0", \(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), \(\(-m[0]\) +
  1784. m[1]\)},
  1785. {\(\(-m[0]\) + m[2]\), \(\(-m[0]\) + m[2]\),
  1786. "0", \(\(-m[0]\) + m[2]\)},
  1787. {\(\(-m[2]\) + m[3]\), \(m[0] - m[2]\), \(\(-m[1]\) +
  1788. m[3]\), \(m[0] - m[1]\)}
  1789. }], "\[NoBreak]", ")"}],
  1790. Function[ BoxForm`e$,
  1791. MatrixForm[ BoxForm`e$]]]], "Output"]
  1792. }, Open ]],
  1793. Cell[CellGroupData[{
  1794. Cell[BoxData[
  1795. \(deltas[u[0]*m[1] + w[2]*m[2] + w[3]*m[3]] // MatrixForm\)], "Input"],
  1796. Cell[BoxData[
  1797. TagBox[
  1798. RowBox[{"(", "\[NoBreak]", GridBox[{
  1799. {\(m[1]\), \(m[0]\), \(m[2]\), \(m[0]\)},
  1800. {
  1801. "0", \(\(-m[0]\) + m[3]\), \(m[1] - m[2]\), \(\(-m[0]\) +
  1802. m[1]\)},
  1803. {\(\(-m[1]\) + m[2]\), \(\(-m[0]\) + m[2]\),
  1804. "0", \(\(-m[0]\) + m[3]\)},
  1805. {\(\(-m[2]\) + m[3]\), \(m[0] - m[2]\), \(\(-m[1]\) +
  1806. m[3]\), \(m[0] - m[1]\)}
  1807. }], "\[NoBreak]", ")"}],
  1808. Function[ BoxForm`e$,
  1809. MatrixForm[ BoxForm`e$]]]], "Output"]
  1810. }, Open ]],
  1811. Cell["BVVB", "Text"],
  1812. Cell[CellGroupData[{
  1813. Cell[BoxData[
  1814. \(testedges[
  1815. reflections[
  1816. src[u[0]*m[0] + u[3]*m[2]]*u[2] +
  1817. src[u[0]*m[1] + u[3]*m[3]]*u[1]]] // MatrixForm\)], "Input"],
  1818. Cell[BoxData[
  1819. TagBox[
  1820. RowBox[{"(", "\[NoBreak]", GridBox[{
  1821. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\), \(src[
  1822. m[0] - i\ m[0] + i\ m[1]]\), \(src[
  1823. m[0] - i\ m[0] +
  1824. i\ m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1825. i\ src[m[1]]\)},
  1826. {\(src[
  1827. m[1] - j\ m[1] +
  1828. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1829. j\ src[m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1830. j\ src[m[3]]\), \(src[m[1] - j\ m[1] + j\ m[3]]\)},
  1831. {\(src[
  1832. m[0] - j\ m[0] +
  1833. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1834. j\ src[m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1835. j\ src[m[2]]\), \(src[m[0] - j\ m[0] + j\ m[2]]\)},
  1836. {\(\(-\((\(-1\) + i)\)\)\ src[m[2]] + i\ src[m[3]]\), \(src[
  1837. m[2] - i\ m[2] + i\ m[3]]\), \(src[
  1838. m[2] - i\ m[2] +
  1839. i\ m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1840. i\ src[m[3]]\)}
  1841. }], "\[NoBreak]", ")"}],
  1842. Function[ BoxForm`e$,
  1843. MatrixForm[ BoxForm`e$]]]], "Output"]
  1844. }, Open ]],
  1845. Cell[CellGroupData[{
  1846. Cell[BoxData[
  1847. \(deltas[u[0]*m[0] + u[3]*m[2]] // MatrixForm\)], "Input"],
  1848. Cell[BoxData[
  1849. TagBox[
  1850. RowBox[{"(", "\[NoBreak]", GridBox[{
  1851. {\(m[0]\), \(m[0]\), \(m[0]\), \(m[0]\)},
  1852. {"0", \(\(-m[0]\) + m[1]\), \(\(-m[0]\) + m[1]\), "0"},
  1853. {\(\(-m[0]\) + m[2]\), "0", "0", \(\(-m[0]\) + m[2]\)},
  1854. {"0", "0", "0", "0"}
  1855. }], "\[NoBreak]", ")"}],
  1856. Function[ BoxForm`e$,
  1857. MatrixForm[ BoxForm`e$]]]], "Output"]
  1858. }, Open ]],
  1859. Cell[CellGroupData[{
  1860. Cell[BoxData[
  1861. \(deltas[u[0]*m[1] + u[3]*m[3]] // MatrixForm\)], "Input"],
  1862. Cell[BoxData[
  1863. TagBox[
  1864. RowBox[{"(", "\[NoBreak]", GridBox[{
  1865. {\(m[1]\), \(m[2]\), \(m[2]\), \(m[1]\)},
  1866. {"0", \(\(-m[2]\) + m[3]\), \(\(-m[2]\) + m[3]\), "0"},
  1867. {\(\(-m[1]\) + m[3]\), "0", "0", \(\(-m[1]\) + m[3]\)},
  1868. {"0", "0", "0", "0"}
  1869. }], "\[NoBreak]", ")"}],
  1870. Function[ BoxForm`e$,
  1871. MatrixForm[ BoxForm`e$]]]], "Output"]
  1872. }, Open ]],
  1873. Cell["BVBV", "Text"],
  1874. Cell[CellGroupData[{
  1875. Cell[BoxData[
  1876. \(testedges[
  1877. reflections[
  1878. src[m[0]]*w[0] + src[u[0]*m[1] + u[3]*m[3]]*w[1] +
  1879. src[u[2]*m[2] + u[1]*m[3]]*w[2] +
  1880. src[w[1]*m[1] + w[2]*m[2] + \((w[0] + w[3])\)*m[3]]*w[3]]] //
  1881. MatrixForm\)], "Input"],
  1882. Cell[BoxData[
  1883. TagBox[
  1884. RowBox[{"(", "\[NoBreak]", GridBox[{
  1885. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1886. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1887. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1888. i\ src[m[1]]\), \(src[m[0] - i\ m[0] + i\ m[1]]\)},
  1889. {\(src[
  1890. m[1] - j\ m[1] +
  1891. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1892. j\ src[m[3]]\), \(src[m[1] - j\ m[1] + j\ m[3]]\), \(src[
  1893. m[1] - j\ m[1] + j\ m[3]]\)},
  1894. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] + j\ src[m[2]]\), \(src[
  1895. m[0] - j\ m[0] +
  1896. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1897. j\ src[m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1898. j\ src[m[2]]\)},
  1899. {\(src[m[2] - i\ m[2] + i\ m[3]]\), \(src[
  1900. m[2] - i\ m[2] + i\ m[3]]\), \(src[
  1901. m[2] - i\ m[2] +
  1902. i\ m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1903. i\ src[m[3]]\)}
  1904. }], "\[NoBreak]", ")"}],
  1905. Function[ BoxForm`e$,
  1906. MatrixForm[ BoxForm`e$]]]], "Output"]
  1907. }, Open ]],
  1908. Cell[CellGroupData[{
  1909. Cell[BoxData[
  1910. \(deltas[u[0]*m[1] + u[3]*m[3]] // MatrixForm\)], "Input"],
  1911. Cell[BoxData[
  1912. TagBox[
  1913. RowBox[{"(", "\[NoBreak]", GridBox[{
  1914. {\(m[1]\), \(m[2]\), \(m[2]\), \(m[1]\)},
  1915. {"0", \(\(-m[2]\) + m[3]\), \(\(-m[2]\) + m[3]\), "0"},
  1916. {\(\(-m[1]\) + m[3]\), "0", "0", \(\(-m[1]\) + m[3]\)},
  1917. {"0", "0", "0", "0"}
  1918. }], "\[NoBreak]", ")"}],
  1919. Function[ BoxForm`e$,
  1920. MatrixForm[ BoxForm`e$]]]], "Output"]
  1921. }, Open ]],
  1922. Cell[CellGroupData[{
  1923. Cell[BoxData[
  1924. \(deltas[u[2]*m[2] + u[1]*m[3]] // MatrixForm\)], "Input"],
  1925. Cell[BoxData[
  1926. TagBox[
  1927. RowBox[{"(", "\[NoBreak]", GridBox[{
  1928. {\(m[2]\), \(m[0]\), \(m[1]\), \(m[0]\)},
  1929. {\(\(-m[2]\) + m[3]\), "0", "0", \(\(-m[0]\) + m[1]\)},
  1930. {"0", \(\(-m[0]\) + m[2]\), \(\(-m[1]\) + m[3]\), "0"},
  1931. {"0", "0", "0", "0"}
  1932. }], "\[NoBreak]", ")"}],
  1933. Function[ BoxForm`e$,
  1934. MatrixForm[ BoxForm`e$]]]], "Output"]
  1935. }, Open ]],
  1936. Cell[CellGroupData[{
  1937. Cell[BoxData[
  1938. \(deltas[w[1]*m[1] + w[2]*m[2] + \((w[0] + w[3])\)*m[3]] //
  1939. MatrixForm\)], "Input"],
  1940. Cell[BoxData[
  1941. TagBox[
  1942. RowBox[{"(", "\[NoBreak]", GridBox[{
  1943. {\(m[3]\), \(m[0]\), \(m[3]\), \(m[0]\)},
  1944. {\(m[1] - m[3]\), \(\(-m[0]\) + m[2]\), \(m[1] -
  1945. m[3]\), \(\(-m[0]\) + m[1]\)},
  1946. {\(m[2] - m[3]\), \(\(-m[0]\) + m[2]\), \(m[2] -
  1947. m[3]\), \(\(-m[0]\) + m[1]\)},
  1948. {\(\(-m[1]\) - m[2] + 2\ m[3]\), \(m[0] - 2\ m[2] +
  1949. m[3]\), \(\(-m[1]\) - m[2] + 2\ m[3]\), \(m[0] - 2\ m[1] +
  1950. m[3]\)}
  1951. }], "\[NoBreak]", ")"}],
  1952. Function[ BoxForm`e$,
  1953. MatrixForm[ BoxForm`e$]]]], "Output"]
  1954. }, Open ]],
  1955. Cell["BBBV", "Text"],
  1956. Cell[CellGroupData[{
  1957. Cell[BoxData[
  1958. \(testedges[
  1959. reflections[
  1960. src[m[0]]*w[0] + src[m[1]]*w[1] +
  1961. src[u[2]*m[2] + u[1]*m[3]]*u[3]]] // MatrixForm\)], "Input"],
  1962. Cell[BoxData[
  1963. TagBox[
  1964. RowBox[{"(", "\[NoBreak]", GridBox[{
  1965. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1966. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1967. i\ src[m[1]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[0]] +
  1968. i\ src[m[1]]\), \(src[m[0] - i\ m[0] + i\ m[1]]\)},
  1969. {\(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1970. j\ src[m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1971. j\ src[m[3]]\), \(src[
  1972. m[1] - j\ m[1] +
  1973. j\ m[3]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[1]] +
  1974. j\ src[m[3]]\)},
  1975. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] + j\ src[m[2]]\), \(src[
  1976. m[0] - j\ m[0] +
  1977. j\ m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1978. j\ src[m[2]]\), \(\(-\((\(-1\) + j)\)\)\ src[m[0]] +
  1979. j\ src[m[2]]\)},
  1980. {\(src[
  1981. m[2] - i\ m[2] +
  1982. i\ m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1983. i\ src[m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1984. i\ src[m[3]]\), \(\(-\((\(-1\) + i)\)\)\ src[m[2]] +
  1985. i\ src[m[3]]\)}
  1986. }], "\[NoBreak]", ")"}],
  1987. Function[ BoxForm`e$,
  1988. MatrixForm[ BoxForm`e$]]]], "Output"]
  1989. }, Open ]],
  1990. Cell[CellGroupData[{
  1991. Cell[BoxData[
  1992. \(deltas[u[2]*m[2] + u[1]*m[3]] // MatrixForm\)], "Input"],
  1993. Cell[BoxData[
  1994. TagBox[
  1995. RowBox[{"(", "\[NoBreak]", GridBox[{
  1996. {\(m[2]\), \(m[0]\), \(m[1]\), \(m[0]\)},
  1997. {\(\(-m[2]\) + m[3]\), "0", "0", \(\(-m[0]\) + m[1]\)},
  1998. {"0", \(\(-m[0]\) + m[2]\), \(\(-m[1]\) + m[3]\), "0"},
  1999. {"0", "0", "0", "0"}
  2000. }], "\[NoBreak]", ")"}],
  2001. Function[ BoxForm`e$,
  2002. MatrixForm[ BoxForm`e$]]]], "Output"]
  2003. }, Open ]],
  2004. Cell["BBBB", "Text"],
  2005. Cell[CellGroupData[{
  2006. Cell[BoxData[
  2007. \(testedges[
  2008. src[m[0]]*w[0] + src[m[1]]*w[1] + src[m[2]]*w[2] + src[m[3]]*w[3]] //
  2009. MatrixForm\)], "Input"],
  2010. Cell[BoxData[
  2011. InterpretationBox[
  2012. RowBox[{"(", "\[NoBreak]", GridBox[{
  2013. {\(\(-\((\(-1\) + i)\)\)\ src[m[0]] + i\ src[m[1]]\)},
  2014. {\(\(-\((\(-1\) + j)\)\)\ src[m[1]] + j\ src[m[3]]\)},
  2015. {\(\(-\((\(-1\) + j)\)\)\ src[m[0]] + j\ src[m[2]]\)},
  2016. {\(\(-\((\(-1\) + i)\)\)\ src[m[2]] + i\ src[m[3]]\)}
  2017. }], "\[NoBreak]", ")"}],
  2018. MatrixForm[ {
  2019. Plus[
  2020. Times[ -1,
  2021. Plus[ -1, i],
  2022. src[
  2023. m[ 0]]],
  2024. Times[ i,
  2025. src[
  2026. m[ 1]]]],
  2027. Plus[
  2028. Times[ -1,
  2029. Plus[ -1, j],
  2030. src[
  2031. m[ 1]]],
  2032. Times[ j,
  2033. src[
  2034. m[ 3]]]],
  2035. Plus[
  2036. Times[ -1,
  2037. Plus[ -1, j],
  2038. src[
  2039. m[ 0]]],
  2040. Times[ j,
  2041. src[
  2042. m[ 2]]]],
  2043. Plus[
  2044. Times[ -1,
  2045. Plus[ -1, i],
  2046. src[
  2047. m[ 2]]],
  2048. Times[ i,
  2049. src[
  2050. m[ 3]]]]}]]], "Output"]
  2051. }, Open ]],
  2052. Cell[CellGroupData[{
  2053. Cell[BoxData[
  2054. \(deltas[w[0]] // MatrixForm\)], "Input"],
  2055. Cell[BoxData[
  2056. TagBox[
  2057. RowBox[{"(", "\[NoBreak]", GridBox[{
  2058. {"1", "0", "1", "0"},
  2059. {\(-1\), "1", \(-1\), "0"},
  2060. {\(-1\), "0", \(-1\), "1"},
  2061. {"1", \(-1\), "1", \(-1\)}
  2062. }], "\[NoBreak]", ")"}],
  2063. Function[ BoxForm`e$,
  2064. MatrixForm[ BoxForm`e$]]]], "Output"]
  2065. }, Open ]],
  2066. Cell[CellGroupData[{
  2067. Cell[BoxData[
  2068. \(deltas[w[1]] // MatrixForm\)], "Input"],
  2069. Cell[BoxData[
  2070. TagBox[
  2071. RowBox[{"(", "\[NoBreak]", GridBox[{
  2072. {"0", "0", "0", "0"},
  2073. {"1", "0", "0", "0"},
  2074. {"0", "0", "1", "0"},
  2075. {\(-1\), "1", \(-1\), "1"}
  2076. }], "\[NoBreak]", ")"}],
  2077. Function[ BoxForm`e$,
  2078. MatrixForm[ BoxForm`e$]]]], "Output"]
  2079. }, Open ]],
  2080. Cell[CellGroupData[{
  2081. Cell[BoxData[
  2082. \(deltas[w[2]] // MatrixForm\)], "Input"],
  2083. Cell[BoxData[
  2084. TagBox[
  2085. RowBox[{"(", "\[NoBreak]", GridBox[{
  2086. {"0", "1", "0", "1"},
  2087. {"0", \(-1\), "1", \(-1\)},
  2088. {"1", \(-1\), "0", \(-1\)},
  2089. {\(-1\), "1", \(-1\), "1"}
  2090. }], "\[NoBreak]", ")"}],
  2091. Function[ BoxForm`e$,
  2092. MatrixForm[ BoxForm`e$]]]], "Output"]
  2093. }, Open ]],
  2094. Cell[CellGroupData[{
  2095. Cell[BoxData[
  2096. \(deltas[w[3]] // MatrixForm\)], "Input"],
  2097. Cell[BoxData[
  2098. TagBox[
  2099. RowBox[{"(", "\[NoBreak]", GridBox[{
  2100. {"0", "0", "0", "0"},
  2101. {"0", "0", "0", "1"},
  2102. {"0", "1", "0", "0"},
  2103. {"1", \(-1\), "1", \(-1\)}
  2104. }], "\[NoBreak]", ")"}],
  2105. Function[ BoxForm`e$,
  2106. MatrixForm[ BoxForm`e$]]]], "Output"]
  2107. }, Open ]],
  2108. Cell["\<\
  2109. Splitting blocks: A new vertex can be added to the center of a BBBB block \
  2110. without breaking continuity with neighboring blocks by adjusting vertex \
  2111. weights as follows. This generalizes to all other block types by replacing \
  2112. vectors along vector interpolated edges with the interpolated vector, and not \
  2113. adjusting the vertex weights for that edge.\
  2114. \>", "Text"],
  2115. Cell[CellGroupData[{
  2116. Cell[BoxData[
  2117. \(Expand[
  2118. testedges[
  2119. src[m[0]]*\((w[0] + w[1]/2 + w[2]/2)\) + src[m[1]]*\((w[1]/2)\) +
  2120. src[m[2]]*w[2]/2 + src[m[4]]*w[3]]] // MatrixForm\)], "Input"],
  2121. Cell[BoxData[
  2122. InterpretationBox[
  2123. RowBox[{"(", "\[NoBreak]", GridBox[{
  2124. {\(src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ i\ src[m[1]]\)},
  2125. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[1]] -
  2126. 1\/2\ j\ src[m[1]] + j\ src[m[4]]\)},
  2127. {\(src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ j\ src[m[2]]\)},
  2128. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[2]] -
  2129. 1\/2\ i\ src[m[2]] + i\ src[m[4]]\)}
  2130. }], "\[NoBreak]", ")"}],
  2131. MatrixForm[ {
  2132. Plus[
  2133. src[
  2134. m[ 0]],
  2135. Times[
  2136. Rational[ -1, 2], i,
  2137. src[
  2138. m[ 0]]],
  2139. Times[
  2140. Rational[ 1, 2], i,
  2141. src[
  2142. m[ 1]]]],
  2143. Plus[
  2144. Times[
  2145. Rational[ 1, 2],
  2146. src[
  2147. m[ 0]]],
  2148. Times[
  2149. Rational[ -1, 2], j,
  2150. src[
  2151. m[ 0]]],
  2152. Times[
  2153. Rational[ 1, 2],
  2154. src[
  2155. m[ 1]]],
  2156. Times[
  2157. Rational[ -1, 2], j,
  2158. src[
  2159. m[ 1]]],
  2160. Times[ j,
  2161. src[
  2162. m[ 4]]]],
  2163. Plus[
  2164. src[
  2165. m[ 0]],
  2166. Times[
  2167. Rational[ -1, 2], j,
  2168. src[
  2169. m[ 0]]],
  2170. Times[
  2171. Rational[ 1, 2], j,
  2172. src[
  2173. m[ 2]]]],
  2174. Plus[
  2175. Times[
  2176. Rational[ 1, 2],
  2177. src[
  2178. m[ 0]]],
  2179. Times[
  2180. Rational[ -1, 2], i,
  2181. src[
  2182. m[ 0]]],
  2183. Times[
  2184. Rational[ 1, 2],
  2185. src[
  2186. m[ 2]]],
  2187. Times[
  2188. Rational[ -1, 2], i,
  2189. src[
  2190. m[ 2]]],
  2191. Times[ i,
  2192. src[
  2193. m[ 4]]]]}]]], "Output"]
  2194. }, Open ]],
  2195. Cell[CellGroupData[{
  2196. Cell[BoxData[
  2197. \(Expand[
  2198. testedges[
  2199. src[m[0]]*w[0]/2 + src[m[1]]*\((w[1] + w[0]/2 + w[3]/2)\) +
  2200. src[m[4]]*w[2] + src[m[3]]*w[3]/2]] // MatrixForm\)], "Input"],
  2201. Cell[BoxData[
  2202. InterpretationBox[
  2203. RowBox[{"(", "\[NoBreak]", GridBox[{
  2204. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[1]] +
  2205. 1\/2\ i\ src[m[1]]\)},
  2206. {\(src[m[1]] - 1\/2\ j\ src[m[1]] + 1\/2\ j\ src[m[3]]\)},
  2207. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[1]] -
  2208. 1\/2\ j\ src[m[1]] + j\ src[m[4]]\)},
  2209. {\(1\/2\ i\ src[m[1]] + 1\/2\ i\ src[m[3]] + src[m[4]] -
  2210. i\ src[m[4]]\)}
  2211. }], "\[NoBreak]", ")"}],
  2212. MatrixForm[ {
  2213. Plus[
  2214. Times[
  2215. Rational[ 1, 2],
  2216. src[
  2217. m[ 0]]],
  2218. Times[
  2219. Rational[ -1, 2], i,
  2220. src[
  2221. m[ 0]]],
  2222. Times[
  2223. Rational[ 1, 2],
  2224. src[
  2225. m[ 1]]],
  2226. Times[
  2227. Rational[ 1, 2], i,
  2228. src[
  2229. m[ 1]]]],
  2230. Plus[
  2231. src[
  2232. m[ 1]],
  2233. Times[
  2234. Rational[ -1, 2], j,
  2235. src[
  2236. m[ 1]]],
  2237. Times[
  2238. Rational[ 1, 2], j,
  2239. src[
  2240. m[ 3]]]],
  2241. Plus[
  2242. Times[
  2243. Rational[ 1, 2],
  2244. src[
  2245. m[ 0]]],
  2246. Times[
  2247. Rational[ -1, 2], j,
  2248. src[
  2249. m[ 0]]],
  2250. Times[
  2251. Rational[ 1, 2],
  2252. src[
  2253. m[ 1]]],
  2254. Times[
  2255. Rational[ -1, 2], j,
  2256. src[
  2257. m[ 1]]],
  2258. Times[ j,
  2259. src[
  2260. m[ 4]]]],
  2261. Plus[
  2262. Times[
  2263. Rational[ 1, 2], i,
  2264. src[
  2265. m[ 1]]],
  2266. Times[
  2267. Rational[ 1, 2], i,
  2268. src[
  2269. m[ 3]]],
  2270. src[
  2271. m[ 4]],
  2272. Times[ -1, i,
  2273. src[
  2274. m[ 4]]]]}]]], "Output"]
  2275. }, Open ]],
  2276. Cell[CellGroupData[{
  2277. Cell[BoxData[
  2278. \(Expand[
  2279. testedges[
  2280. src[m[0]]*w[0]/2 + src[m[4]]*w[1] +
  2281. src[m[2]]*\((w[2] + w[0]/2 + w[3]/2)\) + src[m[3]]*w[3]/2]] //
  2282. MatrixForm\)], "Input"],
  2283. Cell[BoxData[
  2284. InterpretationBox[
  2285. RowBox[{"(", "\[NoBreak]", GridBox[{
  2286. {\(1\/2\ src[m[0]] - 1\/2\ i\ src[m[0]] + 1\/2\ src[m[2]] -
  2287. 1\/2\ i\ src[m[2]] + i\ src[m[4]]\)},
  2288. {\(1\/2\ j\ src[m[2]] + 1\/2\ j\ src[m[3]] + src[m[4]] -
  2289. j\ src[m[4]]\)},
  2290. {\(1\/2\ src[m[0]] - 1\/2\ j\ src[m[0]] + 1\/2\ src[m[2]] +
  2291. 1\/2\ j\ src[m[2]]\)},
  2292. {\(src[m[2]] - 1\/2\ i\ src[m[2]] + 1\/2\ i\ src[m[3]]\)}
  2293. }], "\[NoBreak]", ")"}],
  2294. MatrixForm[ {
  2295. Plus[
  2296. Times[
  2297. Rational[ 1, 2],
  2298. src[
  2299. m[ 0]]],
  2300. Times[
  2301. Rational[ -1, 2], i,
  2302. src[
  2303. m[ 0]]],
  2304. Times[
  2305. Rational[ 1, 2],
  2306. src[
  2307. m[ 2]]],
  2308. Times[
  2309. Rational[ -1, 2], i,
  2310. src[
  2311. m[ 2]]],
  2312. Times[ i,
  2313. src[
  2314. m[ 4]]]],
  2315. Plus[
  2316. Times[
  2317. Rational[ 1, 2], j,
  2318. src[
  2319. m[ 2]]],
  2320. Times[
  2321. Rational[ 1, 2], j,
  2322. src[
  2323. m[ 3]]],
  2324. src[
  2325. m[ 4]],
  2326. Times[ -1, j,
  2327. src[
  2328. m[ 4]]]],
  2329. Plus[
  2330. Times[
  2331. Rational[ 1, 2],
  2332. src[
  2333. m[ 0]]],
  2334. Times[
  2335. Rational[ -1, 2], j,
  2336. src[
  2337. m[ 0]]],
  2338. Times[
  2339. Rational[ 1, 2],
  2340. src[
  2341. m[ 2]]],
  2342. Times[
  2343. Rational[ 1, 2], j,
  2344. src[
  2345. m[ 2]]]],
  2346. Plus[
  2347. src[
  2348. m[ 2]],
  2349. Times[
  2350. Rational[ -1, 2], i,
  2351. src[
  2352. m[ 2]]],
  2353. Times[
  2354. Rational[ 1, 2], i,
  2355. src[
  2356. m[ 3]]]]}]]], "Output"]
  2357. }, Open ]],
  2358. Cell[CellGroupData[{
  2359. Cell[BoxData[
  2360. \(Expand[
  2361. testedges[
  2362. src[m[4]]*w[0] + src[m[1]]*w[1]/2 + src[m[2]]*w[2]/2 +
  2363. src[m[3]]*\((w[3] + w[1]/2 + w[2]/2)\)]] // MatrixForm\)], "Input"],
  2364. Cell[BoxData[
  2365. InterpretationBox[
  2366. RowBox[{"(", "\[NoBreak]", GridBox[{
  2367. {\(1\/2\ i\ src[m[1]] + 1\/2\ i\ src[m[3]] + src[m[4]] -
  2368. i\ src[m[4]]\)},
  2369. {\(1\/2\ src[m[1]] - 1\/2\ j\ src[m[1]] + 1\/2\ src[m[3]] +
  2370. 1\/2\ j\ src[m[3]]\)},
  2371. {\(1\/2\ j\ src[m[2]] + 1\/2\ j\ src[m[3]] + src[m[4]] -
  2372. j\ src[m[4]]\)},
  2373. {\(1\/2\ src[m[2]] - 1\/2\ i\ src[m[2]] + 1\/2\ src[m[3]] +
  2374. 1\/2\ i\ src[m[3]]\)}
  2375. }], "\[NoBreak]", ")"}],
  2376. MatrixForm[ {
  2377. Plus[
  2378. Times[
  2379. Rational[ 1, 2], i,
  2380. src[
  2381. m[ 1]]],
  2382. Times[
  2383. Rational[ 1, 2], i,
  2384. src[
  2385. m[ 3]]],
  2386. src[
  2387. m[ 4]],
  2388. Times[ -1, i,
  2389. src[
  2390. m[ 4]]]],
  2391. Plus[
  2392. Times[
  2393. Rational[ 1, 2],
  2394. src[
  2395. m[ 1]]],
  2396. Times[
  2397. Rational[ -1, 2], j,
  2398. src[
  2399. m[ 1]]],
  2400. Times[
  2401. Rational[ 1, 2],
  2402. src[
  2403. m[ 3]]],
  2404. Times[
  2405. Rational[ 1, 2], j,
  2406. src[
  2407. m[ 3]]]],
  2408. Plus[
  2409. Times[
  2410. Rational[ 1, 2], j,
  2411. src[
  2412. m[ 2]]],
  2413. Times[
  2414. Rational[ 1, 2], j,
  2415. src[
  2416. m[ 3]]],
  2417. src[
  2418. m[ 4]],
  2419. Times[ -1, j,
  2420. src[
  2421. m[ 4]]]],
  2422. Plus[
  2423. Times[
  2424. Rational[ 1, 2],
  2425. src[
  2426. m[ 2]]],
  2427. Times[
  2428. Rational[ -1, 2], i,
  2429. src[
  2430. m[ 2]]],
  2431. Times[
  2432. Rational[ 1, 2],
  2433. src[
  2434. m[ 3]]],
  2435. Times[
  2436. Rational[ 1, 2], i,
  2437. src[
  2438. m[ 3]]]]}]]], "Output"]
  2439. }, Open ]]
  2440. }, Open ]]
  2441. },
  2442. FrontEndVersion->"5.0 for X",
  2443. ScreenRectangle->{{0, 1600}, {0, 1200}},
  2444. WindowSize->{502, 740},
  2445. WindowMargins->{{47, Automatic}, {161, Automatic}}
  2446. ]
  2447. (*******************************************************************
  2448. Cached data follows. If you edit this Notebook file directly, not
  2449. using Mathematica, you must remove the line containing CacheID at
  2450. the top of the file. The cache data will then be recreated when
  2451. you save this file from within Mathematica.
  2452. *******************************************************************)
  2453. (*CellTagsOutline
  2454. CellTagsIndex->{}
  2455. *)
  2456. (*CellTagsIndex
  2457. CellTagsIndex->{}
  2458. *)
  2459. (*NotebookFileOutline
  2460. Notebook[{
  2461. Cell[CellGroupData[{
  2462. Cell[1776, 53, 34, 0, 28, "Subsubsection"],
  2463. Cell[1813, 55, 217, 5, 75, "Input"],
  2464. Cell[2033, 62, 63, 1, 27, "Input"],
  2465. Cell[2099, 65, 44, 1, 27, "Input"],
  2466. Cell[2146, 68, 133, 3, 59, "Input"],
  2467. Cell[2282, 73, 66, 1, 27, "Input"],
  2468. Cell[CellGroupData[{
  2469. Cell[2373, 78, 93, 1, 43, "Input"],
  2470. Cell[2469, 81, 395, 9, 94, "Output"]
  2471. }, Open ]],
  2472. Cell[CellGroupData[{
  2473. Cell[2901, 95, 93, 1, 43, "Input"],
  2474. Cell[2997, 98, 395, 9, 94, "Output"]
  2475. }, Open ]],
  2476. Cell[CellGroupData[{
  2477. Cell[3429, 112, 93, 1, 43, "Input"],
  2478. Cell[3525, 115, 395, 9, 94, "Output"]
  2479. }, Open ]],
  2480. Cell[3935, 127, 254, 4, 59, "Input"],
  2481. Cell[4192, 133, 64, 1, 27, "Input"],
  2482. Cell[4259, 136, 54, 1, 27, "Input"],
  2483. Cell[4316, 139, 44, 1, 27, "Input"],
  2484. Cell[4363, 142, 54, 1, 27, "Input"],
  2485. Cell[4420, 145, 46, 1, 27, "Input"],
  2486. Cell[4469, 148, 42, 1, 27, "Input"],
  2487. Cell[4514, 151, 42, 1, 27, "Input"],
  2488. Cell[4559, 154, 46, 1, 27, "Input"],
  2489. Cell[4608, 157, 241, 5, 75, "Input"],
  2490. Cell[4852, 164, 63, 1, 27, "Input"],
  2491. Cell[4918, 167, 196, 3, 59, "Input"],
  2492. Cell[5117, 172, 20, 0, 32, "Text"],
  2493. Cell[CellGroupData[{
  2494. Cell[5162, 176, 115, 2, 59, "Input"],
  2495. Cell[5280, 180, 940, 36, 94, "Output"]
  2496. }, Open ]],
  2497. Cell[CellGroupData[{
  2498. Cell[6257, 221, 107, 2, 43, "Input"],
  2499. Cell[6367, 225, 643, 13, 94, "Output"]
  2500. }, Open ]],
  2501. Cell[7025, 241, 20, 0, 32, "Text"],
  2502. Cell[CellGroupData[{
  2503. Cell[7070, 245, 269, 6, 107, "Input"],
  2504. Cell[7342, 253, 1110, 23, 94, "Output"]
  2505. }, Open ]],
  2506. Cell[CellGroupData[{
  2507. Cell[8489, 281, 88, 1, 43, "Input"],
  2508. Cell[8580, 284, 549, 13, 94, "Output"]
  2509. }, Open ]],
  2510. Cell[CellGroupData[{
  2511. Cell[9166, 302, 88, 1, 43, "Input"],
  2512. Cell[9257, 305, 554, 13, 94, "Output"]
  2513. }, Open ]],
  2514. Cell[CellGroupData[{
  2515. Cell[9848, 323, 107, 2, 43, "Input"],
  2516. Cell[9958, 327, 643, 13, 94, "Output"]
  2517. }, Open ]],
  2518. Cell[10616, 343, 20, 0, 32, "Text"],
  2519. Cell[CellGroupData[{
  2520. Cell[10661, 347, 167, 4, 59, "Input"],
  2521. Cell[10831, 353, 1251, 27, 94, "Output"]
  2522. }, Open ]],
  2523. Cell[CellGroupData[{
  2524. Cell[12119, 385, 76, 1, 27, "Input"],
  2525. Cell[12198, 388, 398, 9, 94, "Output"]
  2526. }, Open ]],
  2527. Cell[CellGroupData[{
  2528. Cell[12633, 402, 76, 1, 27, "Input"],
  2529. Cell[12712, 405, 398, 9, 94, "Output"]
  2530. }, Open ]],
  2531. Cell[13125, 417, 20, 0, 32, "Text"],
  2532. Cell[CellGroupData[{
  2533. Cell[13170, 421, 288, 6, 107, "Input"],
  2534. Cell[13461, 429, 1194, 24, 94, "Output"]
  2535. }, Open ]],
  2536. Cell[CellGroupData[{
  2537. Cell[14692, 458, 89, 1, 27, "Input"],
  2538. Cell[14784, 461, 473, 10, 94, "Output"]
  2539. }, Open ]],
  2540. Cell[CellGroupData[{
  2541. Cell[15294, 476, 107, 2, 43, "Input"],
  2542. Cell[15404, 480, 643, 13, 94, "Output"]
  2543. }, Open ]],
  2544. Cell[CellGroupData[{
  2545. Cell[16084, 498, 89, 1, 27, "Input"],
  2546. Cell[16176, 501, 468, 10, 94, "Output"]
  2547. }, Open ]],
  2548. Cell[16659, 514, 20, 0, 32, "Text"],
  2549. Cell[CellGroupData[{
  2550. Cell[16704, 518, 240, 5, 75, "Input"],
  2551. Cell[16947, 525, 1282, 25, 94, "Output"]
  2552. }, Open ]],
  2553. Cell[CellGroupData[{
  2554. Cell[18266, 555, 89, 1, 27, "Input"],
  2555. Cell[18358, 558, 473, 10, 94, "Output"]
  2556. }, Open ]],
  2557. Cell[CellGroupData[{
  2558. Cell[18868, 573, 89, 1, 27, "Input"],
  2559. Cell[18960, 576, 468, 10, 94, "Output"]
  2560. }, Open ]],
  2561. Cell[19443, 589, 20, 0, 32, "Text"],
  2562. Cell[CellGroupData[{
  2563. Cell[19488, 593, 139, 3, 43, "Input"],
  2564. Cell[19630, 598, 1091, 40, 94, "Output"]
  2565. }, Open ]],
  2566. Cell[CellGroupData[{
  2567. Cell[20758, 643, 59, 1, 27, "Input"],
  2568. Cell[20820, 646, 327, 9, 94, "Output"]
  2569. }, Open ]],
  2570. Cell[21162, 658, 374, 6, 104, "Text"],
  2571. Cell[CellGroupData[{
  2572. Cell[21561, 668, 198, 4, 75, "Input"],
  2573. Cell[21762, 674, 1918, 72, 113, "Output"]
  2574. }, Open ]],
  2575. Cell[CellGroupData[{
  2576. Cell[23717, 751, 192, 4, 91, "Input"],
  2577. Cell[23912, 757, 1937, 73, 113, "Output"]
  2578. }, Open ]],
  2579. Cell[CellGroupData[{
  2580. Cell[25886, 835, 199, 5, 75, "Input"],
  2581. Cell[26088, 842, 1937, 73, 113, "Output"]
  2582. }, Open ]],
  2583. Cell[CellGroupData[{
  2584. Cell[28062, 920, 192, 4, 91, "Input"],
  2585. Cell[28257, 926, 1956, 74, 113, "Output"]
  2586. }, Open ]],
  2587. Cell[CellGroupData[{
  2588. Cell[30250, 1005, 59, 1, 27, "Input"],
  2589. Cell[30312, 1008, 321, 9, 81, "Output"]
  2590. }, Open ]],
  2591. Cell[CellGroupData[{
  2592. Cell[30670, 1022, 68, 1, 27, "Input"],
  2593. Cell[30741, 1025, 383, 9, 113, "Output"]
  2594. }, Open ]],
  2595. Cell[CellGroupData[{
  2596. Cell[31161, 1039, 68, 1, 27, "Input"],
  2597. Cell[31232, 1042, 383, 9, 113, "Output"]
  2598. }, Open ]],
  2599. Cell[CellGroupData[{
  2600. Cell[31652, 1056, 68, 1, 27, "Input"],
  2601. Cell[31723, 1059, 383, 9, 113, "Output"]
  2602. }, Open ]],
  2603. Cell[CellGroupData[{
  2604. Cell[32143, 1073, 68, 1, 27, "Input"],
  2605. Cell[32214, 1076, 383, 9, 113, "Output"]
  2606. }, Open ]],
  2607. Cell[CellGroupData[{
  2608. Cell[32634, 1090, 59, 1, 27, "Input"],
  2609. Cell[32696, 1093, 321, 9, 81, "Output"]
  2610. }, Open ]],
  2611. Cell[CellGroupData[{
  2612. Cell[33054, 1107, 68, 1, 27, "Input"],
  2613. Cell[33125, 1110, 383, 9, 113, "Output"]
  2614. }, Open ]],
  2615. Cell[CellGroupData[{
  2616. Cell[33545, 1124, 68, 1, 27, "Input"],
  2617. Cell[33616, 1127, 383, 9, 113, "Output"]
  2618. }, Open ]],
  2619. Cell[CellGroupData[{
  2620. Cell[34036, 1141, 68, 1, 27, "Input"],
  2621. Cell[34107, 1144, 383, 9, 113, "Output"]
  2622. }, Open ]],
  2623. Cell[CellGroupData[{
  2624. Cell[34527, 1158, 68, 1, 27, "Input"],
  2625. Cell[34598, 1161, 383, 9, 113, "Output"]
  2626. }, Open ]],
  2627. Cell[CellGroupData[{
  2628. Cell[35018, 1175, 225, 4, 91, "Input"],
  2629. Cell[35246, 1181, 611, 13, 166, "Output"]
  2630. }, Open ]],
  2631. Cell[35872, 1197, 214, 4, 68, "Text"],
  2632. Cell[CellGroupData[{
  2633. Cell[36111, 1205, 259, 5, 91, "Input"],
  2634. Cell[36373, 1212, 611, 13, 166, "Output"]
  2635. }, Open ]],
  2636. Cell[CellGroupData[{
  2637. Cell[37021, 1230, 259, 5, 91, "Input"],
  2638. Cell[37283, 1237, 611, 13, 166, "Output"]
  2639. }, Open ]],
  2640. Cell[CellGroupData[{
  2641. Cell[37931, 1255, 270, 5, 107, "Input"],
  2642. Cell[38204, 1262, 611, 13, 166, "Output"]
  2643. }, Open ]],
  2644. Cell[CellGroupData[{
  2645. Cell[38852, 1280, 256, 5, 91, "Input"],
  2646. Cell[39111, 1287, 395, 9, 94, "Output"]
  2647. }, Open ]],
  2648. Cell[CellGroupData[{
  2649. Cell[39543, 1301, 256, 5, 91, "Input"],
  2650. Cell[39802, 1308, 395, 9, 94, "Output"]
  2651. }, Open ]],
  2652. Cell[CellGroupData[{
  2653. Cell[40234, 1322, 267, 5, 91, "Input"],
  2654. Cell[40504, 1329, 395, 9, 94, "Output"]
  2655. }, Open ]],
  2656. Cell[CellGroupData[{
  2657. Cell[40936, 1343, 256, 5, 91, "Input"],
  2658. Cell[41195, 1350, 287, 7, 58, "Output"]
  2659. }, Open ]],
  2660. Cell[CellGroupData[{
  2661. Cell[41519, 1362, 256, 5, 91, "Input"],
  2662. Cell[41778, 1369, 287, 7, 58, "Output"]
  2663. }, Open ]],
  2664. Cell[CellGroupData[{
  2665. Cell[42102, 1381, 267, 5, 91, "Input"],
  2666. Cell[42372, 1388, 287, 7, 58, "Output"]
  2667. }, Open ]],
  2668. Cell[CellGroupData[{
  2669. Cell[42696, 1400, 256, 5, 91, "Input"],
  2670. Cell[42955, 1407, 451, 13, 166, "Output"]
  2671. }, Open ]],
  2672. Cell[CellGroupData[{
  2673. Cell[43443, 1425, 256, 5, 91, "Input"],
  2674. Cell[43702, 1432, 451, 13, 166, "Output"]
  2675. }, Open ]],
  2676. Cell[CellGroupData[{
  2677. Cell[44190, 1450, 267, 5, 107, "Input"],
  2678. Cell[44460, 1457, 451, 13, 166, "Output"]
  2679. }, Open ]],
  2680. Cell[CellGroupData[{
  2681. Cell[44948, 1475, 253, 5, 91, "Input"],
  2682. Cell[45204, 1482, 315, 9, 94, "Output"]
  2683. }, Open ]],
  2684. Cell[CellGroupData[{
  2685. Cell[45556, 1496, 253, 5, 91, "Input"],
  2686. Cell[45812, 1503, 315, 9, 94, "Output"]
  2687. }, Open ]],
  2688. Cell[CellGroupData[{
  2689. Cell[46164, 1517, 264, 5, 91, "Input"],
  2690. Cell[46431, 1524, 315, 9, 94, "Output"]
  2691. }, Open ]],
  2692. Cell[CellGroupData[{
  2693. Cell[46783, 1538, 253, 5, 91, "Input"],
  2694. Cell[47039, 1545, 247, 7, 58, "Output"]
  2695. }, Open ]],
  2696. Cell[CellGroupData[{
  2697. Cell[47323, 1557, 253, 5, 91, "Input"],
  2698. Cell[47579, 1564, 247, 7, 58, "Output"]
  2699. }, Open ]],
  2700. Cell[CellGroupData[{
  2701. Cell[47863, 1576, 264, 5, 91, "Input"],
  2702. Cell[48130, 1583, 247, 7, 58, "Output"]
  2703. }, Open ]],
  2704. Cell[CellGroupData[{
  2705. Cell[48414, 1595, 256, 5, 91, "Input"],
  2706. Cell[48673, 1602, 371, 13, 166, "Output"]
  2707. }, Open ]],
  2708. Cell[CellGroupData[{
  2709. Cell[49081, 1620, 256, 5, 91, "Input"],
  2710. Cell[49340, 1627, 371, 13, 166, "Output"]
  2711. }, Open ]],
  2712. Cell[CellGroupData[{
  2713. Cell[49748, 1645, 267, 5, 107, "Input"],
  2714. Cell[50018, 1652, 371, 13, 166, "Output"]
  2715. }, Open ]],
  2716. Cell[CellGroupData[{
  2717. Cell[50426, 1670, 253, 5, 91, "Input"],
  2718. Cell[50682, 1677, 275, 9, 94, "Output"]
  2719. }, Open ]],
  2720. Cell[CellGroupData[{
  2721. Cell[50994, 1691, 253, 5, 91, "Input"],
  2722. Cell[51250, 1698, 275, 9, 94, "Output"]
  2723. }, Open ]],
  2724. Cell[CellGroupData[{
  2725. Cell[51562, 1712, 264, 5, 91, "Input"],
  2726. Cell[51829, 1719, 275, 9, 94, "Output"]
  2727. }, Open ]],
  2728. Cell[CellGroupData[{
  2729. Cell[52141, 1733, 253, 5, 91, "Input"],
  2730. Cell[52397, 1740, 227, 7, 58, "Output"]
  2731. }, Open ]],
  2732. Cell[CellGroupData[{
  2733. Cell[52661, 1752, 253, 5, 91, "Input"],
  2734. Cell[52917, 1759, 227, 7, 58, "Output"]
  2735. }, Open ]],
  2736. Cell[CellGroupData[{
  2737. Cell[53181, 1771, 264, 5, 91, "Input"],
  2738. Cell[53448, 1778, 227, 7, 58, "Output"]
  2739. }, Open ]]
  2740. }, Open ]],
  2741. Cell[CellGroupData[{
  2742. Cell[53724, 1791, 36, 0, 28, "Subsubsection"],
  2743. Cell[53763, 1793, 90, 1, 27, "Input"],
  2744. Cell[53856, 1796, 90, 1, 27, "Input"],
  2745. Cell[53949, 1799, 208, 5, 75, "Input"],
  2746. Cell[54160, 1806, 62, 1, 27, "Input"],
  2747. Cell[54225, 1809, 44, 1, 27, "Input"],
  2748. Cell[CellGroupData[{
  2749. Cell[54294, 1814, 192, 4, 75, "Input"],
  2750. Cell[54489, 1820, 359, 5, 46, "Message"]
  2751. }, Open ]],
  2752. Cell[54863, 1828, 63, 1, 27, "Input"],
  2753. Cell[54929, 1831, 121, 2, 59, "Input"],
  2754. Cell[55053, 1835, 68, 1, 27, "Input"],
  2755. Cell[CellGroupData[{
  2756. Cell[55146, 1840, 102, 2, 43, "Input"],
  2757. Cell[55251, 1844, 395, 9, 81, "Output"]
  2758. }, Open ]],
  2759. Cell[CellGroupData[{
  2760. Cell[55683, 1858, 102, 2, 43, "Input"],
  2761. Cell[55788, 1862, 395, 9, 81, "Output"]
  2762. }, Open ]],
  2763. Cell[CellGroupData[{
  2764. Cell[56220, 1876, 102, 2, 43, "Input"],
  2765. Cell[56325, 1880, 395, 9, 81, "Output"]
  2766. }, Open ]],
  2767. Cell[56735, 1892, 254, 4, 59, "Input"],
  2768. Cell[56992, 1898, 64, 1, 27, "Input"],
  2769. Cell[57059, 1901, 54, 1, 27, "Input"],
  2770. Cell[57116, 1904, 54, 1, 27, "Input"],
  2771. Cell[57173, 1907, 44, 1, 27, "Input"],
  2772. Cell[57220, 1910, 46, 1, 27, "Input"],
  2773. Cell[57269, 1913, 42, 1, 27, "Input"],
  2774. Cell[57314, 1916, 46, 1, 27, "Input"],
  2775. Cell[57363, 1919, 42, 1, 27, "Input"],
  2776. Cell[CellGroupData[{
  2777. Cell[57430, 1924, 70, 1, 27, "Input"],
  2778. Cell[57503, 1927, 147, 2, 43, "Output"]
  2779. }, Open ]],
  2780. Cell[57665, 1932, 249, 5, 75, "Input"],
  2781. Cell[57917, 1939, 63, 1, 27, "Input"],
  2782. Cell[57983, 1942, 193, 3, 59, "Input"],
  2783. Cell[58179, 1947, 20, 0, 32, "Text"],
  2784. Cell[CellGroupData[{
  2785. Cell[58224, 1951, 115, 2, 59, "Input"],
  2786. Cell[58342, 1955, 940, 36, 81, "Output"]
  2787. }, Open ]],
  2788. Cell[CellGroupData[{
  2789. Cell[59319, 1996, 107, 2, 43, "Input"],
  2790. Cell[59429, 2000, 643, 13, 81, "Output"]
  2791. }, Open ]],
  2792. Cell[60087, 2016, 20, 0, 32, "Text"],
  2793. Cell[CellGroupData[{
  2794. Cell[60132, 2020, 200, 5, 91, "Input"],
  2795. Cell[60335, 2027, 1111, 23, 81, "Output"]
  2796. }, Open ]],
  2797. Cell[CellGroupData[{
  2798. Cell[61483, 2055, 88, 1, 43, "Input"],
  2799. Cell[61574, 2058, 559, 13, 81, "Output"]
  2800. }, Open ]],
  2801. Cell[CellGroupData[{
  2802. Cell[62170, 2076, 88, 1, 43, "Input"],
  2803. Cell[62261, 2079, 554, 13, 81, "Output"]
  2804. }, Open ]],
  2805. Cell[62830, 2095, 20, 0, 32, "Text"],
  2806. Cell[CellGroupData[{
  2807. Cell[62875, 2099, 169, 4, 59, "Input"],
  2808. Cell[63047, 2105, 1219, 25, 81, "Output"]
  2809. }, Open ]],
  2810. Cell[CellGroupData[{
  2811. Cell[64303, 2135, 76, 1, 27, "Input"],
  2812. Cell[64382, 2138, 403, 9, 81, "Output"]
  2813. }, Open ]],
  2814. Cell[CellGroupData[{
  2815. Cell[64822, 2152, 76, 1, 27, "Input"],
  2816. Cell[64901, 2155, 403, 9, 81, "Output"]
  2817. }, Open ]],
  2818. Cell[65319, 2167, 20, 0, 32, "Text"],
  2819. Cell[CellGroupData[{
  2820. Cell[65364, 2171, 265, 6, 107, "Input"],
  2821. Cell[65632, 2179, 1200, 24, 81, "Output"]
  2822. }, Open ]],
  2823. Cell[CellGroupData[{
  2824. Cell[66869, 2208, 76, 1, 27, "Input"],
  2825. Cell[66948, 2211, 403, 9, 81, "Output"]
  2826. }, Open ]],
  2827. Cell[CellGroupData[{
  2828. Cell[67388, 2225, 76, 1, 27, "Input"],
  2829. Cell[67467, 2228, 403, 9, 81, "Output"]
  2830. }, Open ]],
  2831. Cell[CellGroupData[{
  2832. Cell[67907, 2242, 108, 2, 43, "Input"],
  2833. Cell[68018, 2246, 617, 13, 81, "Output"]
  2834. }, Open ]],
  2835. Cell[68650, 2262, 20, 0, 32, "Text"],
  2836. Cell[CellGroupData[{
  2837. Cell[68695, 2266, 169, 4, 59, "Input"],
  2838. Cell[68867, 2272, 1306, 26, 81, "Output"]
  2839. }, Open ]],
  2840. Cell[CellGroupData[{
  2841. Cell[70210, 2303, 76, 1, 27, "Input"],
  2842. Cell[70289, 2306, 403, 9, 81, "Output"]
  2843. }, Open ]],
  2844. Cell[70707, 2318, 20, 0, 32, "Text"],
  2845. Cell[CellGroupData[{
  2846. Cell[70752, 2322, 139, 3, 43, "Input"],
  2847. Cell[70894, 2327, 1096, 40, 81, "Output"]
  2848. }, Open ]],
  2849. Cell[CellGroupData[{
  2850. Cell[72027, 2372, 59, 1, 27, "Input"],
  2851. Cell[72089, 2375, 333, 9, 81, "Output"]
  2852. }, Open ]],
  2853. Cell[CellGroupData[{
  2854. Cell[72459, 2389, 59, 1, 27, "Input"],
  2855. Cell[72521, 2392, 321, 9, 81, "Output"]
  2856. }, Open ]],
  2857. Cell[CellGroupData[{
  2858. Cell[72879, 2406, 59, 1, 27, "Input"],
  2859. Cell[72941, 2409, 333, 9, 81, "Output"]
  2860. }, Open ]],
  2861. Cell[CellGroupData[{
  2862. Cell[73311, 2423, 59, 1, 27, "Input"],
  2863. Cell[73373, 2426, 321, 9, 81, "Output"]
  2864. }, Open ]],
  2865. Cell[73709, 2438, 374, 6, 104, "Text"],
  2866. Cell[CellGroupData[{
  2867. Cell[74108, 2448, 198, 4, 75, "Input"],
  2868. Cell[74309, 2454, 1918, 72, 113, "Output"]
  2869. }, Open ]],
  2870. Cell[CellGroupData[{
  2871. Cell[76264, 2531, 192, 4, 91, "Input"],
  2872. Cell[76459, 2537, 1937, 73, 113, "Output"]
  2873. }, Open ]],
  2874. Cell[CellGroupData[{
  2875. Cell[78433, 2615, 199, 5, 75, "Input"],
  2876. Cell[78635, 2622, 1937, 73, 113, "Output"]
  2877. }, Open ]],
  2878. Cell[CellGroupData[{
  2879. Cell[80609, 2700, 192, 4, 91, "Input"],
  2880. Cell[80804, 2706, 1956, 74, 113, "Output"]
  2881. }, Open ]]
  2882. }, Open ]]
  2883. }
  2884. ]
  2885. *)
  2886. (*******************************************************************
  2887. End of Mathematica Notebook file.
  2888. *******************************************************************)