(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 20479, 703]*) (*NotebookOutlinePosition[ 21534, 739]*) (* CellTagsIndexPosition[ 21490, 735]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{Cell[TextData[ "Functions Introduction and Examples"], "Title", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["Brett van de Sande\nMarch 18, 1992"], "Subsubtitle", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Functions.m is a general purpose package centered around the function \n\ ipoly[f,x,a,b] which integrates f over an arbitrary polytope with finite \ volume. \nIt includes routines for linear coordinate transforms, handling \ delta functions, \nmoving the integration to the inside or outside of an \ expression and evaluating \nthe integral for some or all of the coordinates. \ The polytope is described by \nthe J inequalities a.x<=b where x is the n \ dimensional coordinate vector, a is a \nJ by n matrix and b is a J-vector. \ (ipoly, transform, translate, rotate, \nipolyexpand, ipolyfactor, delta Big, \ showpoly, TestValue and convert)\n\nIn the same manner, it defines the \ summation function sum[?] which works like \nSum[?]. It includes routines \ for handling Kronecker delta functions and moving \nthe summation to the \ inside or outside of expressions and evaluating the \nsummation for some or \ all of the coordinates. (sum, sumexpand, sumfactor, \ndelta, and convert)\n\n\ The complex conjugate operator is extended to handle algebraic expressions \ and a \nnormal ordering operator NormalOrder is defined. (NormalOrder)\n\n\ There are also rules for expanding expressions involving Dot and \n\ NonCommutativeMultiply. The trace of a matrix is defined. (Dotexpand, \n\ timesexpand, trace, CnumberQ, ScalarQ)"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "I am a graduate student in the Ohio State University department of physics \ where \nI am specializing in Quantum Field theory. I wrote this package to \ help with \nsome rather long algebraic calculations in Light Cone QCD. \ Although, this \npackage provides a mathematical framework for defining the \ physical theory, none \nof the physics itself has been included.\nI may be \ contacted by E-mail at vandesande@ohstpy or by phone at 614 292 0556."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["<True], Cell[CellGroupData[{Cell[TextData["Extensions to Replace and ReplaceRepeated"], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Define a rule that is automatically associated with Plus for the purposes of \ \npattern matching. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["rule=g[a_]+g[b_]:>g[a+b];\n"], "Input", AspectRatioFixed->True], Cell[TextData[ "When the rule is used, Mma tries to apply the rule to all occurances of \ Plus, \ntaking a large amount of time for large expressions:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["tt=Sum[g[h[i]],{i,1,250}];\nTiming[tt//.rule;]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ {8.4*Second, Null}\ \>", "\<\ {8.4 Second, Null}\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "Using the extension to ReplaceRepeated applies the rule only to expressions \ \ncontaining g as a subexpression, using much less time:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["Timing[tt//.(rule,g);]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ {0.5666666666666666*Second, Null}\ \>", "\<\ {0.566667 Second, Null}\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "An example where this is a real time saver is in the application of \ sumfactor or \nipolyfactor to very large expressions."], "Text", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[CellGroupData[{Cell[TextData["Extensions to inequalities and Sign"], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Use TestValue do define a numerical value for various quantities. "], "Text",\ Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "f/:TestValue[f]=1;\ng/:TestValue[g]=2;\nh/:TestValue[h]=-3/2;"], "Input", AspectRatioFixed->True], Cell[TextData[ "When an inequality or Sign is evaluated, the TestValue of any symbols are \ used."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["f<=2-g"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ False\ \>", "\<\ False\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[CellGroupData[{Cell[TextData["f hTrue], Cell[OutputFormData["\<\ True\ \>", "\<\ True\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[CellGroupData[{Cell[TextData["Sign[f+g+h]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ 1\ \>", "\<\ 1\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "The expression is left unevaluated if TestValue does not return a number."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["iTrue], Cell[OutputFormData["\<\ i < h\ \>", "\<\ i < h\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "This can be quite useful for integrations which use Sign internally"], "Text",\ Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["Integrate[1/(x^2+h),x]"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ (-I/2*Log[(-I*h^(1/2) + x)/(I*h^(1/2) + x)])/h^(1/2)\ \>", "\<\ -I -I Sqrt[h] + x -- Log[--------------] 2 I Sqrt[h] + x ---------------------- Sqrt[h]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[CellGroupData[{Cell[TextData["Integrate[1/(x^2+g),x]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ArcTan[x/g^(1/2)]/g^(1/2)\ \>", "\<\ x ArcTan[-------] Sqrt[g] --------------- Sqrt[g]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData["Integrate over polytopes"], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Define a polytope; the inequalities must use LessEqual and be linear in the \ \ncoordinates. The output form does not display the limits explicitly."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData[ "ipoly[\n\ta f[x,y] delta[2 x-y]+g[x,y],\n\t{x,y},\n\t{0<=x,x<=1-y,-1<=y,x+2 \ y<=2}\n]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[a*delta[2*x - y]*f[x, y] + g[x, y], {x, y}, {{-1, 0}, {1, 1}, {0, -1}}, {0, 1, 1}]\ \>", "\<\ ipoly[a delta[2 x - y] f[x, y] + g[x, y], {x, y}, ..]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "Use showpoly to see the inequalities that define the polytope. Note that \ any \nunneeded inequalities are removed."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["showpoly[%]"], "Input", AspectRatioFixed->True], Cell[TextData["Hold[{-x <= 0, x + y <= 1, -y <= 1}]"], "Print", Evaluatable->False, AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[a*delta[2*x - y]*f[x, y] + g[x, y], {x, y}, {{-1, 0}, {1, 1}, {0, -1}}, {0, 1, 1}]\ \>", "\<\ ipoly[a delta[2 x - y] f[x, y] + g[x, y], {x, y}, ..]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData["Use transform to make a linear coordinate transform"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["transform[%,{x+y,x/2-y/2}]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[a*delta[-(x/2 - y) + 2*(x/2 + y)]* f[x/2 + y, x/2 - y] + g[x/2 + y, x/2 - y], {x, y}, {{-1/2, -1}, {1, 0}, {-1/2, 1}}, {0, 1, 1}]\ \>", "\<\ x x x x ipoly[a delta[-(- - y) + 2 (- + y)] f[- + y, - - y] + 2 2 2 2 x x > g[- + y, - - y], {x, y}, ..] 2 2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "ipolyexpand moves ipoly to the inside of an expression as much as possible, \ \nremoving delta functions. It can also handle expressions involving \n\ NonCommutativeMultiply and Dot."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["%//.ipolyexpand"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ 2*a*ipoly[f[-2*y, -4*y], {y}, {{2}, {-6}}, {0, 1}] + ipoly[g[x/2 + y, x/2 - y], {x, y}, {{-1/2, -1}, {1, 0}, {-1/2, 1}}, {0, 1, 1}]\ \>", "\<\ 2 a ipoly[f[-2 y, -4 y], {y}, ..] + x x > ipoly[g[- + y, - - y], {x, y}, ..] 2 2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "ipolyfactor moves ipoly to the outside of the expression as much as \ possible. \nIt can also handle expressions involving NonCommutativeMultiply \ and Dot. Use \n%//.(ipolyfactor,ipoly) for very large expressions."], "Text",\ Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["%//.ipolyfactor"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ ipoly[2*a*f[-2*y, -4*y], {y}, {{-6}, {2}}, {1, 0}] + ipoly[g[x/2 + y, x/2 - y], {x, y}, {{-1/2, -1}, {-1/2, 1}, {1, 0}}, {0, 1, 1}]\ \>", "\<\ ipoly[2 a f[-2 y, -4 y], {y}, ..] + x x > ipoly[g[- + y, - - y], {x, y}, ..] 2 2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "convert converts some or all of the coordinates to a format suitable for the \ \ninternal function Integrate."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["convert[%[[2]],Integrate,{2}]"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ ipoly[Integrate[g[x/2 + y, x/2 - y], {y, -x/2, 1 + x/2}], {x}, {{1}, {-1}}, {1, 1}]\ \>", "\<\ x x -x x ipoly[Integrate[g[- + y, - - y], {y, --, 1 + -}], {x}, ..] 2 2 2 2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "Using Big, one can define integrals from -Infinity to Infinity. Any symbol \ used \nin defining the polytope (such as bb below) must have a TestValue \ assigned to \nit:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData[ "bb/:TestValue[bb]=5;\nipoly[\n\tf[p,q] Exp[I k c(p-q)],\n\t{p,q,k},\n\t\ {0<=p,0<=q,p+q<=2 bb-1,k<=Big,-Big<=k}\n]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[E^(I*c*k*(p - q))*f[p, q], {p, q, k}, {{-1, 0, 0}, {0, -1, 0}, {1, 1, 0}, {0, 0, 1}, {0, 0, -1}}, {0, 0, -(1 - 2*bb), Big, Big}]\ \>", "\<\ I c k (p - q) ipoly[E f[p, q], {p, q, k}, ..]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "Dirac delta functions are produced in the correct manner,"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["convert[%,Integrate,{3}]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[2*Pi*delta[c*p - c*q]*f[p, q], {p, q}, {{-1, 0}, {0, -1}, {1, 1}}, {0, 0, -(1 - 2*bb)}]\ \>", "\<\ ipoly[2 Pi delta[c p - c q] f[p, q], {p, q}, ..]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData["ipolyfactor also combines various products of ipoly,"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData[ "ipoly[f[x],{x},{0<=x,x<=1}]*\nipoly[g[x],{x},{1<=x,x<=2}]//.ipolyfactor"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ ipoly[f[xis1]*g[x], {xis1, x}, {{-1, 0}, {0, -1}, {0, 1}, {1, 0}}, {0, -1, 2, 1}]\ \>", "\<\ ipoly[f[xis1] g[x], {xis1, x}, ..]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData["Summations"], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["sum evaluates the summations from left to right."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData[ "sum[\n\tg[i,j,k]+a delta[i,j] f[i,j,k],\n\t{i,1,k},{j,1,k},{k,1,5}\n]"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ sum[a*delta[i, j]*f[i, j, k] + g[i, j, k], {i, 1, k}, {j, 1, k}, {k, 1, 5}]\ \>", "\<\ sum[a delta[i, j] f[i, j, k] + g[i, j, k], {i, 1, k}, > {j, 1, k}, {k, 1, 5}]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "ipolyexpand moves ipoly to the inside of an expression as much as possible, \ \nremoving Kronecker delta functions. It can also handle expressions \ involving \nNonCommutativeMultiply and Dot. It handles only the simplest \ delta functions."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["%//.sumexpand"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ a*sum[f[j, j, k], {j, 1, k}, {k, 1, 5}] + sum[g[i, j, k], {i, 1, k}, {j, 1, k}, {k, 1, 5}]\ \>", "\<\ a sum[f[j, j, k], {j, 1, k}, {k, 1, 5}] + > sum[g[i, j, k], {i, 1, k}, {j, 1, k}, {k, 1, 5}]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "ipolyfactor moves ipoly to the outside of the expression as much as \ possible. \nIt can also handle expressions involving NonCommutativeMultiply \ and Dot. Use \n%//.(sumfactor,sum) for very large expressions."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["%//.sumfactor"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ sum[a*f[j, j, k], {j, 1, k}, {k, 1, 5}] + sum[g[i, j, k], {i, 1, k}, {j, 1, k}, {k, 1, 5}]\ \>", "\<\ sum[a f[j, j, k], {j, 1, k}, {k, 1, 5}] + > sum[g[i, j, k], {i, 1, k}, {j, 1, k}, {k, 1, 5}]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData[ "convert converts some or all of the coordinates to a format suitable for the \ \ninternal function Sum."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["convert[%[[2]],Sum,{2}]"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ sum[Sum[g[i, j, k], {j, 1, k}], {i, 1, k}, {k, 1, 5}]\ \>", "\<\ sum[Sum[g[i, j, k], {j, 1, k}], {i, 1, k}, {k, 1, 5}]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData["sumfactor also combines various products of sums."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["sum[f[i],{i,1,3,1/2}] sum[g[i],{i,2,5}]/.sumfactor"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ sum[f[iis1]*g[i], {iis1, 1, 3, 1/2}, {i, 2, 5}]\ \>", "\<\ 1 sum[f[iis1] g[i], {iis1, 1, 3, -}, {i, 2, 5}] 2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData["Manupulating non-commutative symbols"], "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["Define some symbols to be noncommutative:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "c1/:CnumberQ[c1]=False;\nc2/:CnumberQ[c2]=False;\nc3/:CnumberQ[c3]=False;"], "Input", AspectRatioFixed->True], Cell[TextData[ "timesexpand will simplify expressions involving NonCommutativeMultiply"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["(2 c1)**(c1+c2**a**c3)**c1//.timesexpand"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ 2*(c1 ** c1 ** c1 + a*c1 ** c2 ** c3 ** c1)\ \>", "\<\ 2 (c1 ** c1 ** c1 + a c1 ** c2 ** c3 ** c1)\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData["Conjugate works for algebraic expressions:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["Conjugate[%]"], "Input", AspectRatioFixed->True], Cell[OutputFormData[ "\<\ 2*(Conjugate[c1] ** Conjugate[c1] ** Conjugate[c1] + Conjugate[a]*Conjugate[c1] ** Conjugate[c3] ** Conjugate[c2] ** Conjugate[c1])\ \>", "\<\ __ __ __ _ __ __ __ __ 2 (c1 ** c1 ** c1 + a c1 ** c3 ** c2 ** c1)\ \>"], "Output", Evaluatable->False, LineSpacing->{0.6, 0}, AspectRatioFixed->True]}, Open]], Cell[TextData[ "A normal ordering operator is defined in a manner consistant with standard \n\ creation and annihilation operators used in quantum mechanics. The hermetian \ \nconjugates must be explicit."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["NormalOrder[c2**Conjugate[c3]**c1]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ NormalOrder[c2 ** Conjugate[c3]] ** c1\ \>", "\<\ __ :c2 ** c3: ** c1\ \>"], "Output", Evaluatable->False, LineSpacing->{0.6, 0}, AspectRatioFixed->True]}, Open]], Cell[TextData[ "In a similar way nonscalar symbols can be defined for Dot"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData["s1/:ScalarQ[s1]=False;\ns2/:ScalarQ[s2]=False;"], "Input", AspectRatioFixed->True], Cell[TextData[ "Dotexpand expands expressions involving Dot allowing for the case of \n\ non-commuting symbols"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["(c3 s1).(c2 s2+s1 a)//.Dotexpand"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ c3 ** ((s1 . s1) ** a + (s1 . s2) ** c2)\ \>", "\<\ c3 ** ((s1 . s1) ** a + (s1 . s2) ** c2)\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[CellGroupData[{Cell[TextData["%//.timesexpand"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ a*c3*s1 . s1 + s1 . s2*c3 ** c2\ \>", "\<\ a c3 s1 . s1 + s1 . s2 c3 ** c2\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]], Cell[TextData["trace is also expanded by Dotexpand"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{Cell[TextData["trace[s1.(a s2+s1)]//.Join[Dotexpand,timesexpand]"], "Input", AspectRatioFixed->True], Cell[OutputFormData["\<\ trace[s1 . s1] + a*trace[s1 . s2]\ \>", "\<\ trace[s1 . s1] + a trace[s1 . s2]\ \>"], "Output", Evaluatable->False, AspectRatioFixed->True]}, Open]]}, Open]]}, Open]] }, FrontEndVersion->"Macintosh 3.0", ScreenRectangle->{{0, 640}, {0, 460}}, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{520, 365}, WindowMargins->{{12, Automatic}, {15, Automatic}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, MacintoshSystemPageSetup->"\<\ AVU/IFiQKFD000000V7E<09QgO0000000OZ:d096/NP0AP1Y06`0I@1^0642HMD` 0V7N40000001nXZ`0TJaj000000000000000009QeC0000000000000000000000 00000000000000000000000000000000\>" ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1731, 51, 111, 3, 70, "Title", Evaluatable->False], Cell[1845, 56, 115, 2, 70, "Subsubtitle", Evaluatable->False], Cell[1963, 60, 1408, 20, 70, "Text", Evaluatable->False], Cell[3374, 82, 531, 9, 70, "Text", Evaluatable->False], Cell[3908, 93, 66, 1, 70, "Input"], Cell[CellGroupData[{ Cell[3997, 96, 118, 2, 70, "Section", Evaluatable->False], Cell[4118, 100, 175, 4, 70, "Text", Evaluatable->False], Cell[4296, 106, 80, 1, 70, "Input"], Cell[4379, 109, 209, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[4611, 115, 99, 1, 70, "Input"], Cell[4713, 118, 139, 7, 70, "Output", Evaluatable->False] }, Open ]], Cell[4864, 127, 209, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[5096, 133, 75, 1, 70, "Input"], Cell[5174, 136, 159, 7, 70, "Output", Evaluatable->False] }, Open ]], Cell[5345, 145, 198, 4, 70, "Text", Evaluatable->False] }, Closed]], Cell[CellGroupData[{ Cell[5575, 151, 112, 2, 70, "Section", Evaluatable->False], Cell[5690, 155, 144, 4, 70, "Text", Evaluatable->False], Cell[5837, 161, 115, 2, 70, "Input"], Cell[5955, 165, 156, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[6134, 171, 59, 1, 70, "Input"], Cell[6196, 174, 112, 6, 70, "Output", Evaluatable->False] }, Open ]], Cell[CellGroupData[{ Cell[6340, 182, 58, 1, 70, "Input"], Cell[6401, 185, 110, 6, 70, "Output", Evaluatable->False] }, Open ]], Cell[CellGroupData[{ Cell[6543, 193, 64, 1, 70, "Input"], Cell[6610, 196, 104, 6, 70, "Output", Evaluatable->False] }, Open ]], Cell[6726, 204, 151, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[6900, 210, 56, 1, 70, "Input"], Cell[6959, 213, 112, 6, 70, "Output", Evaluatable->False] }, Open ]], Cell[7083, 221, 144, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[7250, 227, 75, 1, 70, "Input"], Cell[7328, 230, 259, 12, 70, "Output", Evaluatable->False] }, Open ]], Cell[CellGroupData[{ Cell[7619, 244, 75, 1, 70, "Input"], Cell[7697, 247, 197, 10, 70, "Output", Evaluatable->False] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[7935, 259, 101, 2, 70, "Section", Evaluatable->False], Cell[8039, 263, 227, 5, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[8289, 270, 140, 3, 70, "Input"], Cell[8432, 275, 247, 8, 70, "Output", Evaluatable->False] }, Open ]], Cell[8691, 285, 191, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[8905, 291, 64, 1, 70, "Input"], Cell[8972, 294, 111, 2, 70, "Print", Evaluatable->False], Cell[9086, 298, 247, 8, 70, "Output", Evaluatable->False] }, Open ]], Cell[9345, 308, 125, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[9493, 312, 79, 1, 70, "Input"], Cell[9575, 315, 461, 15, 70, "Output", Evaluatable->False] }, Open ]], Cell[10048, 332, 258, 5, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[10329, 339, 68, 1, 70, "Input"], Cell[10400, 342, 361, 14, 70, "Output", Evaluatable->False] }, Open ]], Cell[10773, 358, 293, 6, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[11089, 366, 68, 1, 70, "Input"], Cell[11160, 369, 361, 14, 70, "Output", Evaluatable->False] }, Open ]], Cell[11533, 385, 184, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[11740, 391, 82, 1, 70, "Input"], Cell[11825, 394, 342, 11, 70, "Output", Evaluatable->False] }, Open ]], Cell[12179, 407, 245, 5, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[12447, 414, 168, 3, 70, "Input"], Cell[12618, 419, 309, 10, 70, "Output", Evaluatable->False] }, Open ]], Cell[12939, 431, 132, 3, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[13094, 436, 77, 1, 70, "Input"], Cell[13174, 439, 247, 8, 70, "Output", Evaluatable->False] }, Open ]], Cell[13433, 449, 126, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[13582, 453, 128, 3, 70, "Input"], Cell[13713, 458, 221, 8, 70, "Output", Evaluatable->False] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[13975, 468, 87, 2, 70, "Section", Evaluatable->False], Cell[14065, 472, 122, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[14210, 476, 126, 3, 70, "Input"], Cell[14339, 481, 264, 11, 70, "Output", Evaluatable->False] }, Open ]], Cell[14615, 494, 317, 6, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[14955, 502, 66, 1, 70, "Input"], Cell[15024, 505, 293, 10, 70, "Output", Evaluatable->False] }, Open ]], Cell[15329, 517, 287, 5, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[15639, 524, 66, 1, 70, "Input"], Cell[15708, 527, 293, 10, 70, "Output", Evaluatable->False] }, Open ]], Cell[16013, 539, 178, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[16214, 545, 76, 1, 70, "Input"], Cell[16293, 548, 210, 8, 70, "Output", Evaluatable->False] }, Open ]], Cell[16515, 558, 123, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[16661, 562, 103, 1, 70, "Input"], Cell[16767, 565, 262, 10, 70, "Output", Evaluatable->False] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[17070, 577, 113, 2, 70, "Section", Evaluatable->False], Cell[17186, 581, 115, 2, 70, "Text", Evaluatable->False], Cell[17304, 585, 130, 3, 70, "Input"], Cell[17437, 590, 148, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[17608, 596, 93, 1, 70, "Input"], Cell[17704, 599, 189, 7, 70, "Output", Evaluatable->False] }, Open ]], Cell[17905, 608, 116, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[18044, 612, 65, 1, 70, "Input"], Cell[18112, 615, 358, 12, 70, "Output", Evaluatable->False] }, Open ]], Cell[18482, 629, 264, 5, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[18769, 636, 87, 1, 70, "Input"], Cell[18859, 639, 192, 9, 70, "Output", Evaluatable->False] }, Open ]], Cell[19063, 650, 132, 3, 70, "Text", Evaluatable->False], Cell[19198, 655, 99, 1, 70, "Input"], Cell[19300, 658, 169, 4, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[19492, 664, 85, 1, 70, "Input"], Cell[19580, 667, 183, 7, 70, "Output", Evaluatable->False] }, Open ]], Cell[CellGroupData[{ Cell[19795, 676, 68, 1, 70, "Input"], Cell[19866, 679, 165, 7, 70, "Output", Evaluatable->False] }, Open ]], Cell[20043, 688, 109, 2, 70, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[20175, 692, 102, 1, 70, "Input"], Cell[20280, 695, 169, 7, 70, "Output", Evaluatable->False] }, Open ]] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)