(*********************************************************************** 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[ 20368, 578]*) (*NotebookOutlinePosition[ 21270, 607]*) (* CellTagsIndexPosition[ 21226, 603]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData["Simpson's Rule\[LongDash]II:\nBehavior of Error"], "Title"], Cell["\<\ By Robin Sue Sanders, Spring 1998 copyright 1998\ \>", "Subtitle", TextAlignment->Center], Cell[CellGroupData[{ Cell["Review of Simpson's Rule", "Section"], Cell[TextData[{ "In the past several labs, we've learned several rules that allow us to \ find integrals numerically. This is particularly useful when the Fundamental \ Theorem fails us because there is no easy-to-find antiderivative for the \ integrand. Last week we looked at Simpson's Rule which uses parabolic slices \ to approximate the area trapped under ", Cell[BoxData[ \(TraditionalForm\`y\ = \ f[x]\)]], " and over the interval [", StyleBox["a", FontSlant->"Italic"], ", ", StyleBox["b", FontSlant->"Italic"], "]." }], "Text"], Cell[TextData[{ "Recall that Simpson's Rule uses 2", StyleBox["n", FontSlant->"Italic"], " slices and ", StyleBox["n", FontSlant->"Italic"], " parabolas to approximate the integral of ", StyleBox["f", FontSlant->"Italic"], "[", StyleBox["x", FontSlant->"Italic"], "] from ", StyleBox["a", FontSlant->"Italic"], " to ", StyleBox["b", FontSlant->"Italic"], ". The appropriate formula (which was derived in ", StyleBox["SimpsonsRuleI.nb", FontSlant->"Italic"], ") is given by:" }], "Text"], Cell[BoxData[ \(Clear[a, \ b, \ f, \ n, \ x, SimpsonsRule]; \n SimpsonsRule[n_]\ := \ \n\t\ N[\ \ \(\(b - a\)\/\(6\ n\)\) \((f[a]\ + f[b]\ + \ \[Sum]\+\(i = 1\)\%\(n - 1\)\(( 2\ f[a\ + \ 2\ i\ \ \(b - a\)\/\(2 n\)]\ )\) + \ \[Sum]\+\(i = 0\)\%\(n - 1\)\((\ 4 f[a\ + \ \((2\ i\ + 1)\)\ \(b - a\)\/\(2 n\)])\))\)] \)], "Input", InitializationCell->True], Cell[TextData[{ "Remember to activate the above cell if there is NOT a blue ", StyleBox["In[#]:=", FontColor->RGBColor[0, 0, 1]], " in front of its contents!" }], "Text", FontColor->RGBColor[1, 0, 0]] }, Closed]], Cell[CellGroupData[{ Cell["Experimental error in Simpson's Rule", "Section"], Cell[TextData[{ "If we know the true value of an integral, then we can look at how the \ error in Simpson's Rule behaves. The error in using ", StyleBox["n", FontSlant->"Italic"], " parabolas to approximate ", Cell[BoxData[ \(TraditionalForm\`\[Integral]\_a\%b f[x] \[DifferentialD]x\)]], " is given by:" }], "Text"], Cell[BoxData[ \(SimpsonsError[n_]\ := \ Abs[SimpsonsRule[n]\ - \ trueValue]\)], "Input", InitializationCell->True], Cell[TextData[{ "Remember to activate the above cell if there is NOT a blue ", StyleBox["In[#]:=", FontColor->RGBColor[0, 0, 1]], " in front of its contents!" }], "Text", FontColor->RGBColor[1, 0, 0]], Cell[TextData[{ "For example, the following table gives the error in using ", StyleBox["n", FontSlant->"Italic"], " parabolas to approximate ", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%\(\[Pi]/2\)Sin[x] \[DifferentialD]x\)]], " :" }], "Text"], Cell[BoxData[ \(f[x_]\ := \ Sin[x]; \na\ = \ 0; \nb\ = \ Pi/2; \ntrueValue\ = \ 1; \nTable[{n, \ SimpsonsError[n]}, {n, \ 1, \ 20}]\)], "Input"], Cell["\<\ Look at how small that error is, even with a small number of \ parabolas. We get 2 decimal places of accuracy with only 1 parabolas (and 2 \ slices); we get 3 decimal places of accuracy with 2 parabolas (4 slices); \ and 20 parabolas (40 slices) will give us an answer that is correct to 7 \ decimal places. \ \>", "Text"], Cell["\<\ The error in these approximations drops off faster than any of the \ approximations we've seen so far!\ \>", "Text"], Cell[TextData[{ "As always, we can get a better sense of how fast Simpson's Rule is working \ by comparing the error using 2", StyleBox["n", FontSlant->"Italic"], " parabolas to the error using ", StyleBox["n", FontSlant->"Italic"], " parabolas. Here's a table that looks at the ratio as ", StyleBox["n", FontSlant->"Italic"], " goes from 1 to 20:" }], "Text"], Cell[BoxData[ \(Table[{n, \ SimpsonsError[2\ n]/SimpsonsError[n]}, \n \t\ \ \ \ \ \ \ \ \ \ \ \ {n, \ 1, \ 20}]\)], "Input"], Cell["\<\ The long term behavior here is that doubling the number of \ parabolas (and slices) makes the new error about 6.25% of the old error! \ That's much, much better than what we were getting with either the trapezoids \ or rectangles.\ \>", "Text"], Cell[TextData[{ "Exercise 1. Look at the error in using Simpson's Rule for several of the \ other integrals for which you know the exact values. Some suggested \ integrals include:\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%1\( 4\/\(x\^2 + \ 1\)\) \[DifferentialD]x\ = \ \[Pi]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_1\%3\( 1\/x\) \[DifferentialD]x\ = \ Log[3]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\(\[Integral]\_1\%2\( x\^4\) \[DifferentialD]x\ = \ 31/5\ \)\)]], "\n\nIn your experiments, how fast does the error \"disappear\"? How many \ parabolas (and slices) are needed to insure the approximation is accurate to \ 2 decimal places? What about 3 decimal places? What about 5 decimal \ places?" }], "Text", FontColor->RGBColor[1, 0, 0]], Cell[TextData[{ "Exercise 2. Look at the ratio of error in using 2 ", StyleBox["n", FontSlant->"Italic"], " parabolas to the error in using ", StyleBox["n", FontSlant->"Italic"], " parabolas forthe integrals in Exercise 1. In your experiments, how does \ doubling the number of parabolas effect the error? Do you think this means \ that the parabolas are more efficient than trapezoids or rectangles? Why? " }], "Text", FontColor->RGBColor[1, 0, 0]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ Review of the other \"rules\" for finding integrals numerically \ and their error functions.\ \>", "Section"], Cell[TextData[{ "In the past several labs, we've learned several rules that allow us to \ find integrals numerically. This is particularly useful when the Fundamental \ Theorem fails us because there is no easy-to-find antiderivative for the \ integrand. These numerical methods include the following methods: \ LeftRectangles, MiddleRectangles, and Trapezoids. For a given integral \ whose true value is known, we have also looked at the size of the error in \ all these methods. Here are cells that enter each method (and its error \ function) into ", StyleBox["Mathematica", FontSlant->"Italic"], ". If you evaluated the Initalization Cells when asked, then all these \ cells were evaluated and they should have the little blue ", StyleBox["In[#]:=", FontColor->RGBColor[0, 0, 1]], " in front of them. That means you can use these commands WITHOUT \ re-evaluating the cells. If there is no little blue ", StyleBox["In[#]:=", FontColor->RGBColor[0, 0, 1]], " in front of them, you should evaluate each cell." }], "Text"], Cell["\<\ Left Rectangle estimates: (These form the basis of the definition \ of the definite integral.)\ \>", "Text"], Cell[BoxData[ RowBox[{\(Clear[LeftRects]\), ";", "\n", RowBox[{\(LeftRects[n_]\), " ", ":=", " ", "\n", " ", RowBox[{"N", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"b", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "a"}], ")"}], "/", "n"}], StyleBox[" ", FontSize->11, FontWeight->"Plain"], "*", StyleBox[" ", FontSize->11, FontWeight->"Plain"], RowBox[{"Sum", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"a", " ", "+", " ", RowBox[{"i", " ", RowBox[{ RowBox[{"(", RowBox[{"b", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "a"}], ")"}], "/", "n"}]}]}], "]"}], ",", "\n", "\t \ ", RowBox[{"{", RowBox[{"i", ",", " ", "0", ",", " ", RowBox[{"n", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "1"}]}], "}"}]}], "]"}]}], "]"}]}]}]], "Input", InitializationCell->True], Cell["Error in a LeftRectangle estimate:", "Text"], Cell[BoxData[ \(LeftError[n_]\ := \ Abs[LeftRects[n]\ - \ trueValue]\)], "Input", InitializationCell->True], Cell["Middle Rectangles estimates:", "Text"], Cell[BoxData[ RowBox[{\(Clear[MidRects]\), ";", "\n", RowBox[{\(MidRects[n_]\), " ", ":=", " ", "\n", " ", RowBox[{"N", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"b", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "a"}], ")"}], "/", "n"}], StyleBox[" ", FontSize->11, FontWeight->"Plain"], "*", StyleBox[" ", FontSize->11, FontWeight->"Plain"], RowBox[{"Sum", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"a", " ", "+", " ", RowBox[{\((i\ + \ 1/2)\), " ", RowBox[{ RowBox[{"(", RowBox[{"b", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "a"}], ")"}], "/", "n"}]}]}], "]"}], ",", "\n", "\t\t\t\t \ ", RowBox[{"{", RowBox[{"i", ",", " ", "0", ",", " ", RowBox[{"n", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "-", StyleBox[" ", FontSize->11, FontWeight->"Plain"], "1"}]}], "}"}]}], "]"}]}], "]"}]}]}]], "Input", InitializationCell->True], Cell["Error in a MidRectangle estimate:", "Text"], Cell[BoxData[ \(MidError[n_]\ := \ Abs[MidRects[n]\ - \ trueValue]\)], "Input", InitializationCell->True], Cell["Trapezoidal estimates:", "Text"], Cell[BoxData[ \(Clear[Traps]; \n Traps[n_]\ := \ N[\ \((b\ - \ a)\)/n\ *\n\ \((\((f[a]\ + \ f[b])\)/2\ + \ Sum[f[a\ + \ i\ \((b\ - \ a)\)/n], \n \t\t\t\t\t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {i, \ 1, \ n - 1}])\)]\)], "Input", InitializationCell->True], Cell["Error in a Trapezoid estimate:", "Text"], Cell[BoxData[ \(TrapError[n_]\ := \ Abs[Traps[n]\ - \ trueValue]\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["A comparison between Simpson's Rule and the other methods", "Section"], Cell[TextData[{ "Recall that Simpson's rule uses ", StyleBox["n", FontSlant->"Italic"], " parabolas, and that constructing the ", StyleBox["n", FontSlant->"Italic"], " parabolas requires 2", StyleBox["n", FontSlant->"Italic"], " slices. So the error in SimpsonsRule[n] should really be compared to the \ error in LeftRects[2 n], MidRects[2 n], and Traps[2 n] when we're looking at \ how \"fast\" each method works." }], "Text"], Cell[TextData[{ "Here's a table that shows the error in each rule when we use 2", StyleBox["n", FontSlant->"Italic"], " slices for each of the estimates of ", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%\(\[Pi]/2\)Sin[x] \[DifferentialD]x\)]], ":" }], "Text"], Cell[BoxData[ \(f[x_]\ := \ Sin[x]; \na\ = \ 0; \nb\ = \ Pi/2; \ntrueValue\ = \ 1; \nTable[{2\ n, \ LeftError[2\ n], TrapError[2\ n], \ \ MidError[2\ n], SimpsonsError[n]}, {n, \ 1, \ 15}] // TableForm\)], "Input"], Cell["\<\ This table shows that LeftRectangles are the worst estimate to use \ for this integral. (16 slices are needed to make the LeftRectangle estimate \ accurate to 1 decimal place.) The table also shows that trapezoids are \ (surprizingly?) worse than MiddleRectangles: 22 slices are needed to make \ the Trapezoid estimate accurate to 2 decimal places, while it only takes 16 \ slices to make the MiddleRectangle estimate that good. But note that \ MiddleRectangles involve finding MORE points, which makes this rule \ computationally harder. Simpson's Rule is MUCH faster to converge: 2 slices \ (1 parabola) is enough to make the Simpson's Rule estimate accurate to 2 \ decimal places. The Simpson's Rule estimate for 8 slices (4 parabolas) is \ accurate to 3 decimal places, and the estimate for 22 slices (11 parabolas) \ is accurate to 6 decimal places.\ \>", "Text"], Cell[TextData[{ "Exercise 3. Continue the table for the error in the estimates for ", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%\(\[Pi]/2\)Sin[x] \[DifferentialD]x\)]], " out further. (In other words, look at higher values of ", StyleBox["n", FontSlant->"Italic"], ".) When does each estimate become accurate to 3 decimal places?)" }], "Text", FontColor->RGBColor[1, 0, 0]], Cell[TextData[{ "Exercise 4. Look at the error for all the estimation techiniques for some \ other integrals for which you know the exact value. Some suggested \ integrals include:\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%1\( 4\/\(x\^2 + \ 1\)\) \[DifferentialD]x\ = \ \[Pi]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_1\%3\( 1\/x\) \[DifferentialD]x\ = \ Log[3]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\(\[Integral]\_1\%2\( x\^4\) \[DifferentialD]x\ = \ 31/5\ \)\)]], " \nFor each rule, determine how many slices are needed to get an estimate \ that is accurate to 2 decimal places? How many are needed to get estimate \ that is accurate to 3 decimal places? " }], "Text", FontColor->RGBColor[1, 0, 0]], Cell["\<\ Why is Simpson's Rule so much better than the other rules? To \ partially answer that question, we can look at what happens to the error for \ a particular rule when the number of slices is doubled. \ \>", "Text"], Cell[BoxData[ \(f[x_]\ := \ Sin[x]; \na\ = \ 0; \nb\ = \ Pi/2; \ntrueValue\ = \ 1; \nTable[{2\ n, \ LeftError[4\ n]/LeftError[2\ n], \n \t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TrapError[4\ n]/TrapError[2\ n], \n \t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ MidError[4\ n]/MidError[2\ n], \n \t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SimpsonsError[2\ n]/SimpsonsError[n]}, \n \t\ \ \ \ \ \ \ \ \ \ \ \ \ {n, \ 1, \ 15}] // TableForm\)], "Input"], Cell[TextData[ "This table shows that if we double the number of slices, then:\n\n\t\tThe \ new error using left rectangles \[TildeTilde] 50% of the old error\n\t\tThe \ new error using trapezoids \[TildeTilde] 25% of the old error\n\t\tThe new \ error using middle rectangles \[TildeTilde] 25% of the old error\n\t\tThe new \ error using parabolas \[TildeTilde] 6.25% of the old error\n\nThat means that \ doubling the number of slices is far more effective at reducing the error in \ Simpson's Rule than it is in the other rules."], "Text"], Cell[TextData[{ "Exercise 5. Look at what happens to error when the number of slices is \ doubled for all the estimation techiniques for some other integrals for which \ you know the exact value. Some suggested integrals include:\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%1\( 4\/\(x\^2 + \ 1\)\) \[DifferentialD]x\ = \ \[Pi]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_1\%3\( 1\/x\) \[DifferentialD]x\ = \ Log[3]\)]], "\n\t\n\t", Cell[BoxData[ \(TraditionalForm \`\(\[Integral]\_1\%2\( x\^4\) \[DifferentialD]x\ = \ 31/5\ \)\)]], " \nFor each rule, determine how many slices are needed to get an estimate \ that is accurate to 2 decimal places? How many are needed to get estimate \ that is accurate to 3 decimal places? " }], "Text", FontColor->RGBColor[1, 0, 0]], Cell[TextData[{ "Exercise 6. (How bad are Trapezoids?) Rework Exercises 4 and 5 for ", Cell[BoxData[ \(TraditionalForm\`\[Integral]\_0\%\[Pi] Sin[x] \[DifferentialD]x\)]], ". Are Trapezoids any better than LeftRectangles? Why or why not? " }], "Text", FontColor->RGBColor[1, 0, 0]], Cell[TextData[{ "Exercise 7. (Can Simpson's Rule be slow?) Rework Exercises 4 and 5 for ", Cell[BoxData[ \(TraditionalForm \`\[Integral]\_0\%1\(\@\( 1 - x\^2\)\) \[DifferentialD]x\)]], ". Are Trapezoids any better than LeftRectangles? Is Simpson's Rule any \ better? What about MiddleRectangles? " }], "Text", FontColor->RGBColor[1, 0, 0]] }, Closed]], Cell[CellGroupData[{ Cell["Preview of what's to come", "Section"], Cell["\<\ We've seen that under most circumstances, Simpson's Rule appears to \ converge to the true value of an integral much faster than any of the other \ rules. But in order to be a truly useful numerical technique, we must be \ able to find estimates of integrals (for which twe DON'T know the true value) \ and be able to (somehow) justify the claim that the error in the estimate is \ sufficiently small. That's what we'll look at in next week's lab.\ \>", "Text"] }, Closed]] }, Open ]] }, FrontEndVersion->"Macintosh 3.0", ScreenRectangle->{{0, 800}, {0, 580}}, AutoGeneratedPackage->None, WindowSize->{671, 540}, WindowMargins->{{33, Automatic}, {Automatic, 5}}, StyleDefinitions -> "ACStyles.nb", MacintoshSystemPageSetup->"\<\ 00<0001804P000000]P2:?oQon82n@960dL5:0?l0080001804P000000]P2:001 0000I00000400`<300000BL?00400@0000000000000006P801T1T00000000000 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, 74, 0, 152, "Title"], Cell[1808, 53, 101, 4, 87, "Subtitle"], Cell[CellGroupData[{ Cell[1934, 61, 43, 0, 55, "Section"], Cell[1980, 63, 568, 15, 90, "Text"], Cell[2551, 80, 545, 23, 52, "Text"], Cell[3099, 105, 463, 10, 153, "Input", InitializationCell->True], Cell[3565, 117, 212, 6, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[3814, 128, 55, 0, 35, "Section"], Cell[3872, 130, 337, 9, 54, "Text"], Cell[4212, 141, 125, 3, 28, "Input", InitializationCell->True], Cell[4340, 146, 212, 6, 33, "Text"], Cell[4555, 154, 277, 9, 35, "Text"], Cell[4835, 165, 157, 2, 100, "Input"], Cell[4995, 169, 335, 6, 71, "Text"], Cell[5333, 177, 126, 3, 33, "Text"], Cell[5462, 182, 387, 12, 52, "Text"], Cell[5852, 196, 134, 2, 46, "Input"], Cell[5989, 200, 255, 5, 71, "Text"], Cell[6247, 207, 859, 21, 229, "Text"], Cell[7109, 230, 474, 11, 90, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[7620, 246, 120, 3, 58, "Section"], Cell[7743, 251, 1057, 20, 185, "Text"], Cell[8803, 273, 119, 3, 33, "Text"], Cell[8925, 278, 1870, 47, 82, "Input", InitializationCell->True], Cell[10798, 327, 50, 0, 33, "Text"], Cell[10851, 329, 115, 2, 28, "Input", InitializationCell->True], Cell[10969, 333, 44, 0, 33, "Text"], Cell[11016, 335, 1884, 47, 82, "Input", InitializationCell->True], Cell[12903, 384, 49, 0, 33, "Text"], Cell[12955, 386, 113, 2, 28, "Input", InitializationCell->True], Cell[13071, 390, 38, 0, 33, "Text"], Cell[13112, 392, 420, 9, 82, "Input", InitializationCell->True], Cell[13535, 403, 46, 0, 33, "Text"], Cell[13584, 405, 111, 2, 28, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[13732, 412, 76, 0, 35, "Section"], Cell[13811, 414, 455, 13, 71, "Text"], Cell[14269, 429, 291, 9, 55, "Text"], Cell[14563, 440, 238, 3, 136, "Input"], Cell[14804, 445, 885, 13, 185, "Text"], Cell[15692, 460, 412, 10, 54, "Text"], Cell[16107, 472, 817, 20, 191, "Text"], Cell[16927, 494, 224, 4, 52, "Text"], Cell[17154, 500, 539, 9, 172, "Input"], Cell[17696, 511, 542, 7, 185, "Text"], Cell[18241, 520, 866, 20, 210, "Text"], Cell[19110, 542, 300, 6, 54, "Text"], Cell[19413, 550, 367, 9, 67, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[19817, 564, 44, 0, 35, "Section"], Cell[19864, 566, 476, 8, 109, "Text"] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)