(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 40146, 1221] NotebookOptionsPosition[ 29729, 971] NotebookOutlinePosition[ 35707, 1108] CellTagsIndexPosition[ 34346, 1079] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell["Differential Properties of Curves and Surfaces", "Title"], Cell[CellGroupData[{ Cell["Examples of a parameterized surface with embedded curves", "Subtitle", CellChangeTimes->{{3.3992161619045563`*^9, 3.399216165588896*^9}}, CellTags->"mmtag:12:ParametricPlot3D[]__example_of_parametric_surface"], Cell["\<\ Create an example function that returns a position {x, y, z} as a function of \ two parameters\ \>", "Text", CellChangeTimes->{{3.399215505616543*^9, 3.399215530055876*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"FlowerPot", "[", RowBox[{"u_", ",", " ", "v_"}], "]"}], " ", ":=", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"3", " ", "+", " ", RowBox[{"Cos", "[", "v", "]"}]}], ")"}], RowBox[{"Cos", "[", "u", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "u", "]"}], " ", "+", " ", RowBox[{ RowBox[{"(", RowBox[{"3", " ", "+", " ", RowBox[{"Cos", "[", "v", "]"}]}], ")"}], RowBox[{"Sin", "[", "u", "]"}]}]}], ",", " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"3", "/", "2"}], " ", "+", " ", RowBox[{"Cos", "[", RowBox[{"u", "+", "v"}], "]"}]}], ")"}], RowBox[{"Sin", "[", "v", "]"}]}]}], "}"}]}]], "Input", CellTags->"mmtag:12:parametric_surfaces_example"], Cell["Visualize it.", "Text", CellChangeTimes->{{3.399215542493936*^9, 3.3992155493005457`*^9}}], Cell[BoxData[ RowBox[{"Flowerplot", " ", "=", " ", RowBox[{"ParametricPlot3D", "[", RowBox[{ RowBox[{"FlowerPot", "[", RowBox[{"u", ",", "v"}], "]"}], ",", RowBox[{"{", RowBox[{"u", ",", "0", ",", RowBox[{"2", " ", "Pi"}]}], "}"}], ",", RowBox[{"{", RowBox[{"v", ",", "0", ",", RowBox[{"2", " ", "Pi"}]}], "}"}], ",", RowBox[{"PlotPoints", "->", RowBox[{"{", RowBox[{"120", ",", "40"}], "}"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Brown", ",", RowBox[{"Opacity", "[", "0.6", "]"}], ",", RowBox[{"Specularity", "[", RowBox[{"White", ",", "40"}], "]"}]}], "]"}]}], ",", RowBox[{"Mesh", "\[Rule]", "None"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.399043453847481*^9, 3.399043492208448*^9}, { 3.399043535524631*^9, 3.399043620904811*^9}}], Cell["A Curve on a parameritized surface", "Section", CellTags->"mmtag:12:curve_on_parameritized_surface"], Cell["\<\ Now, we call the function again, but make the two parameters {u,v}, depend on \ a single parameter t (*note when visualizing this curve, it has been scaled \ in and out a little so it will be visible in subsequent visualizations*)\ \>", "Text", CellChangeTimes->{{3.399215505616543*^9, 3.399215530055876*^9}, { 3.399215570806232*^9, 3.399215658892761*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"Vines", "[", "t_", "]"}], " ", ":=", RowBox[{"FlowerPot", "[", RowBox[{ RowBox[{"t", " ", RowBox[{"Cos", "[", "t", "]"}]}], ",", RowBox[{ RowBox[{"-", RowBox[{"t", "^", "2"}]}], RowBox[{"Sin", "[", " ", "t", "]"}]}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{"vineplot", " ", "=", RowBox[{"ParametricPlot3D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"1.05", "*", RowBox[{"Vines", "[", "t", "]"}]}], ",", RowBox[{"0.95", "*", RowBox[{"Vines", "[", "t", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", " ", RowBox[{"2", " ", "Pi"}]}], "}"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.025", "]"}], ",", RowBox[{"Darker", "[", "Green", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.025", "]"}], ",", RowBox[{"Darker", "[", "Green", "]"}]}], "}"}]}], "}"}]}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.3990438399149218`*^9, 3.399043863987595*^9}, { 3.3990439126995153`*^9, 3.399043926222904*^9}, {3.399043990300321*^9, 3.399043995225209*^9}, {3.399044254646842*^9, 3.399044308603142*^9}, { 3.399044344988078*^9, 3.3990444559069643`*^9}, {3.399044911270732*^9, 3.3990449155469303`*^9}}], Cell["\<\ This is the paramertized surface with a curve embedded in the surface.\ \>", "Text", CellChangeTimes->{{3.399215667966352*^9, 3.399215688652811*^9}}], Cell[BoxData[ RowBox[{"Show", "[", RowBox[{"vineplot", ",", "Flowerplot"}], "]"}]], "Input", CellChangeTimes->{3.399043947482749*^9}] }, Open ]], Cell[CellGroupData[{ Cell["Arc Length and Re-parameterizing Curves", "Subtitle"], Cell["\<\ Make up two functions that will illustrate the difference between a curve's \ parameter and its arclength\ \>", "Text", CellChangeTimes->{{3.399215701352624*^9, 3.399215721356524*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"PrettyFlower", "[", "t_", "]"}], " ", ":=", " ", RowBox[{ RowBox[{"(", RowBox[{ FractionBox["1", "4"], " ", "+", RowBox[{ FractionBox["3", "4"], RowBox[{"Cos", "[", RowBox[{"3", "t"}], "]"}]}]}], ")"}], RowBox[{"{", " ", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "t", "]"}], "^", "3"}], ",", " ", RowBox[{ RowBox[{"Sin", "[", "t", "]"}], "^", "3"}], ",", " ", RowBox[{ RowBox[{"Sin", "[", "t", "]"}], " ", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], "^", "2"}]}]}], "}"}]}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"Bendy", "[", "t_", " ", "]"}], " ", ":=", " ", RowBox[{"{", " ", RowBox[{ RowBox[{"Cos", "[", "t", "]"}], ",", " ", RowBox[{"Sin", "[", "t", "]"}], ",", " ", RowBox[{ RowBox[{"Sin", "[", "t", "]"}], RowBox[{"Cos", "[", "t", "]"}]}]}], "}"}]}]], "Input"], Cell[TextData[{ "\nHere is a general way to take a function of a general parameter, ", StyleBox["t", FontSlant->"Italic"], ", and compute the arc length traversed as ", StyleBox["t", FontSlant->"Italic"], " varies from one value to another:" }], "Text", CellChangeTimes->{{3.3992139291990623`*^9, 3.399213934149534*^9}}], Cell[BoxData[ RowBox[{"dFlowerDt", " ", "=", RowBox[{"Simplify", "[", RowBox[{"D", "[", RowBox[{ RowBox[{"PrettyFlower", "[", "t", "]"}], ",", "t"}], "]"}], "]"}]}]], "Input", CellTags->"mmtag:12:parametric_curves__derivative_along"], Cell["\<\ This is the arclength up to the parameter t, the integral does not have a \ closed-form\ \>", "Text", CellChangeTimes->{{3.399214005886011*^9, 3.399214015708399*^9}}], Cell[BoxData[ RowBox[{"sFlower", " ", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{"Simplify", "[", RowBox[{"dFlowerDt", ".", "dFlowerDt"}], "]"}], "]"}], ",", "t"}], "]"}]}]], "Input", CellTags->{ "mmtag:12:parametric_curves__integrating_along", "mmtag:12:parametric_curves__computing_arclength"}], Cell[BoxData[ RowBox[{ RowBox[{"In", " ", "other", " ", "words"}], ",", " ", RowBox[{ SuperscriptBox["ds", "2"], "=", " ", RowBox[{ SuperscriptBox["dx", "2"], " ", "+", " ", SuperscriptBox["dy", "2"], " ", "+", " ", RowBox[{ SuperscriptBox["dz", "2"], " ", "so", " ", "integrating", " ", "the", " ", "square", " ", "root", " ", "of", " ", "this", " ", "is", " ", "the", " ", "arclength"}]}]}]}]], "Text"], Cell["Applying this to the function Bendy defined above:", "Text"], Cell[BoxData[ RowBox[{"dBendyDt", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"Bendy", "[", "t", "]"}], ",", "t"}], "]"}]}]], "Input"], Cell["\<\ This is the arclength up to the parameter t, the integral does have a \ closed-form, but is not easily invertible.\ \>", "Text", CellChangeTimes->{{3.399214042542034*^9, 3.399214067844603*^9}}], Cell[BoxData[ RowBox[{"sBendy", " ", "=", RowBox[{"Integrate", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{"dBendyDt", ".", "dBendyDt"}], "]"}], ",", "t"}], "]"}]}]], "Input"], Cell[TextData[{ "The arc length in this case is given by a tabulated function called an \ elliptic integral and after checking its behavior at ", StyleBox["t", FontSlant->"Italic"], " = 0 we can plot it over the range {t,0,2\[Pi]}:" }], "Text"], Cell[BoxData[ RowBox[{"sBendy", "/.", RowBox[{"t", "\[Rule]", "0"}]}]], "Input"], Cell["\<\ However, the inverse exits, we can find a t(s) (the curve parameter t for any \ arclength s)\ \>", "Text", CellChangeTimes->{{3.3992140844707537`*^9, 3.399214174428393*^9}}], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{"sBendy", ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{"2", "Pi"}]}], "}"}]}], "]"}]], "Input"], Cell["\<\ Alternatively, we can evaluate the expression for arc length numerically \ using the following:\ \>", "Text", CellChangeTimes->{3.399214179788702*^9}], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{"NIntegrate", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{"dFlowerDt", ".", "dFlowerDt"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "uplim"}], "}"}]}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"uplim", ",", "0", ",", "6.4"}], "}"}]}], "]"}]], "Input", CellTags->{"mmtag:12:NIntegrate[]", "mmtag:12:NIntegrate[]_and_plotting"}] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Multivariable Calculus: ", StyleBox["Mathematica", FontSlant->"Italic"], " Review" }], "Subtitle"], Cell["AScalarFunction is defined everywhere in (x,y,z)", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{"x_", " ", ",", " ", "y_", " ", ",", " ", "z_"}], "]"}], " ", ":=", " ", RowBox[{"SomeFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"AScalarFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}]], "Input"], Cell[TextData[{ "The following lines print ", StyleBox["and", FontVariations->{"Underline"->True}], " they define expressions." }], "Text"], Cell[BoxData[{ RowBox[{ RowBox[{ "Print", "[", "\"\\"", " ", "]"}], ";", " ", RowBox[{"dFuncX", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}], ",", "x"}], "]"}]}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "Print", "[", "\"\\"", " ", "]"}], ";", " ", RowBox[{"dFuncY", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}], ",", "y"}], "]"}]}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "Print", "[", "\"\\"", " ", "]"}], ";", " ", RowBox[{"dFuncZ", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}], ",", "z"}], "]"}]}]}], "\[IndentingNewLine]"}], "Input", CellTags->{"mmtag:12:partial_derivatives", "mmtag:12:D[]"}], Cell[CellGroupData[{ Cell[TextData[{ "In the output lines above, partial derivatives are denoted by superscripts: \ e.g., (1,0,0) indicates the first partial derivative with respect to the \ first variable, ", StyleBox["x", FontSlant->"Italic"], ". The second partial with respect to y and z would be denoted by a \ superscript (0,1,1)." }], "Text"], Cell["\<\ x(w,v), y(w,v), z(w,v) is a restriction of all space to a surface \ parameterized by (w,v), AScalarFunction is now defined on the surface as a function of (w,v)\ \>", "Text"], Cell[BoxData[ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"y", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"z", "[", RowBox[{"w", ",", "v"}], "]"}]}], "]"}]], "Input", CellTags->"mmtag:12:partial_derivatives__restricted_to_surface"], Cell[TextData[{ "Because it is now a function of ", StyleBox["w", FontSlant->"Italic"], " and ", StyleBox["v", FontSlant->"Italic"], ", the derivative with respect to ", StyleBox["x", FontSlant->"Italic"], " will vanish:" }], "Text"], Cell[BoxData[ RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{"w", ",", "v"}], "]"}], ",", RowBox[{"y", "[", RowBox[{"w", ",", "v"}], "]"}], ",", RowBox[{"z", "[", RowBox[{"w", ",", "v"}], "]"}]}], "]"}], ",", "x"}], "]"}]], "Input"], Cell["\<\ Two more flavors of derivatives, these are partial derivatives evaluated on \ the surface\ \>", "Text"], Cell[BoxData[ RowBox[{"dFuncW", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"y", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"z", "[", RowBox[{"w", ",", "v"}], "]"}]}], "]"}], ",", "w"}], "]"}]}]], "Input"], Cell[BoxData[ RowBox[{"dFuncV", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"y", "[", RowBox[{"w", ",", "v"}], "]"}], ",", " ", RowBox[{"z", "[", RowBox[{"w", ",", "v"}], "]"}]}], "]"}], ",", "v"}], "]"}]}]], "Input"], Cell["\<\ On the surface x(w,v), y(w,v), z(w,v), we can prescribe a curve w(t), v(t), \ now we have AScalarFunction defined on that curve\ \>", "Text"], Cell[BoxData[ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}], ",", " ", RowBox[{"y", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}], ",", " ", RowBox[{"z", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}]}], "]"}]], "Input"], Cell["\<\ The following is a derivative of the function along the curve parameterized \ by t\ \>", "Text"], Cell[BoxData[ RowBox[{"dFuncT", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}], ",", " ", RowBox[{"y", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}], ",", " ", RowBox[{"z", "[", RowBox[{ RowBox[{"w", "[", "t", "]"}], ",", RowBox[{"v", "[", "t", "]"}]}], "]"}]}], "]"}], ",", "t"}], "]"}]}]], "Input", CellTags->"mmtag:12:total_derivative__example_of_curve"] }, Open ]], Cell[TextData[{ "Note on the step immediately above: by specifying ", StyleBox["w", FontSlant->"Italic"], " and ", StyleBox["v", FontSlant->"Italic"], ", values of ", StyleBox["x", FontSlant->"Italic"], " and ", StyleBox["y", FontSlant->"Italic"], " are specified, and additionally values of ", StyleBox["z", FontSlant->"Italic"], ". The three functions ", StyleBox["x", FontSlant->"Italic"], "(", StyleBox["w,v", FontSlant->"Italic"], "), ", StyleBox["y", FontSlant->"Italic"], "(", StyleBox["w,v", FontSlant->"Italic"], "), and ", StyleBox["z", FontSlant->"Italic"], "(", StyleBox["w,v", FontSlant->"Italic"], ") together describe a surface---it specifies that three points can be \ specified by two values (A familiar case is when w=x, and v=y, then z(x,y) is \ a surface that can be specified over the x-y plane. The functions ", StyleBox[" w", FontSlant->"Italic"], "(", StyleBox["t", FontSlant->"Italic"], ")", StyleBox[" ", FontSlant->"Italic"], "and ", StyleBox["v", FontSlant->"Italic"], "(", StyleBox["t", FontSlant->"Italic"], ") trace out a plane curve on the w-v surface and map onto a corresponding \ twisted curve (see Kreyszig p.429 for distinction between \"plane\" and \ \"twisted\" if it is not obvious)." }], "Text"], Cell["\<\ Finally, we could skip the surface and just define a space curve x(t), y(t), \ z(t) and take the derivative of AScalarFunc along that curve:\ \>", "Text"], Cell[BoxData[ RowBox[{"dFuncT", " ", "=", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "[", "t", "]"}], ",", " ", RowBox[{"y", "[", "t", "]"}], ",", RowBox[{"z", "[", "t", "]"}]}], "]"}], ",", "t"}], "]"}]}]], "Input", CellTags->"mmtag:12:total_derivative__example_of_thermodynamic_variation"], Cell[BoxData[{ RowBox[{ RowBox[{"This", " ", "last", " ", "equation", " ", "is", " ", "the", " ", RowBox[{"form", ":", " ", FractionBox["dF", "dt"]}]}], "=", " ", RowBox[{ RowBox[{ RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "x"}]], FractionBox["dx", "dt"]}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "y"}]], FractionBox["dy", "dt"]}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "z"}]], FractionBox["dz", "dt"], " ", "which", " ", "looks", " ", "like", " ", "a", " ", "thermodynamic", " ", "expression", " ", "if", " ", "we", " ", "multiply", " ", "both", " ", "sides", " ", "by", " ", RowBox[{ "dt", ":", "\[IndentingNewLine]", "\[IndentingNewLine]", "dF"}]}]}], "=", " ", RowBox[{ RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "x"}]], "dx"}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "y"}]], "dy"}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "z"}]], "dz"}]}]}]}], "\[IndentingNewLine]", RowBox[{"Here", ",", " ", RowBox[{ "dF", " ", "is", " ", "interpreted", " ", "as", " ", "any", " ", "change", " ", "in", " ", "the", " ", "scalar", " ", "function", " ", "if", " ", "its", " ", "variables", " ", "are", " ", "also", " ", "changed", " ", "dx"}], ",", " ", "dy", ",", " ", "dz"}]}], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Approximations (Taylor Expansions) as a function of the point of expansion\ \>", "Subtitle", CellChangeTimes->{{3.39921596074095*^9, 3.399215980940633*^9}}, CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"], Cell["\<\ Getting Mathematica to represent a general change in a \ function--multidimensional versions of Taylor expansions\ \>", "Section"], Cell["\<\ This is symbolic representation of a first order expansion (keeping all \ terms) of a function near x,y,z\ \>", "Text", CellChangeTimes->{{3.399215776153471*^9, 3.3992158103479033`*^9}, { 3.3992158432847013`*^9, 3.399215868292624*^9}}], Cell[BoxData[ RowBox[{"SmallChangeSeries", " ", "=", " ", RowBox[{ RowBox[{"Expand", "[", RowBox[{"Series", "[", RowBox[{ RowBox[{"AScalarFunction", "[", RowBox[{ RowBox[{"x", "+", " ", "dx"}], ",", " ", RowBox[{"y", " ", "+", " ", "dy"}], ",", " ", RowBox[{"z", " ", "+", " ", "dz"}]}], "]"}], ",", RowBox[{"{", RowBox[{"dx", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"dy", ",", "0", ",", "1"}], "}"}], ",", " ", RowBox[{"{", RowBox[{"dz", ",", "0", ",", "1"}], "}"}]}], "]"}], "]"}], " ", "-", " ", RowBox[{"AScalarFunction", "[", RowBox[{"x", ",", "y", ",", "z"}], "]"}]}]}]], "Input", CellTags->{"mmtag:12:Series[]", "mmtag:12:Expand[]"}], Cell["\<\ Using normal converts the approximation into an expression, but higher order \ terms are still present\ \>", "Text", CellChangeTimes->{{3.399215776153471*^9, 3.3992158103479033`*^9}, { 3.3992158432847013`*^9, 3.3992159144685717`*^9}}], Cell[BoxData[ RowBox[{"dScalarFunction", " ", "=", " ", RowBox[{"Expand", "[", RowBox[{"Normal", "[", "SmallChangeSeries", "]"}], "]"}]}]], "Input", CellTags->{ "mmtag:12:Normal[]__turning_a_series_representation_into_an_expression", "mmtag:12:series_representation__converting_to_an_expression"}], Cell["\<\ The next step eliminates second- and third-order terms\[Ellipsis] (remember, \ dx, dy, and dz are small)\ \>", "Text"], Cell[BoxData[ RowBox[{"dScalarFunction", " ", "=", " ", RowBox[{"dScalarFunction", "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"dx", " ", "dy"}], " ", "\[Rule]", " ", "0"}], ",", " ", RowBox[{ RowBox[{"dy", " ", "dz"}], "\[Rule]", "0"}], ",", " ", RowBox[{ RowBox[{"dx", " ", "dz"}], "\[Rule]", "0"}]}], "}"}], " "}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ "The", " ", "above", " ", "form", " ", "is", " ", "like", " ", "the", " ", "thermodynamic", " ", RowBox[{"expression", ":", "\[IndentingNewLine]", "dF"}]}], "=", " ", RowBox[{ RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "x"}]], "dx"}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "y"}]], "dy"}], " ", "+", " ", RowBox[{ FractionBox[ RowBox[{"\[PartialD]", "F"}], RowBox[{"\[PartialD]", "z"}]], "dz"}]}]}]], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Interactive Visualization of a Approximations to Different Points on a \ Surface.\ \>", "Subtitle", CellChangeTimes->{{3.39921596074095*^9, 3.399215980940633*^9}, { 3.3992160146629143`*^9, 3.3992160434694233`*^9}}, CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"], Cell["Example function of two variables:", "Text", CellChangeTimes->{{3.3992160716608267`*^9, 3.3992160776207848`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"CrazyFun", "[", RowBox[{"x_", ",", " ", "y_"}], "]"}], " ", ":=", " ", RowBox[{ FractionBox[ RowBox[{ RowBox[{"Sin", "[", RowBox[{"5", "\[Pi]", " ", "x"}], "]"}], RowBox[{"Sin", "[", RowBox[{"5", "\[Pi]", " ", "y"}], "]"}], " "}], RowBox[{"x", " ", "y"}]], " ", "+", FractionBox[ RowBox[{" ", RowBox[{ RowBox[{"Sin", "[", RowBox[{"5", "\[Pi]", " ", RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}]}], "]"}], RowBox[{"Sin", "[", RowBox[{"5", "\[Pi]", " ", RowBox[{"(", RowBox[{"y", "-", "1"}], ")"}]}], "]"}]}]}], RowBox[{ RowBox[{"(", RowBox[{"x", "-", "1"}], ")"}], RowBox[{"(", " ", RowBox[{"y", "-", "1"}], ")"}]}]]}]}]], "Input"], Cell[TextData[{ "Plot this function over suitable range of the variables ", StyleBox["x", FontSlant->"Italic"], " and ", StyleBox["y", FontSlant->"Italic"], ":" }], "Text"], Cell[BoxData[ RowBox[{"theplot", " ", "=", " ", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"CrazyFun", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "0.1", ",", ".9"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", "0.1", ",", ".9"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"Opacity", "[", "0.5", "]"}], "}"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.399216281064623*^9, 3.399216297990673*^9}}], Cell[TextData[{ "Now, approximate the function about a specific point (xo, yo), using ", StyleBox["Mathematica", FontSlant->"Italic"], "'s ", StyleBox["Series", FontWeight->"Bold"], " function (this is now a function of four variables)" }], "Text", CellChangeTimes->{{3.39921608595715*^9, 3.39921609436467*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Approxfunction", "[", RowBox[{"x_", ",", " ", "y_", " ", ",", " ", "xo_", " ", ",", " ", "yo_"}], "]"}], " ", ":=", " ", RowBox[{ RowBox[{"Series", "[", RowBox[{ RowBox[{"CrazyFun", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "xo", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", "yo", ",", "2"}], "}"}]}], "]"}], "//", "Normal"}]}]], "Input"], Cell["\<\ and plot the approximate function in the neighborhood of (xo, yo):\ \>", "Text"], Cell[BoxData[ RowBox[{"anapprox", " ", "=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{"Approxfunction", "[", RowBox[{"x", ",", "y", ",", ".7", ",", ".1"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{".7", "-", ".1"}], ",", RowBox[{".7", "+", ".1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{".1", "-", ".1"}], ",", RowBox[{".1", "+", ".1"}]}], "}"}]}], "]"}]}]], "Input", CellTags->"mmtag:12:Plot3D[]"], Cell["\<\ Both the original and the approximate function can be plotted simultaneously:\ \ \>", "Text"], Cell[BoxData[ RowBox[{"Show", "[", " ", RowBox[{"theplot", ",", "anapprox"}], "]"}]], "Input", CellChangeTimes->{{3.3992147671940928`*^9, 3.399214776677383*^9}}], Cell["\<\ This final little bit selects random points (xo, yo) and fits Taylor \ expansions at different points, then displays them individually as well as \ with a superposed plot of the original function. Here we fix the evaluation \ points randomly.\ \>", "Text", CellChangeTimes->{{3.399216115341833*^9, 3.39921613680476*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"xo", "[", "i", "]"}], "=", RowBox[{"RandomReal", "[", "]"}]}], ",", RowBox[{ RowBox[{"yo", "[", "i", "]"}], "=", RowBox[{"RandomReal", "[", "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "100"}], "}"}]}], "]"}], ";"}]], "Input"], Cell["\<\ The next function automates the small approximating surface patch\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"ApproxPlot", "[", "i_", "]"}], " ", ":=", " ", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{"Approxfunction", "[", RowBox[{"x", ",", "y", ",", RowBox[{"xo", "[", "i", "]"}], ",", RowBox[{"yo", "[", "i", "]"}]}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"xo", "[", "i", "]"}], "-", ".1"}], ",", RowBox[{ RowBox[{"xo", "[", "i", "]"}], "+", ".1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{ RowBox[{"yo", "[", "i", "]"}], "-", ".1"}], ",", RowBox[{ RowBox[{"yo", "[", "i", "]"}], "+", ".1"}]}], "}"}], ",", RowBox[{"PlotPoints", "\[Rule]", "6"}], ",", RowBox[{"Mesh", "\[Rule]", "True"}], ",", RowBox[{"ColorFunction", "\[Rule]", RowBox[{"(", RowBox[{ RowBox[{"RGBColor", "[", RowBox[{ RowBox[{"0.9", RowBox[{"xo", "[", "i", "]"}]}], ",", RowBox[{"0.9", RowBox[{"yo", "[", "i", "]"}]}], ",", "#"}], "]"}], "&"}], ")"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.3992146284991426`*^9, 3.3992146322677727`*^9}, { 3.399216390659573*^9, 3.3992163965047083`*^9}}, CellTags->{ "mmtag:12:delaying_display", "mmtag:12:DisplayFunction__delaying_graphics"}],\ Cell["\<\ To build a sequence of graphics, I'll build a stack of ten graphics objects \ by using a recursive method. The next command sets the end of the recursion \ loop.\ \>", "Text", CellTags->"mmtag:12:graphics_stack__recursive_plotting_scheme"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"GraphicsStack", "[", "1", "]"}], " ", "=", " ", RowBox[{"Show", "[", RowBox[{"ApproxPlot", "[", "1", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{ 3.399215284853414*^9, 3.399215324188308*^9, {3.399215360520192*^9, 3.399215389397871*^9}}], Cell["Here is the recursive function.", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"GraphicsStack", "[", "i_", "]"}], " ", ":=", " ", RowBox[{ RowBox[{"GraphicsStack", "[", "i", "]"}], " ", "=", " ", RowBox[{"Show", "[", RowBox[{ RowBox[{"GraphicsStack", "[", RowBox[{"i", "-", "1"}], "]"}], ",", " ", RowBox[{"ApproxPlot", "[", "i", "]"}]}], "]"}]}]}]], "Input", CellChangeTimes->{{3.399214582654242*^9, 3.399214589406364*^9}, 3.399214933408256*^9, {3.399215296704268*^9, 3.399215318926512*^9}, 3.399215395247539*^9}], Cell[BoxData[ RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Show", "[", RowBox[{"theplot", ",", RowBox[{"GraphicsStack", "[", "i", "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"i", ",", "3"}], "}"}], ",", "1", ",", "20", ",", "1"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.399214371895616*^9, 3.3992144214144077`*^9}, { 3.39921518035983*^9, 3.399215190461895*^9}, {3.399215239204872*^9, 3.399215239421962*^9}}] }, Open ]] }, PrintingStyleEnvironment->"Printout", CellGrouping->Manual, WindowSize->{1228, 868}, WindowMargins->{{124, Automatic}, {Automatic, 85}}, WindowTitle->"Lecture 12 MIT 3.016 (Fall 2007) \[Copyright] W. Craig Carter \ 2003-2007", PrintingCopies->1, PrintingPageRange->{1, Automatic}, PrintingOptions->{"PrintCellBrackets"->False, "PrintMultipleHorizontalPages"->False, "PrintRegistrationMarks"->True, "PrintingMargins"->{{36, 54}, {36, 72}}}, ShowCellLabel->False, CellLabelAutoDelete->True, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions->"3016-Carter.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "mmtag:12:ParametricPlot3D[]__example_of_parametric_surface"->{ Cell[656, 25, 217, 2, 70, "Subtitle", CellTags->"mmtag:12:ParametricPlot3D[]__example_of_parametric_surface"]}, "mmtag:12:parametric_surfaces_example"->{ Cell[1063, 35, 818, 25, 37, "Input", CellTags->"mmtag:12:parametric_surfaces_example"]}, "mmtag:12:curve_on_parameritized_surface"->{ Cell[2884, 90, 107, 1, 34, "Section", CellTags->"mmtag:12:curve_on_parameritized_surface"]}, "mmtag:12:parametric_curves__derivative_along"->{ Cell[6732, 208, 256, 7, 37, "Input", CellTags->"mmtag:12:parametric_curves__derivative_along"]}, "mmtag:12:parametric_curves__integrating_along"->{ Cell[7171, 223, 358, 10, 37, "Input", CellTags->{ "mmtag:12:parametric_curves__integrating_along", "mmtag:12:parametric_curves__computing_arclength"}]}, "mmtag:12:parametric_curves__computing_arclength"->{ Cell[7171, 223, 358, 10, 37, "Input", CellTags->{ "mmtag:12:parametric_curves__integrating_along", "mmtag:12:parametric_curves__computing_arclength"}]}, "mmtag:12:NIntegrate[]"->{ Cell[9490, 301, 470, 12, 37, "Input", CellTags->{ "mmtag:12:NIntegrate[]", "mmtag:12:NIntegrate[]_and_plotting"}]}, "mmtag:12:NIntegrate[]_and_plotting"->{ Cell[9490, 301, 470, 12, 37, "Input", CellTags->{ "mmtag:12:NIntegrate[]", "mmtag:12:NIntegrate[]_and_plotting"}]}, "mmtag:12:partial_derivatives"->{ Cell[10676, 346, 1049, 31, 83, "Input", CellTags->{"mmtag:12:partial_derivatives", "mmtag:12:D[]"}]}, "mmtag:12:D[]"->{ Cell[10676, 346, 1049, 31, 83, "Input", CellTags->{"mmtag:12:partial_derivatives", "mmtag:12:D[]"}]}, "mmtag:12:partial_derivatives__restricted_to_surface"->{ Cell[12274, 397, 339, 9, 37, "Input", CellTags->"mmtag:12:partial_derivatives__restricted_to_surface"]}, "mmtag:12:total_derivative__example_of_curve"->{ Cell[14816, 491, 652, 19, 37, "Input", CellTags->"mmtag:12:total_derivative__example_of_curve"]}, "mmtag:12:total_derivative__example_of_thermodynamic_variation"->{ Cell[16957, 574, 373, 9, 37, "Input", CellTags-> "mmtag:12:total_derivative__example_of_thermodynamic_variation"]}, "mmtag:12:Taylor_series__visualizing_approximating_surfaces"->{ Cell[19041, 635, 240, 4, 107, "Subtitle", CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"], Cell[22164, 730, 300, 6, 107, "Subtitle", CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"]}, "mmtag:12:Series[]"->{ Cell[19679, 653, 772, 20, 37, "Input", CellTags->{"mmtag:12:Series[]", "mmtag:12:Expand[]"}]}, "mmtag:12:Expand[]"->{ Cell[19679, 653, 772, 20, 37, "Input", CellTags->{"mmtag:12:Series[]", "mmtag:12:Expand[]"}]}, "mmtag:12:Normal[]__turning_a_series_representation_into_an_expression"->{ Cell[20704, 682, 312, 6, 37, "Input", CellTags->{ "mmtag:12:Normal[]__turning_a_series_representation_into_an_expression", "mmtag:12:series_representation__converting_to_an_expression"}]}, "mmtag:12:series_representation__converting_to_an_expression"->{ Cell[20704, 682, 312, 6, 37, "Input", CellTags->{ "mmtag:12:Normal[]__turning_a_series_representation_into_an_expression", "mmtag:12:series_representation__converting_to_an_expression"}]}, "mmtag:12:Plot3D[]"->{ Cell[25096, 828, 528, 15, 37, "Input", CellTags->"mmtag:12:Plot3D[]"]}, "mmtag:12:delaying_display"->{ Cell[26741, 882, 1356, 37, 53, "Input", CellTags->{ "mmtag:12:delaying_display", "mmtag:12:DisplayFunction__delaying_graphics"}]}, "mmtag:12:DisplayFunction__delaying_graphics"->{ Cell[26741, 882, 1356, 37, 53, "Input", CellTags->{ "mmtag:12:delaying_display", "mmtag:12:DisplayFunction__delaying_graphics"}]}, "mmtag:12:graphics_stack__recursive_plotting_scheme"->{ Cell[28102, 922, 250, 5, 26, "Text", CellTags->"mmtag:12:graphics_stack__recursive_plotting_scheme"]} } *) (*CellTagsIndex CellTagsIndex->{ {"mmtag:12:ParametricPlot3D[]__example_of_parametric_surface", 30485, 993}, {"mmtag:12:parametric_surfaces_example", 30645, 996}, {"mmtag:12:curve_on_parameritized_surface", 30785, 999}, {"mmtag:12:parametric_curves__derivative_along", 30934, 1002}, {"mmtag:12:parametric_curves__integrating_along", 31088, 1005}, {"mmtag:12:parametric_curves__computing_arclength", 31310, 1010}, {"mmtag:12:NIntegrate[]", 31506, 1015}, {"mmtag:12:NIntegrate[]_and_plotting", 31672, 1019}, {"mmtag:12:partial_derivatives", 31832, 1023}, {"mmtag:12:D[]", 31958, 1026}, {"mmtag:12:partial_derivatives__restricted_to_surface", 32123, 1029}, {"mmtag:12:total_derivative__example_of_curve", 32283, 1032}, {"mmtag:12:total_derivative__example_of_thermodynamic_variation", 32454, \ 1035}, {"mmtag:12:Taylor_series__visualizing_approximating_surfaces", 32644, 1039}, {"mmtag:12:Series[]", 32909, 1044}, {"mmtag:12:Expand[]", 33033, 1047}, {"mmtag:12:Normal[]__turning_a_series_representation_into_an_expression", \ 33209, 1050}, {"mmtag:12:series_representation__converting_to_an_expression", 33479, \ 1055}, {"mmtag:12:Plot3D[]", 33707, 1060}, {"mmtag:12:delaying_display", 33816, 1063}, {"mmtag:12:DisplayFunction__delaying_graphics", 34012, 1068}, {"mmtag:12:graphics_stack__recursive_plotting_scheme", 34215, 1073} } *) (*NotebookFileOutline Notebook[{ Cell[568, 21, 63, 0, 64, "Title"], Cell[CellGroupData[{ Cell[656, 25, 217, 2, 70, "Subtitle", CellTags->"mmtag:12:ParametricPlot3D[]__example_of_parametric_surface"], Cell[876, 29, 184, 4, 26, "Text"], Cell[1063, 35, 818, 25, 37, "Input", CellTags->"mmtag:12:parametric_surfaces_example"], Cell[1884, 62, 97, 1, 26, "Text"], Cell[1984, 65, 897, 23, 53, "Input"], Cell[2884, 90, 107, 1, 34, "Section", CellTags->"mmtag:12:curve_on_parameritized_surface"], Cell[2994, 93, 369, 6, 38, "Text"], Cell[3366, 101, 1491, 40, 68, "Input"], Cell[4860, 143, 160, 3, 26, "Text"], Cell[5023, 148, 138, 3, 37, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[5198, 156, 59, 0, 70, "Subtitle"], Cell[5260, 158, 195, 4, 26, "Text"], Cell[5458, 164, 615, 20, 56, "Input"], Cell[6076, 186, 320, 9, 37, "Input"], Cell[6399, 197, 330, 9, 41, "Text"], Cell[6732, 208, 256, 7, 37, "Input", CellTags->"mmtag:12:parametric_curves__derivative_along"], Cell[6991, 217, 177, 4, 26, "Text"], Cell[7171, 223, 358, 10, 37, "Input", CellTags->{ "mmtag:12:parametric_curves__integrating_along", "mmtag:12:parametric_curves__computing_arclength"}], Cell[7532, 235, 465, 11, 29, "Text"], Cell[8000, 248, 66, 0, 26, "Text"], Cell[8069, 250, 152, 4, 37, "Input"], Cell[8224, 256, 204, 4, 26, "Text"], Cell[8431, 262, 196, 6, 37, "Input"], Cell[8630, 270, 250, 6, 26, "Text"], Cell[8883, 278, 84, 2, 37, "Input"], Cell[8970, 282, 184, 4, 26, "Text"], Cell[9157, 288, 166, 5, 37, "Input"], Cell[9326, 295, 161, 4, 26, "Text"], Cell[9490, 301, 470, 12, 37, "Input", CellTags->{"mmtag:12:NIntegrate[]", "mmtag:12:NIntegrate[]_and_plotting"}] }, Open ]], Cell[CellGroupData[{ Cell[9997, 318, 120, 5, 70, "Subtitle"], Cell[10120, 325, 64, 0, 26, "Text"], Cell[10187, 327, 235, 6, 37, "Input"], Cell[10425, 335, 101, 2, 37, "Input"], Cell[10529, 339, 144, 5, 26, "Text"], Cell[10676, 346, 1049, 31, 83, "Input", CellTags->{"mmtag:12:partial_derivatives", "mmtag:12:D[]"}], Cell[CellGroupData[{ Cell[11750, 381, 333, 8, 41, "Text"], Cell[12086, 391, 185, 4, 41, "Text"], Cell[12274, 397, 339, 9, 37, "Input", CellTags->"mmtag:12:partial_derivatives__restricted_to_surface"], Cell[12616, 408, 246, 11, 26, "Text"], Cell[12865, 421, 329, 10, 37, "Input"], Cell[13197, 433, 113, 3, 26, "Text"], Cell[13313, 438, 386, 11, 37, "Input"], Cell[13702, 451, 386, 11, 37, "Input"], Cell[14091, 464, 151, 4, 41, "Text"], Cell[14245, 470, 459, 14, 37, "Input"], Cell[14707, 486, 106, 3, 26, "Text"], Cell[14816, 491, 652, 19, 37, "Input", CellTags->"mmtag:12:total_derivative__example_of_curve"] }, Open ]], Cell[15483, 513, 1302, 54, 56, "Text"], Cell[16788, 569, 166, 3, 26, "Text"], Cell[16957, 574, 373, 9, 37, "Input", CellTags->"mmtag:12:total_derivative__example_of_thermodynamic_variation"], Cell[17333, 585, 1671, 45, 119, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[19041, 635, 240, 4, 107, "Subtitle", CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"], Cell[19284, 641, 140, 3, 34, "Section"], Cell[19427, 646, 249, 5, 23, "Text"], Cell[19679, 653, 772, 20, 37, "Input", CellTags->{"mmtag:12:Series[]", "mmtag:12:Expand[]"}], Cell[20454, 675, 247, 5, 26, "Text"], Cell[20704, 682, 312, 6, 37, "Input", CellTags->{ "mmtag:12:Normal[]__turning_a_series_representation_into_an_expression", "mmtag:12:series_representation__converting_to_an_expression"}], Cell[21019, 690, 128, 3, 26, "Text"], Cell[21150, 695, 378, 10, 37, "Input"], Cell[21531, 707, 596, 18, 63, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[22164, 730, 300, 6, 107, "Subtitle", CellTags->"mmtag:12:Taylor_series__visualizing_approximating_surfaces"], Cell[22467, 738, 120, 1, 26, "Text"], Cell[22590, 741, 818, 27, 60, "Input"], Cell[23411, 770, 181, 8, 26, "Text"], Cell[23595, 780, 603, 15, 37, "Input"], Cell[24201, 797, 321, 9, 26, "Text"], Cell[24525, 808, 475, 14, 37, "Input"], Cell[25003, 824, 90, 2, 26, "Text"], Cell[25096, 828, 528, 15, 37, "Input", CellTags->"mmtag:12:Plot3D[]"], Cell[25627, 845, 103, 3, 26, "Text"], Cell[25733, 850, 166, 3, 37, "Input"], Cell[25902, 855, 331, 6, 41, "Text"], Cell[26236, 863, 410, 13, 37, "Input"], Cell[26649, 878, 89, 2, 26, "Text"], Cell[26741, 882, 1356, 37, 53, "Input", CellTags->{ "mmtag:12:delaying_display", "mmtag:12:DisplayFunction__delaying_graphics"}], Cell[28102, 922, 250, 5, 26, "Text", CellTags->"mmtag:12:graphics_stack__recursive_plotting_scheme"], Cell[28355, 929, 306, 8, 37, "Input"], Cell[28664, 939, 47, 0, 26, "Text"], Cell[28714, 941, 511, 12, 37, "Input"], Cell[29228, 955, 485, 13, 37, "Input"] }, Open ]] } ] *) (* End of internal cache information *)