(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing 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[ 21160, 566]*) (*NotebookOutlinePosition[ 21920, 592]*) (* CellTagsIndexPosition[ 21876, 588]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Doing Full Spectrum Physics", "Title"], Cell["Three Aspects of Geometry", "Subtitle"], Cell[TextData[{ "Misner, Thorne & Wheeler, ", StyleBox["Gravitation", FontSlant->"Italic"], ",", " Section 8.3" }], "Chaptertitle"], Cell["David Park, djmp@earthlink.net", "Subsubtitle"], Cell[TextData[{ "Misner, Thorne and Wheeler teach that we will have full power to do and \ communicate geometry and physics if this power \"can be exercised in three \ ways: in pictures, in abstract notation and in component notation.\" With ", StyleBox["Mathematica", FontSlant->"Italic"], " and a proper suite of packages to close the gap between ", StyleBox["Mathematica", FontSlant->"Italic"], "'s basic power and the practice of mathematical physics we can do this - \ and better. We can also have active mathematical objects, incorporate units, \ and we can even bring solutions and diagrams alive with animation. This is \ what I call being able to do ", StyleBox["full spectrum physics", FontSlant->"Italic"], " within a single computer platform." }], "Text"], Cell[CellGroupData[{ Cell["Initiation", "Section"], Cell[TextData[{ "The following are a suite of ", StyleBox["Mathematica", FontSlant->"Italic"], " packages that allow us to conveniently do physics." }], "Text"], Cell[BoxData[{ \(Needs["\"]\), "\n", \(Needs["\"]\), "\n", \(Needs["\"]\), "\n", \(Needs["\"]\), "\n", \(Needs["\"]\)}], "Input", InitializationCell->True], Cell[TextData[{ "We are going to derive and solve the equations for planetary motion in \ polar coordinates. The following statements establish conditions for the ", StyleBox["Tensorial", FontSlant->"Italic"], " tensor calculus package. We define tensor shortcuts for the basis vectors \ ", Cell[BoxData[ \(e\)]], ", the velocity vector ", Cell[BoxData[ \(v\)]], ", and the coordinate positions ", Cell[BoxData[ \(x\)]], ". Since we will be using an orthonormal polar frame we use red indices to \ remind us that we are not working in a coordinate basis. Finally, we declare \ a 2-dimensional system with base indices corresponding the to coordinate \ symbols." }], "Text"], Cell[BoxData[{ \(DefineTensorShortcuts[{{e, v, x}, 1}]\), "\n", \(DeclareIndexFlavor[{red, Red}]\), "\n", \(DeclareBaseIndices[{r, \[Phi]}]\)}], "Input", InitializationCell->True] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Abstract, Pictorial and Component Form of Keplerian Orbit Physics\ \>", "Section"], Cell["\<\ We have the following general symbolic expression for the velocity of a \ planet, which we will take to be in a Keplerian orbit,\ \>", "Text"], Cell[BoxData[{ \(v \[Equal] vu[a] ed[a] // ToFlavor[red]\), "\[IndentingNewLine]", \(eqn[8, 1] = % // EinsteinSum[]\)}], "Input"], Cell[TextData[{ "where the red flavor indicates we are working in an orthonormal frame \ where the ", Cell[BoxData[ \(e\)]], " are unit vectors." }], "Text"], Cell["\<\ The acceleration is obtained by taking the total derivative with respect to \ time.\ \>", "Text"], Cell[BoxData[{ \(TotalD[eqn[8, 1], t]\), "\[IndentingNewLine]", \(eqn[8, 2] = % /. TotalD[v, t] \[Rule] a\)}], "Input"], Cell["\<\ A diagram for the planet's motion is as follows. (Evaluate the thin close \ cell for the diagram. Open the cell with Alt-CRC to examine the graphics \ code.)\ \>", "Text"], Cell[BoxData[ \(\(Module[\[IndentingNewLine]{pts, orbit, sun, ptA, ptB, avector, vvector, erA, e\[Phi]A, erB, e\[Phi]B, drawarrow}, \[IndentingNewLine]\[IndentingNewLine]pts = {{2.27893, 7.1413}, {4.17476, 6.90056}, {5.85995, 6.53945}, {7.78588, 6.08806}, {9.53125, 5.60658}, {11.3669, 4.85426}, {13.1725, 3.8913}}; \[IndentingNewLine]orbit = SplineToLine[pts, Bezier, \ 20]; \[IndentingNewLine]drawvector[ start_, vector_] := Arrow[start, start + vector, HeadScaling \[Rule] Relative, HeadCenter \[Rule] 0.5, HeadLength \[Rule] 0.2, HeadWidth \[Rule] 0.75]; \[IndentingNewLine]sun = {0, 0}; \[IndentingNewLine]ptA = {8.17142, 5.92416}; \[IndentingNewLine]ptB = {3.61412, 6.98325}; \[IndentingNewLine]erA = \(2 #/\@\(# . #\) &\)[ ptA]; \[IndentingNewLine]e\[Phi]A = ToCoordinates[ Exp[\[ImaginaryI]\ \[Pi]/2] ToComplex[ erA]]; \[IndentingNewLine]erB = \(2 #/\@\(# . #\) &\)[ ptB]; \[IndentingNewLine]e\[Phi]B = ToCoordinates[ Exp[\[ImaginaryI]\ \[Pi]/2] ToComplex[ erB]]; \[IndentingNewLine]avector = \(-erA\); \ \[IndentingNewLine]vvector = \(3 #/\@\(# . #\) &\)[ 1.05 ptB - ptA]; \[IndentingNewLine]\[IndentingNewLine]Draw2D[\ \[IndentingNewLine]{orbit, \[IndentingNewLine]Gray, Line[{sun, ptA}], Line[{sun, ptB}], \[IndentingNewLine]Line[{sun, {5, 0}}], \[IndentingNewLine]AngleArc[ sun, \ {0, ArcTan @@ ptA}, 3, StyleForm["\<\[Phi]\>", FontColor \[Rule] Black]], \[IndentingNewLine]\[IndentingNewLine] (*\ Unit\ basis\ vectors\ *) \[IndentingNewLine]VenetianRed, \ \[IndentingNewLine]drawvector[ptA, erA], \[IndentingNewLine]drawvector[ptA, e\[Phi]A], \[IndentingNewLine]drawvector[ptB, erB], \[IndentingNewLine]drawvector[ptB, e\[Phi]B], \[IndentingNewLine]\(ColorMix[VenetianRed, White]\)[ 0.7], \[IndentingNewLine]drawvector[ptB, erA], \[IndentingNewLine]drawvector[ptB, e\[Phi]A], \[IndentingNewLine]Chartreuse, \ \[IndentingNewLine]drawvector[ptB + erA, erB - erA], \[IndentingNewLine]drawvector[ptB + e\[Phi]A, e\[Phi]B - e\[Phi]A], \[IndentingNewLine]\[IndentingNewLine] (*\ Acceleration\ and\ velocity\ vectors\ \ *) \[IndentingNewLine]Black, AbsoluteThickness[2], \[IndentingNewLine]drawvector[ptA, avector], \[IndentingNewLine]drawvector[ptA, vvector], \[IndentingNewLine]AbsoluteThickness[ 1], \[IndentingNewLine]\[IndentingNewLine] (*\ Points\ *) \[IndentingNewLine]CirclePoint[sun, 5, \ Black, Gold], \[IndentingNewLine]CirclePoint[ptA, 3, \ Black, Blue], \[IndentingNewLine]CirclePoint[ptB, 3, \ Black, Blue], \[IndentingNewLine]\[IndentingNewLine] (*\ Text\ labels\ *) \[IndentingNewLine]Black, \ \[IndentingNewLine]Text["\", 1/2 ptA, {1, \(-1\)}], \[IndentingNewLine]Text["\", \ {7.59905, 5.08459}], \[IndentingNewLine]Text["\", {6.29826, 7.00155}], \[IndentingNewLine]Text[ ed[red@r], {10.0979, 7.30964}], \[IndentingNewLine]Text[ ed[red@\[Phi]], {7.01712, 7.89157}], \[IndentingNewLine]Text[ TotalD[ed[red@r], t], {5.40824, 8.74736}], \[IndentingNewLine]Text[ TotalD[ed[red@\[Phi]], t], {1.57431, 8.78159}]}, \[IndentingNewLine]\[IndentingNewLine]AspectRatio \ \[Rule] Automatic, \[IndentingNewLine]PlotRange \[Rule] {{\(-1\), 15}, {\(-1\), 10}}, \[IndentingNewLine]PlotLabel \[Rule] "\", \[IndentingNewLine]Background \[Rule] BlanchedAlmond, \[IndentingNewLine]ImageSize \[Rule] 600]];\)\)], "Input", CellOpen->False], Cell[TextData[{ "The orthonormal basis vectors are shown in red. As the planet moves the \ basis vectors rotate and the rate of rotation is just the rate of change of \ ", Cell[BoxData[ \(\[Phi]\)]], ". This is, in fact, the advantage of using an orthonormal frame. We can \ express this by the following rules. We also write the rules for the red \ velocity components in terms of the coordinates." }], "Text"], Cell[BoxData[{ \(eqn[8, 3] = {TotalD[ed[red@r], t] \[Rule] \[Omega]\ ed[red@\[Phi]], TotalD[ed[red@\[Phi]], t] \[Rule] \(-\[Omega]\)\ ed[red@r]}\), "\[IndentingNewLine]", \(\[Omega]rule = \[Omega] \[Rule] TotalD[xu[\[Phi]], t]\), "\[IndentingNewLine]", \(vrules = {vu[red@r] \[Rule] TotalD[xu[r], t], vu[red@\[Phi]] \[Rule] xu[r] TotalD[xu[\[Phi]], t]}\)}], "Input"], Cell["\<\ We then use these rules to substitute into equation 8.2, rearrange, and \ substitute coordinate expressions to obtain the components of the \ acceleration.\ \>", "Text"], Cell[BoxData[{ \(eqn[8, 2]\), "\[IndentingNewLine]", \(Print["\"]\), "\ \[IndentingNewLine]", \(%% /. eqn[8, 3]\), "\[IndentingNewLine]", \(Print["\"]\), \ "\[IndentingNewLine]", \(eqn[8, 4] = MapAt[Collect[#, ed[red@a] // ToArrayValues[]] &, %%, 2]\), "\[IndentingNewLine]", \(Print["\"]\), "\ \[IndentingNewLine]", \(equation1 = \(%% /. vrules\) /. \[Omega]rule\), "\[IndentingNewLine]", \(Print["\"]\), "\ \[IndentingNewLine]", \(eqn[8, 4] = %% // UseCoordinates[{r[t], \[Phi][t]}]\)}], "Input"], Cell[TextData[{ "This is equivalent to the MTW equation 8.4. MTW use the following \ equivalent expression for the ", Cell[BoxData[ \(\[Phi]\)]], " component. ", Cell[BoxData[ \(HoldOp\)]], " is a ", StyleBox["Tensorial", FontSlant->"Italic"], " command that allows us to delay certain operations that would otherwise \ be automatically performed." }], "Text"], Cell[BoxData[{ \(D[r[t] \(\[Phi]'\)[t], t] + \(r'\)[t] \(\[Phi]'\)[t] // HoldOp[D]\), "\[IndentingNewLine]", \(% // ReleaseHold\)}], "Input"], Cell["\<\ Why don't we go further and actually solve the equations and graphically \ represent the solutions? We do this in the next section. \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Units, Solutions and Graphical Representations", "Section"], Cell[TextData[{ "Let's solve the orbit equations for the planet earth. We write the \ acceleration on the rhs and then derive the differential equations for ", Cell[BoxData[ \(r\)]], " and ", Cell[BoxData[ \(\[Phi]\)]], "." }], "Text"], Cell[BoxData[{ \(Clear[r, \[Phi]]\), "\[IndentingNewLine]", \(SetAttributes[{AU, Year}, Constant]\), "\[IndentingNewLine]", \(equation1\), "\[IndentingNewLine]", \(Print["\"]\), "\ \[IndentingNewLine]", \(%% /. a \[Rule] \(-ed[red@r]\) G\ M/xu[r]\^2\), "\[IndentingNewLine]", \(Print["\"]\), "\[IndentingNewLine]", \(\(\(# - First[%%] &\) /@ %% // Reverse;\)\), "\[IndentingNewLine]", \(step1 = MapAt[Collect[#, ed[red@a] // EinsteinArray[]] &, %, 1]\), "\[IndentingNewLine]", \(Print["\"]\), \ "\[IndentingNewLine]", \(Coefficient[First@step1, ed[red@a] // EinsteinArray[]] \[Equal] {0, 0} // Thread\), "\[IndentingNewLine]", \(Print["\"]\), "\[IndentingNewLine]", \(diffeqns0 = %% // UseCoordinates[{r[t], \[Phi][t]}]\)}], "Input"], Cell["\<\ We then need to append the initial conditions and substitute the \ gravitational constant and the solar mass..\ \>", "Text"], Cell[BoxData[{ \(\({diffeqns0, r[0] \[Equal] r0\ , \(r'\)[0] \[Equal] r0dot, \[Phi][0] \[Equal] \[Phi]0, \(\[Phi]'\)[ 0] \[Equal] \[Phi]0dot} // Flatten;\)\), "\[IndentingNewLine]", \(diffeqns1 = % /. {G \[Rule] GravitationalConstant, M \[Rule] SolarMass}\)}], "Input"], Cell["\<\ We set up the data for aphelion of the earth. We calculate the rate of change \ of the angle at aphelion by using the aphelion rotational velocity and \ aphelion distance.\ \>", "Text"], Cell[BoxData[{ \(\[Omega] \[Equal] v/r\), "\[IndentingNewLine]", \(% /. {v \[Rule] 29.2944\ Kilo\ Meter/Second, r \[Rule] 1.0167 AU}\), "\[IndentingNewLine]", \(% // ToUnitRule[1/Day]\)}], "Input"], Cell[TextData[{ "We then establish the data for the initial conditions as a set of rules. \ The units are astronomical units ", Cell[BoxData[ \(AU\)]], " and days. We could have entered the data using any equivalent units." }], "Text"], Cell[BoxData[ \(\((data = {r0 \[Rule] 1.0167 AU, r0dot \[Rule] 0, \[Phi]0 \[Rule] 0, \[Phi]0dot \[Rule] 0.016641\/Day})\) // TableForm\)], "Input"], Cell[TextData[{ "We will want to 'deunitize' the equations and the best method is to set up \ reduced units where ", Cell[BoxData[ \(G \[Equal] AU \[Equal] Year \[Equal] 1\)]], "." }], "Text"], Cell[BoxData[ \(SetupReducedUnits[{GravitationalConstant\ , AU, Day}, \ {Ampere, Kelvin}]\)], "Input"], Cell["\<\ We then obtain the differential equations in 'geometrical' form.\ \>", "Text"], Cell[BoxData[{ \(Clear[r, \[Phi]]\), "\[IndentingNewLine]", \(diffeqns2 = diffeqns1 /. data // ReducedUnits\)}], "Input"], Cell[TextData[{ "For an orbit we can use a ", Cell[BoxData[ \(StoppingTest\)]], " when one orbit is completed. Then we can extract the ", Cell[BoxData[ \(period\)]], " (in days) from the returned ", Cell[BoxData[ \(InterpolatingFunction\)]], ". " }], "Text"], Cell[BoxData[{ \(Clear[r, \[Phi]]\), "\[IndentingNewLine]", \(First@ NDSolve[diffeqns2, {r, \[Phi]}, {t, 0, 366}, StoppingTest \[RuleDelayed] \((\[Phi][t] \[GreaterEqual] 2 \[Pi])\)]\), "\[IndentingNewLine]", \({r[t_], \[Phi][t_]} = {r[t], \[Phi][t]} /. %\), "\[IndentingNewLine]", \(period = Part[Head[r[t]], 1, 1, 2]\)}], "Input"], Cell["\<\ The following plot shows the variation of earth's radial distance with time. \ The aphelion and perihelion radii are marked in red.\ \>", "Text"], Cell[BoxData[ \(\(Draw2D[\[IndentingNewLine]{Draw[ r[t], {t, 0, period}], \[IndentingNewLine]Red, Line[{{0, 0.9832}, {period, 0.9833}}], \[IndentingNewLine]Line[{{0, 1.0167}, {period, 1.0167}}], \[IndentingNewLine]Black, Text["\", {64.3781, 0.98528}], \[IndentingNewLine]Text["\", {279.088, 1.01493}]}, \[IndentingNewLine]Frame \[Rule] True, \[IndentingNewLine]FrameLabel \[Rule] {t, r}, \[IndentingNewLine]ImageSize \[Rule] 450];\)\)], "Input"], Cell["The perihelion velocity can be calculated as follows.", "Text"], Cell[BoxData[{ \(\(\[Phi]'\)[period/2]\ R[aphelion]\), "\[IndentingNewLine]", \(ReducedEquivalent[%, 1, 1/Day]\), "\[IndentingNewLine]", \(% /. R[aphelion] \[Rule] 0.9833\ AU\), "\[IndentingNewLine]", \(% // ToUnit[Kilo\ Meter/Second]\)}], "Input"], Cell["\<\ An animation is easily produced for the orbital motion. The following defines \ one frame for the animation and displays a test frame at 75 days from \ aphelion.\ \>", "Text"], Cell[BoxData[{ \(\(frame[ t_] := \[IndentingNewLine]Draw2D[\[IndentingNewLine]{CirclePoint[{0,\ 0}, 5, Black, Gold], \[IndentingNewLine]Gray, \ \[IndentingNewLine]ParametricDraw[ r[s] {Cos[\[Phi][s]], Sin[\[Phi][s]]}, {s, 0, period}], \[IndentingNewLine]CirclePoint[ r[t] {Cos[\[Phi][t]], Sin[\[Phi][t]]}, 3, Black, Green]}, \[IndentingNewLine]AspectRatio \[Rule] Automatic, \[IndentingNewLine]Background \[Rule] SkyBlue, \[IndentingNewLine]ImageSize \[Rule] 400];\)\), "\[IndentingNewLine]", \(\(frame[75];\)\)}], "Input"], Cell[TextData[{ "The following code will actuate the animation. (The animation itself is \ not shown in the pdf document.) The statements after the ", Cell[BoxData[ \(Animate\)]], " statement serve to select and close up the graphics cells and then start \ the animation. These statements were actually clicked in from a button on the \ ", Cell[BoxData[ \(DrawGraphics\)]], " palette. The animation would be more interesting with a more elliptical \ orbit." }], "Text"], Cell[BoxData[{ \(Animate[ frame[t], {t, 0, del = period/200; period - del, del}]\), "\[IndentingNewLine]", \(SelectionMove[EvaluationNotebook[], All, GeneratedCell]\), "\n", \(FrontEndTokenExecute["\"]; Pause[0.5];\), "\n", \(FrontEndExecute[{FrontEnd`SelectionAnimate[200, AnimationDisplayTime \[Rule] 0.05, AnimationDirection \[Rule] Forward]}]\)}], "Input"], Cell["\<\ We might ask the question: What is the maximum initial 'aphelion' velocity \ that will produce a closed orbit? We write an expression for the energy and \ transform it to coordinate expressions.\ \>", "Text"], Cell[BoxData[{ \(Clear[r, \[Phi]]\), "\[IndentingNewLine]", \(SetAttributes[AU, Constant]\), "\[IndentingNewLine]", \(\[ScriptCapitalE] \[Equal] 1/2\ m \((vu[red@r]\^2 + vu[red@\[Phi]]\^2)\) - G\ M\ \ m/xu[r]\), "\[IndentingNewLine]", \(% /. vrules\), "\[IndentingNewLine]", \(step1 = % // UseCoordinates[{r[t], \[Phi][t]}]\)}], "Input"], Cell[TextData[{ "The energy must be negative for a closed orbit. The maximum value of ", Cell[BoxData[ \(\(\[Phi]'\)[t]\)]], " is obtained by setting the bracketed expression to zero." }], "Text"], Cell[BoxData[{ \(Part[step1, 2] \[Equal] 0\), "\[IndentingNewLine]", \(\(Solve[%, \(\[Phi]'\)[t]]\)\_\(\(\[LeftDoubleBracket]\)\(2, 1\)\(\ \[RightDoubleBracket]\)\) /. t \[Rule] 0\), "\[IndentingNewLine]", \(% /. {G \[Rule] GravitationalConstant, M \[Rule] SolarMass, r[0] \[Rule] r0, \(r'\)[0] \[Rule] r0dot}\), "\[IndentingNewLine]", \(% /. data\), "\[IndentingNewLine]", \(% // ToUnitRule[Radian/Day]\)}], "Input"], Cell["The earth's aphelion velocity is well below this.", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Full Spectrum Physics", "Section"], Cell[TextData[{ "To do real physics on a computer we want to write equations the way that \ physicists write them, which is mostly in tensor notation. We want to be able \ to draw geometric diagrams the way physicists and geometers draw them. We \ want to be able to deal with real data with real units. It takes considerable \ extra programming on the part of users to close the ", StyleBox["Mathematica", FontSlant->"Italic"], " gap. The ", Cell[BoxData[ \(Tensorial\)]], ", ", Cell[BoxData[ \(DrawGraphics\)]], ", ", Cell[BoxData[ \(ExtendUnits\)]], " and ", Cell[BoxData[ \(Cardano3\)]], " packages go a very long way in closing the gap. They allow students and \ researchers to think much more in terms of physics and mathematics and much \ less in terms of programming." }], "Text"] }, Closed]] }, Open ]] }, FrontEndVersion->"5.2 for Microsoft Windows", ScreenRectangle->{{0, 1280}, {0, 941}}, AutoGeneratedPackage->None, WindowToolbars->"EditBar", WindowSize->{748, 725}, WindowMargins->{{2, Automatic}, {Automatic, 1}}, ShowSelection->True, StyleDefinitions -> "TensorialStyle.nb" ] (******************************************************************* 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[1776, 53, 44, 0, 74, "Title"], Cell[1823, 55, 45, 0, 45, "Subtitle"], Cell[1871, 57, 143, 6, 45, "Chaptertitle"], Cell[2017, 65, 53, 0, 44, "Subsubtitle"], Cell[2073, 67, 794, 16, 134, "Text"], Cell[CellGroupData[{ Cell[2892, 87, 29, 0, 63, "Section"], Cell[2924, 89, 170, 5, 34, "Text"], Cell[3097, 96, 324, 6, 126, "Input", InitializationCell->True], Cell[3424, 104, 713, 19, 114, "Text"], Cell[4140, 125, 195, 4, 86, "Input", InitializationCell->True] }, Open ]], Cell[CellGroupData[{ Cell[4372, 134, 92, 2, 63, "Section"], Cell[4467, 138, 152, 3, 54, "Text"], Cell[4622, 143, 138, 2, 66, "Input"], Cell[4763, 147, 169, 6, 34, "Text"], Cell[4935, 155, 107, 3, 34, "Text"], Cell[5045, 160, 128, 2, 66, "Input"], Cell[5176, 164, 181, 4, 54, "Text"], Cell[5360, 170, 4223, 75, 19, "Input", CellOpen->False], Cell[9586, 247, 423, 9, 74, "Text"], Cell[10012, 258, 420, 7, 106, "Input"], Cell[10435, 267, 179, 4, 54, "Text"], Cell[10617, 273, 743, 15, 206, "Input"], Cell[11363, 290, 391, 13, 74, "Text"], Cell[11757, 305, 157, 3, 66, "Input"], Cell[11917, 310, 156, 3, 54, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[12110, 318, 65, 0, 43, "Section"], Cell[12178, 320, 257, 9, 54, "Text"], Cell[12438, 331, 1026, 18, 286, "Input"], Cell[13467, 351, 134, 3, 34, "Text"], Cell[13604, 356, 336, 7, 66, "Input"], Cell[13943, 365, 195, 4, 54, "Text"], Cell[14141, 371, 221, 4, 86, "Input"], Cell[14365, 377, 247, 6, 54, "Text"], Cell[14615, 385, 180, 3, 60, "Input"], Cell[14798, 390, 204, 6, 34, "Text"], Cell[15005, 398, 115, 2, 46, "Input"], Cell[15123, 402, 88, 2, 34, "Text"], Cell[15214, 406, 130, 2, 66, "Input"], Cell[15347, 410, 290, 11, 54, "Text"], Cell[15640, 423, 382, 7, 106, "Input"], Cell[16025, 432, 155, 3, 54, "Text"], Cell[16183, 437, 578, 9, 206, "Input"], Cell[16764, 448, 69, 0, 34, "Text"], Cell[16836, 450, 267, 4, 106, "Input"], Cell[17106, 456, 185, 4, 54, "Text"], Cell[17294, 462, 657, 13, 226, "Input"], Cell[17954, 477, 491, 12, 94, "Text"], Cell[18448, 491, 433, 8, 146, "Input"], Cell[18884, 501, 218, 4, 54, "Text"], Cell[19105, 507, 377, 7, 126, "Input"], Cell[19485, 516, 208, 5, 54, "Text"], Cell[19696, 523, 450, 7, 127, "Input"], Cell[20149, 532, 65, 0, 34, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[20251, 537, 40, 0, 43, "Section"], Cell[20294, 539, 838, 23, 134, "Text"] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)