(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. 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[ 18354, 559]*) (*NotebookOutlinePosition[ 19335, 596]*) (* CellTagsIndexPosition[ 19244, 589]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Plotting Surfaces", "Title"], Cell[TextData[StyleBox["Chapter 11, Section 1 & beyond", FontFamily->"Arial", FontSize->16, FontWeight->"Bold"]], "Text"], Cell[CellGroupData[{ Cell["Introduction", "Section"], Cell[TextData[{ "OBJECTIVE: To learn how to use ", StyleBox["Mathematica", FontSlant->"Italic"], " to plot surfaces, contours, and level curves." }], "Text"], Cell[TextData[{ "In this module, you will learn how ", StyleBox["Mathematica", FontSlant->"Italic"], " can help plot functions of two variables. For the standard form, ", Cell[BoxData[ \(TraditionalForm\`z\ = \ f \((x, y)\)\)]], ", you will examine contours (", StyleBox["z", FontSlant->"Italic"], "-level curves) and ", StyleBox["x", FontSlant->"Italic"], "-level and ", StyleBox["y", FontSlant->"Italic"], "-level curves. Can you come up with a function that will stump your \ classmates when they attempt to match your functions with surface plots, \ contours, and level curves? This is a challenge for you to explore nontrivial \ functions and their graphs. All the codes for creating the necessary graphs \ are in this ", StyleBox["Mathematica", FontSlant->"Italic"], " notebook.\nWhen functions of two variables are expressed in cylindrical \ or spherical coordinates or are expressed parametrically, ", StyleBox["Mathematica", FontSlant->"Italic"], " can help you plot these surfaces.", StyleBox["\n", FontSize->11, FontWeight->"Bold", FontSlant->"Italic"] }], "Text"], Cell[CellGroupData[{ Cell["Technology Guidelines", "Subsection", CellDingbat->"\[LightBulb]"], Cell[TextData[{ StyleBox["NOTE: If you have just finished a module, restart ", CellFrame->True, Background->None], StyleBox["Mathematica", CellFrame->True, FontSlant->"Italic", Background->None], StyleBox[ " before executing a new module.\nTO OPEN CELLS, put your cursor on the \ right cell bracket and double click.", CellFrame->True, Background->None], "\nTO STOP AN EXECUTION\n\tSelect the ", StyleBox["Kernel", FontSlant->"Italic"], " pull-down menu and click on ", StyleBox["Abort Evaluation.\n", FontSlant->"Italic"], "ORDER OF EXECUTION\n\tExecute cells in the order given. Do not skip any \ Input cells within a given notebook.\nSAVING NOTEBOOKS\n\tYou can save \ anytime to any directory you choose, and it is wise to save often.\n\t\ However, before you do your final save, delete all your output by selecting \ the \n\t ", StyleBox["Delete All Output", FontSlant->"Italic"], " selection under the ", StyleBox["Kernel", FontSlant->"Italic"], " pull-down menu.\nEXPERIENCING MAJOR PROBLEMS\n\tSave if appropriate, and \ then shut down ", StyleBox["Mathematica", FontSlant->"Italic"], " and start it up again." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Part I: Surfaces, Contours, and Level Curves", "Section"], Cell[TextData[{ "The following code gives a set of ", StyleBox["Mathematica", FontSlant->"Italic"], " commands that can be used in defining and plotting surfaces in \ three-dimensional space. You can get more information on these commands and \ their options in the Help menu. You can insert several new functions of your \ own, each of a different type, to develop a visualization of different \ surfaces. Try some new options for the plots as well." }], "Text"], Cell[BoxData[{ \(Off[General::spell]\ \), "\n", \(Off[General::spell1]\ \), "\n", \(Clear[x, y, z, f]\), "\n", \(f[x_, y_] := Exp[\(-\((x\^2 + y\^2)\)\)/ 8] \((\((Cos[x])\)\^2 + \((Sin[y])\)\^2)\)\), "\n", \(\(xmin = \(-5\);\)\), "\n", \(\(xmax = \(+5\);\)\), "\n", \(\(ymin = \(-N[\[Pi]]\);\)\), "\n", \(\(ymax = \(+N[\[Pi]]\);\)\), "\n", \(\(pict = Plot3D[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, PlotPoints \[Rule] 40, AxesLabel -> {x, y, z}];\)\), "\n", \(\(Show[pict, ViewPoint \[Rule] {0, \(-2\), 0}];\)\)}], "Input"], Cell[TextData[{ "Determine which axis is which, and experiment with different viewpoints \ for the above plot. Click on About ", StyleBox["Mathematica", FontSlant->"Italic"], StyleBox[" if you need help with this.", FontVariations->{"CompatibilityType"->0}] }], "Text"], Cell[BoxData[ ButtonBox[ ButtonBox[ RowBox[{ StyleBox["\[MathematicaIcon]", FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]]}], ButtonStyle->"Paste"], ButtonData:>"h1", ButtonStyle->"Hyperlink"]], "Input", Evaluatable->False, CellTags->"hb1"], Cell[TextData[{ "Now, look at the curves along which the ", StyleBox["z", FontSlant->"Italic"], "-coordinate is a constant. What is the difference between the two plots \ below, and what does light to dark signify in the first plot?" }], "Text"], Cell[BoxData[{ \(\(ContourPlot[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, PlotPoints \[Rule] 40, Axes -> True, AxesLabel -> {x, y}];\)\), "\n", \(\(ContourPlot[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, ContourShading \[Rule] False, PlotPoints \[Rule] 40, Axes -> True, AxesLabel -> {x, y}];\)\)}], "Input"], Cell[TextData[{ "Next, look at the curves formed when you hold ", StyleBox["x", FontSlant->"Italic"], " or ", StyleBox["y", FontSlant->"Italic"], " constant." }], "Text"], Cell[BoxData[{ \(Clear[x, y]\), "\n", \(\(xlevel = Table[f[x, y], {x, xmin, xmax}];\)\), "\n", \(\(Plot[Evaluate[xlevel], {y, ymin, ymax}, AxesLabel -> {y, z}]\ ;\)\)}], "Input"], Cell[BoxData[{ \(Clear[x, y]\), "\n", \(\(ylevel = Table[f[x, y], {y, ymin, ymax, .5}];\)\), "\n", \(\(Plot[Evaluate[ylevel], {x, xmin, xmax}, AxesLabel -> {x, z}]\ ;\)\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Part I: Stump Your Classmates", "Section"], Cell[TextData[{ "You are to submit a printout showing a function, its surface plot, its \ contour plot, and its ", StyleBox["x-", FontSlant->"Italic"], "level and ", StyleBox["y", FontSlant->"Italic"], "-level plots. Print each on a different sheet. Try to select a function \ that will stump your classmates. Your teacher may want to include all the \ students' results as a set of plots to match up on the next exam, so send \ your notebooks to the teacher electronically." }], "Text"], Cell[TextData[StyleBox[ "I usually have my students work in pairs to come up with a good function. \ Then I include their problems on the next exam and ask students match the \ functions-surfaces-contours-level curves, giving points to the pair who find \ a function that stumps the most classmates.", FontColor->GrayLevel[0]]], "Text", FontColor->RGBColor[0, 0, 1], Background->RGBColor[0, 1, 1]], Cell[TextData[{ "Just put in your own functions and bounds for the items in red. Be sure to \ use correct notation. You can select any viewpoint you wish for the ", StyleBox["Show", FontWeight->"Bold"], " command." }], "Text"], Cell[BoxData[{\(Clear[x, y, z, f]\), "\n", RowBox[{\(f[x_, y_]\), ":=", StyleBox[\(Exp[\(-\((x\^2 + y\^2)\)\)/ 8] \((\((Cos[x])\)\^2 + \((Sin[y])\)\^2)\)\), FontColor->RGBColor[1, 0, 0]]}], "\n", RowBox[{ RowBox[{"xmin", "=", StyleBox[\(-5\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"xmax", "=", StyleBox[\(+5\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"ymin", "=", StyleBox[\(-N[\[Pi]]\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"ymax", "=", StyleBox[\(+N[\[Pi]]\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", \(pict = Plot3D[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, PlotPoints \[Rule] 40, AxesLabel -> {x, y, z}]\), ";", "\n", RowBox[{"Show", "[", RowBox[{"pict", ",", RowBox[{"ViewPoint", "\[Rule]", RowBox[{"{", StyleBox[\(0, \(-2\), 0\), FontColor->RGBColor[1, 0, 0]], "}"}]}]}], "]"}], ";"}]}], "Input"], Cell[BoxData[{ \(\(ContourPlot[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, PlotPoints \[Rule] 40, Axes -> True, AxesLabel -> {x, y}];\)\), "\n", \(\(ContourPlot[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, ContourShading \[Rule] False, PlotPoints \[Rule] 40, Axes -> True, AxesLabel -> {x, y}];\)\)}], "Input"], Cell[BoxData[{ \(Clear[x, y, z]\), "\n", \(\(xlevel = Table[f[x, y], {x, xmin, xmax, \((xmax - xmin)\)/10}];\)\), "\n", \(\(Plot[Evaluate[xlevel], {y, ymin, ymax}, AxesLabel -> {y, z}]\ ;\)\)}], "Input"], Cell[BoxData[{ \(Clear[x, y, z]\), "\n", \(\(ylevel = Table[f[x, y], {y, ymin, ymax, \((ymax - ymin)\)/10}];\)\), "\n", \(\(Plot[Evaluate[ylevel], {x, xmin, xmax}, AxesLabel -> {x, z}]\ ;\)\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Part II: Implicit Plots in Three Dimensions ", "Section"], Cell[TextData[{ "In the last chapter (Chapter 10), you used a ", StyleBox["ContourPlot3D", FontWeight->"Bold"], " command to plot cylinders and quadric surfaces. Now you understand better \ what contours are. Imagine an object in 4 dimensions. Its contours would be \ 3-dimensional surfaces. That is how we interpret such surfaces when plotting \ them in ", StyleBox["Mathematica", FontSlant->"Italic"], ". We first need to read in the ", StyleBox["ContourPlot3D", FontWeight->"Bold"], " package. Recall that the default assumes that the function is equal to \ 0." }], "Text"], Cell[BoxData[ RowBox[{"<<", StyleBox[ RowBox[{"Graphics", StyleBox["`", "MB"], "ContourPlot3D", StyleBox["`", "MB"]}]]}]], "Input"], Cell[BoxData[{ \(Clear[x, y, z]\), "\n", \(\(function = z\^3 + 2 x\^2 - 3 y\^2;\)\), "\n", \(\(ContourPlot3D[ function, \n\ \ \ {x, \(-3\), 3}, \ {y, \(-2\), 2}, \ {z, \(-4\), 4}, \n\ \ \ \ \ Axes -> True, AxesLabel -> {x, y, z}, Boxed -> False];\)\)}], "Input"], Cell["\<\ Let's see what it looks like when we draw three level surfaces.\ \>", "Text"], Cell[BoxData[{ \(\(function = 9 x^2\ + \ 16 y^2\ - 4\ z^2\ + 1;\)\), "\n", \(\(ContourPlot3D[\ \ function, \n\ {x, \(-2\), 2}, \ {y, \(-2\), 2}, \ {z, \(-2\), 2}, Contours -> {16. , 4. , 0. }, Axes -> True, AxesLabel -> {x, y, z}, Boxed -> False];\)\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Part II", "Section"], Cell[TextData[{ "Be sure that you have already read in the package in Part II. If you have, \ there is no need to read it in again. Now, select a function of three \ variables; be certain that the function is defined over the domain (", Cell[BoxData[ \(TraditionalForm\`x, \ y, \)]], " and ", StyleBox["z", FontSlant->"Italic"], " bounds) you specify." }], "Text"], Cell[BoxData[{\(Clear[x, y, z]\), "\n", RowBox[{ RowBox[{"function", "=", StyleBox[\(z\^3 + 2 x\^2 - 3 y\^2\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", \(ContourPlot3D[ function, \n\ \ \ {x, \(-3\), 3}, \ {y, \(-2\), 2}, \ {z, \(-4\), 4}, \n\ \ \ \ \ Axes -> True, AxesLabel -> {x, y, z}, Boxed -> False]\), ";"}]}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Part III: Cylindrical, Spherical, and Parametric Plots", "Section"], Cell[TextData[{ "Certain surfaces are easier than others to express in cylindrical or \ spherical coordinates. To plot such surfaces in ", StyleBox["Mathematica", FontSlant->"Italic"], ", we must first read in a plotting package. As you can tell from its name, \ this package plots parametrically in 3 dimensions also. For cylindrical \ plots, it is assumed that ", Cell[BoxData[ \(TraditionalForm\`\(\(z\)\(\ \)\)\)]], "is given as a function of r and \[Theta]. For spherical plots, it is \ assumed that \[Rho] is given as a function of \[Phi] and \[Theta]." }], "Text"], Cell[BoxData[ \(\(\(<<\)\(Graphics`ParametricPlot3D`\)\(\ \)\)\)], "Input"], Cell[TextData[{ "Here is the graph of z = ", Cell[BoxData[ \(TraditionalForm\`r\^2\)]], "/(1 + Cos[\[Theta]])" }], "Text"], Cell[BoxData[{ \(Clear[r, \[Theta]]\), "\n", \(\(CylindricalPlot3D[\ \ r\^2/\((1\ + \ Cos[\[Theta]])\), \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {r, \ 0, 1}, \ {\[Theta], \ 0, \ 2 Pi}, AxesLabel -> {x, y, z}]\ ;\)\)}], "Input"], Cell[TextData["Next is a graph of \[Rho] = \[Phi] - \[Theta] ."], "Text"], Cell[BoxData[ \(\(SphericalPlot3D[\ \[Phi]\ - \[Theta], \n\ \ {\[Theta], \ 0, 2 Pi}, \ {\[Phi], \ 0, Pi}, AxesLabel -> {x, y, z}];\)\)], "Input"], Cell[TextData[{ "As long as we have this package opened, let's plot a parametric surface in \ three dimensions. The input is an ordered triple of the form", Cell[BoxData[ \(TraditionalForm\`\(\(\ \)\({x, y, z}\)\)\)]], ". These variables are set equal to functions of parameters ", StyleBox["u ", FontSlant->"Italic"], "and ", StyleBox["v", FontSlant->"Italic"], "." }], "Text"], Cell[BoxData[{ \(Clear[u, v]\), "\n", \(\(ParametricPlot3D[{u + v, u - v, u\ v}, {u, \(-2\), 2}, {v, \(-2\), 2}, AxesLabel -> {x, y, z}, Boxed -> False];\)\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Part III", "Section"], Cell["\<\ Go back to any of the plots and alter the functions as you wish. Be sure to \ use correct notation.Note that many spherical plots take quite a bit of time \ to plot. If you find you are waiting too long, you can always pull down the \ Kernel and select Abort Evaluation.\ \>", "Text"], Cell[TextData[ "Replace the red in the cylindrical plot with a function of r and \[Theta]. \ "], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"CylindricalPlot3D", "[", " ", RowBox[{ StyleBox[\(r\^2/\((1\ + \ Cos[\[Theta]])\)\), FontColor->RGBColor[1, 0, 0]], ",", "\n", " ", \({r, \ 0, 1}\), ",", " ", \({\[Theta], \ 0, \ 2 Pi}\), ",", \(AxesLabel -> {x, y, z}\)}], "]"}], " ", ";"}]], "Input"], Cell[TextData[ "Replace the red in the spherical plot with a function of \[Phi] and \ \[Theta]. "], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"SphericalPlot3D", "[", StyleBox[" ", FontColor->RGBColor[1, 0, 0]], RowBox[{ StyleBox[\(\[Phi]\ - \[Theta]\), FontColor->RGBColor[1, 0, 0]], ",", "\n", " ", \({\[Theta], \ 0, 2 Pi}\), ",", " ", \({\[Phi], \ 0, Pi}\), ",", \(AxesLabel -> {x, y, z}\)}], "]"}], ";"}]], "Input"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["\[MathematicaIcon]", FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]] }], "Section", CellDingbat->None], Cell[TextData[{ "You can change the viewpoint manually in the last command, or you can \ highlight the ", StyleBox["ViewPoint", FontWeight->"Bold"], " selector command and then select the ", StyleBox["3D ViewPoint Selector", FontWeight->"Bold"], " button under the Input heading at the top. Move the box around to select \ a new viewpoint; then paste that viewpoint into your code.\n", ButtonBox["Go back.", ButtonData:>"hb1", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h1"] }, Closed]] }, Open ]] }, FrontEndVersion->"4.0 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, WindowSize->{466, 314}, WindowMargins->{{268, Automatic}, {Automatic, 29}}, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic}, StyleDefinitions -> "Default.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->{ "hb1"->{ Cell[6087, 186, 851, 25, 40, "Input", Evaluatable->False, CellTags->"hb1"]}, "h1"->{ Cell[17791, 540, 535, 15, 90, "Text", CellTags->"h1"]} } *) (*CellTagsIndex CellTagsIndex->{ {"hb1", 19050, 578}, {"h1", 19153, 582} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 34, 0, 105, "Title"], Cell[1776, 53, 127, 3, 37, "Text"], Cell[CellGroupData[{ Cell[1928, 60, 31, 0, 53, "Section"], Cell[1962, 62, 168, 5, 52, "Text"], Cell[2133, 69, 1150, 32, 222, "Text"], Cell[CellGroupData[{ Cell[3308, 105, 74, 1, 47, "Subsection"], Cell[3385, 108, 1209, 34, 318, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[4643, 148, 63, 0, 33, "Section"], Cell[4709, 150, 473, 9, 109, "Text"], Cell[5185, 161, 613, 14, 251, "Input"], Cell[5801, 177, 283, 7, 52, "Text"], Cell[6087, 186, 851, 25, 40, "Input", Evaluatable->False, CellTags->"hb1"], Cell[6941, 213, 255, 6, 71, "Text"], Cell[7199, 221, 352, 6, 110, "Input"], Cell[7554, 229, 188, 8, 33, "Text"], Cell[7745, 239, 201, 4, 90, "Input"], Cell[7949, 245, 206, 4, 90, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[8192, 254, 60, 0, 33, "Section"], Cell[8255, 256, 506, 12, 109, "Text"], Cell[8764, 270, 403, 7, 106, "Text"], Cell[9170, 279, 236, 6, 52, "Text"], Cell[9409, 287, 1094, 27, 211, "Input"], Cell[10506, 316, 352, 6, 110, "Input"], Cell[10861, 324, 235, 5, 110, "Input"], Cell[11099, 331, 235, 5, 110, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[11371, 341, 63, 0, 33, "Section"], Cell[11437, 343, 602, 15, 128, "Text"], Cell[12042, 360, 196, 7, 30, "Input"], Cell[12241, 369, 306, 6, 130, "Input"], Cell[12550, 377, 87, 2, 33, "Text"], Cell[12640, 381, 297, 4, 110, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[12974, 390, 38, 0, 33, "Section"], Cell[13015, 392, 384, 10, 71, "Text"], Cell[13402, 404, 395, 8, 130, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[13834, 417, 73, 0, 33, "Section"], Cell[13910, 419, 591, 12, 109, "Text"], Cell[14504, 433, 79, 1, 30, "Input"], Cell[14586, 436, 135, 5, 33, "Text"], Cell[14724, 443, 264, 5, 92, "Input"], Cell[14991, 450, 74, 0, 33, "Text"], Cell[15068, 452, 162, 2, 50, "Input"], Cell[15233, 456, 406, 12, 71, "Text"], Cell[15642, 470, 189, 3, 70, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[15868, 478, 39, 0, 33, "Section"], Cell[15910, 480, 294, 5, 90, "Text"], Cell[16207, 487, 104, 2, 33, "Text"], Cell[16314, 491, 374, 8, 72, "Input"], Cell[16691, 501, 107, 2, 33, "Text"], Cell[16801, 505, 392, 9, 50, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[17230, 519, 558, 19, 33, "Section"], Cell[17791, 540, 535, 15, 90, "Text", CellTags->"h1"] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)