(*********************************************************************** 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[ 47176, 1396]*) (*NotebookOutlinePosition[ 48350, 1434]*) (* CellTagsIndexPosition[ 48306, 1430]*) (*WindowFrame->Normal*) Notebook[{ Cell[GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg5UgFEMMUefHGGQM^5fgGKUQ^5gHHMQUf67IHOQQnF8IIQUR6@9V6@0OISYVFVHjISYZFVIjJUYZ NVIjJWYZNfZJKY]ZNVjKJY]Z^fjKJY]^^fjlK]]^_6jkK[a^nfkLL[]^g7;lL]`00Vkl02YboG;lLaeb o7FHJJUYVFVYJJW]VFVZJJU]VVfYjKW]^V`9ZV`0?K[]ZVfjkKY]^ffjkK[a^fg:l K]]bo6kLL]]boFkl00Abo00VHjIUYZNP9ZFP0GJW]Z VfZJKWYZVfjkJY]^VVjkJY]b_6ZKK]]^_6kKK]a^^g;LK]abfg;MK_abg004L_`00gVjKKW]@MU1dIQUbo6HjJ[]Z >TaeB1=bo7^oMaegGUTGGMQb_6klHKQ@5F6hK]aV>G;LHMQ@U52fE;IDm@9D]P0?E;E@mUBfE;ED]U3f E;ED]UBeD?ID]UBeE;I@mUBe009D]P0KD;ED]U2eE?IDeUSgEAII5UTGFCIIF5UGGGQMEeUhGIMQN66I GKMQV5gHHMQMf6GIHQQQfF7i009V6@09HQUVFFHIISYZ>VHjIUYZNFXj009ZN`9ZNP9ZV`08JYY^NfjK KY]ZVfkLKY]^f`=^^`03K]]b_6kk009^g007Laa^fg;mL_ac77;lL_d00WGooB1A@553EB1AVFWLMD;A^g4`D E?E<55fHOomD]U0ED;D00UBf00MD]E3fE;E@]EBfD?ID]@02E;H01U3eE;ID]EBfD?ID]@9D]P0BD?ED ]UBeE;IDmE2eE;IHmeDFEAMI5UDGFAMMMeUGFGQIMeeH0UfG00MMN5fHHKQM^67HGMQQf@02HOT026Gi HQUV6FHiHQYV6FIIJSX2ISX016IjJUYZNVYk0VYj00MZNfZjKW]Z^fZKKY]Z^`02K[/03FjLK]]^_7:k K[]bg6kLL]a^o6kKL_aboG;k009bo00JL_ebo7;lL_ec77D`EE;ED]TPD OimoodPDE;ID]DPDOom^g4`DE;I84gooL]a<4e2fFAI<5E2EC1=kOU1fC1A^W7ooOkm@5DPCL_eoodPD C1EbffXjB1=855BfOomQnE0DE;I<57]nOom84eCfE;EDmTPCOomo_d0BNgiood@CE?ID]EBfC1=MfD`D Omm@5D`D@1=foGooB1AD]E3hE?ID]UCgE;EDmeBfE?ID]UCgD;EDmeBfE?I@]UCfE;IDme2eE?MD]UCf D;IDmUBfF=M@mECeF=MI5UTHFCIIE`9I=`0XGGQMMeVHGIMMV5fGHKQM^67HHKUQn67HHMUQn67iIOQR 6VGjIQUVFFHJHSYZNVHjJUUVNfIJJWYZNfZJKW]ZNfZjKW]^VfZkKY]ZVfjlK]/2K[/03FklK[]^g7;K K]abg6kLL]]bo7;mLaa^o7FYJISUZFVIJJU]ZFVYj0VYk00IZNVZKKW]ZVfZkKYX2KY/02VkKJ[]b^f[LK[]b_6kKK[]^ o7;L0Vkl01eboG;LL_abo7VZKKY]V>P02Ool0?DPDE;I8 57^NOomb_7oOOom855BeD9EIUgFHjIUYZ NVHiJWYZFVIkJWYZVfij009ZV`0LKY]ZVfZkK[]^Vg:LJ[]b^fjlK]]^g7;LK]]^g7;kL_a^ng;mL_a^ o7;lLaec77;lLaec77VHIISYZ>VIIJU]ZNVIJJW]^NVYjJY]Z NfZJKY]ZV`9^V`0@J[]b_6ZkL]]^_6kKK]ab^fklK]afg6klK]abgFlKL_d3L_`01FkmMaac7G;mMc`0 0W7ooFAM@ UE1eE;I<4g;mOom85002E;H0;U1dD7IooegiC1=@MD`CISYood`EE;I<4fYjOom44dPCNgiE5e1dE;I< 56jLISUoof6iD1A857]mE?Ioof7IC7ED]T`DLceDMWooL_e<552EE;ID]D`EOomVFU0E0UBf00Q<5EVG OomIEd@COomg7DPD0UBf011D]E2fC1A@eE0EMceM>7ooFAM@55BfE?ID]E2fE;IDm@9D]P0>E;E@mUBf E;E@]UCeE;I@]UBeE?I@]UBeE;I@m@9D]P08E;EDmUBfD;EHme4FFAIE5`9I5`05GGMI=eUhFGMIF002 GIL01F6IGKMQ^5gHHKP00V7H00MQfV7hHOUUnFHiIOUV>@02ISX056IIISYZ>VIjJUYZNfYJIW]^VVYk K[]ZNfjKK[]ZVfjKKYYZVg;KJ[`2K[/066kKL]a^fW;LK]]bgG;kLaebg6klMaabo767iIQUR6FHjISUV>VYjISYVFVYjJUYVNVYjJW]VNVikJW]Z^VZKK[Y^VfZK L]aZ_6jKK[]^ng:lK]abg6kLK_abo6kLL]`00g;l00U^oGKmLaabo711oog;LA1=04WoOOom<54`EC1AQ ^7ooB1AD]DPCOomogeVGOomQ^52EE;EDmU2fE;ED]U3fE;ED]U2eE?ID]U2eE;IDmU2eE;ID]E3fE;ID mE2fE?ID]E2fE;I@mUCfF=II5eDeEAMI=eUFFCMIN5UgHGQIMefHHIQM]efhHKQQ^EgHHOQQnF8H0V7i 00=V6F8iIQX00VHi0VHj00eZFVIJJUYZNVYJJW]VNVikJYY^VfYkKY]ZV`02K[/04FjKK[]^_6kKK[a^ nfjkK]abnfkLK]]c76kML_]c77;mL_/00W5UfGGQIEefHFIMMV5fhHKQMf5fhHMQQfFGI HOQR6FHJHQUV6FHiIQYV>VIIJSYV>FYJIW]VFP9ZN`05KW]ZVfjKIWYZV`02KY/0D;EDmUBfE;I@]51fJWYo ogoOB1AD]E2fE;I44`9oo`0[Nei@MEBeE;I@]DcEGCM@MEBfD7EM^5DFE=I855CfEAII=eehHKQ@]U2D IQU@]UTFHOQ<55CFIMUDmV7HC1AD]F7iHKUIUeAeD7E@mV7iE?ED]U2eE;D00UBf00A@55CfEAIR6@9D ]P0XE?I<55TGD;ED]DbEGIMI=eDGC1A<5ETgE;EM^5BfHOU@5EBeIOUD]U2eC1A@]FYJJWYD]TPCE;ID mE2fD7EE5T`DFAM@55BfE;ED]UCfE;D2E;H01UCeE;ID]EBfE?ID]@9D]P06E?ED]UBeE;IDmUBe0UBf 021D]EBfE;EDmUCgF=IE5UTGFAIIEeDgFEMMEeUhGGQIUf6HGGMQ^EfhHKQQ^EghHMUQnF7HIQUQn6Gi HQ]V6FHi0VHj0VIJ0VYJ01QZNVYJIW]ZVVYjKW]^^fjKIY]^^fjJJY]bVfZkK]]b^fjkL[a^g6kkL]a^ g6klL]`2L_`03VklL_abo7;lLaec77;mLaec77FHjJS]VFVYjIUYZNfYjJUYZNfjk009ZN`0AK[Y^NfZkKYa^ffjKK[a^^fkkK[a^^fkLK_abg6kKL_eb g002L_`036lLLaaboGVIIIUYZFVYkIUYZNfZJIWY^ NfZjJ[]ZVfjkKY]^^VZlK]a^^fkLK[]bg6kKL]a^ffkLL_a^ng;ML_ac7G;k0g;m00mc6gfYJIUYZFfYjJUY^NfZJJW/00VjK00=ZNfjKKY/00VjK00IZ^g:LK[]b ^f[KL[`2K]/02VkLL]abnfklL]a_6g;mL_]boG;l0WFHiISYV >FHjIUYZFVIJJUYVFVYjIWYZNVYk009ZVP9ZV`04JYY^VfZkJ[X2K[/036kKK[]^ffkKK]a^ffklK_]^ o7;lK_abo0Ec7009Lcac?G"], "HeaderCell", ShowCellBracket->False, CellMargins->{{0, 0}, {Inherited, 0}}, Evaluatable->False, ImageSize->{350, 24}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}], Cell["Step-by-Step Differentiation", "Title", Evaluatable->False, AspectRatioFixed->True], Cell["George Beck", "Subsubtitle", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "The built-in ", StyleBox["Mathematica", FontSlant->"Italic"], " operator ", StyleBox["D", "InlineInput", FontWeight->"Bold"], " gives derivatives immediately without any intermediate steps. In this \ notebook the operators ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " and ", StyleBox["RunD", "InlineInput", FontWeight->"Bold"], " are defined to show each step so that a beginner can learn how to take \ derivatives. ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " says what rule is used at each step, but ", StyleBox["RunD", "InlineInput", FontWeight->"Bold"], " is in too much of a hurry for that. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Differentiation rules", "Section", Evaluatable->False, AspectRatioFixed->True], Cell["These are all the rules for taking derivatives. ", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["PrintRules", "Input", AspectRatioFixed->True], Cell[BoxData[GridBox[{ {\(AllRules\ \ \ \ \ = \[AlignmentMarker]\ SpecificRules\ + \ GeneralRules\)}, {\(GeneralRules\ = \[AlignmentMarker]SpecificRules\)}, {\(\[AlignmentMarker]ConstantRule\)}, {\(\[AlignmentMarker]LinearityRule\)}, {\(\[AlignmentMarker]PowerRule\)}, {\(\[AlignmentMarker]ProductRule\)}, {\(\[AlignmentMarker]QuotientRule\)}, {\(\[AlignmentMarker]InverseFunctionRule\)}, {\(\[AlignmentMarker]ChainRule\)} }, RowSpacings->{2, 0.8}, ColumnAlignments->{"\[AlignmentMarker]"}]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Step-by-step differentiation with each step explained", "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "The defined function ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " takes a derivative and tells you what rule it is using at each step. \ Expressions of the form d[y, x] mean dy/dx. ", StyleBox["Mathematica", FontSlant->"Italic"], " uses the command D[y, x] to take the derivative of y with respect to x \ without showing any intermediate steps. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Example 1", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(WalkD[x + Cos[x], x];\)\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[x + Cos[x], x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ \(LinearityRule\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(d[x, x] + d[Cos[x], x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ \(SpecificRules\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(1 - Sin[x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {Inherited, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 2", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(WalkD[Sin[x + Cos[x]], x];\)\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[Sin[x + Cos[x]], x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ \(ChainRule\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(Cos[x + Cos[x]]\ d[x + Cos[x], x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ \(LinearityRule\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(Cos[x + Cos[x]]\ \((d[x, x] + d[Cos[x], x])\)\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ \(SpecificRules\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(Cos[x + Cos[x]]\ \((1 - Sin[x])\)\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {Inherited, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"] }, Open ]], Cell[TextData[{ "You can check the result with the built-in differentiation function ", StyleBox["D", "InlineInput", FontWeight->"Bold"], ". " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["D[Sin[x + Cos[x]], x]", "Input", AspectRatioFixed->True], Cell[BoxData[ \(Cos[x + Cos[x]]\ \((1 - Sin[x])\)\)], "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Quiet step-by-step differentiation ", "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["RunD", "InlineInput", FontWeight->"Bold"], " does the same thing as ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " without telling you what rule is being used at each step. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Example 3", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "Can you see which rules are being applied at each step? You can check with \ ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], ". " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(RunD[x\ ArcTan[\@x], x];\)\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[x\ ArcTan[\@x], x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(ArcTan[\@x]\ d[x, x] + x\ d[ArcTan[\@x], x]\)} ]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(ArcTan[\@x] + \(x\ d[\@x, x]\)\/\(1 + x\)\)}] ], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(\@x\/\(2\ \((1 + x)\)\) + ArcTan[\@x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 4", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ This triple chain is a symbolic example. Do you see the pattern at \ the end? Can you predict what the derivative of a chain of four functions \ will look like?\ \>", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(RunD[f[g[h[x]]], x];\)\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[f[g[h[x]]], x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", RowBox[{\(d[g[h[x]], x]\), " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", \(g[h[x]]\), "]"}]}]}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", RowBox[{\(d[h[x], x]\), " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", \(g[h[x]]\), "]"}], " ", RowBox[{ SuperscriptBox["g", "\[Prime]", MultilineFunction->None], "[", \(h[x]\), "]"}]}]}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", RowBox[{\(d[x, x]\), " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", \(g[h[x]]\), "]"}], " ", RowBox[{ SuperscriptBox["g", "\[Prime]", MultilineFunction->None], "[", \(h[x]\), "]"}], " ", RowBox[{ SuperscriptBox["h", "\[Prime]", MultilineFunction->None], "[", "x", "]"}]}]}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", RowBox[{ RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", \(g[h[x]]\), "]"}], " ", RowBox[{ SuperscriptBox["g", "\[Prime]", MultilineFunction->None], "[", \(h[x]\), "]"}], " ", RowBox[{ SuperscriptBox["h", "\[Prime]", MultilineFunction->None], "[", "x", "]"}]}]}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Step-by-step second derivatives", "Section", Evaluatable->False, PageBreakAbove->True, AspectRatioFixed->True], Cell[TextData[{ "You can use ", StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " and ", StyleBox["RunD", "InlineInput", FontWeight->"Bold"], " twice (in any combination) to give the first derivative followed by the \ second derivative. You can also do the third derivative using triple \ combinations, and so on." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Example 5", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(RunD[WalkD[E\^\(x\^2\), x], x];\)\)], "Input"], Cell[BoxData[ \(d[\[ExponentialE]\^\(x\^2\), x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ \(ChainRule\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(\[ExponentialE]\^\(x\^2\)\ d[x\^2, x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ \(PowerRule\)], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, CellFrameMargins->{{100, Inherited}, {0, 0}}, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.6, 0, 0.6]], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(2\ \[ExponentialE]\^\(x\^2\)\ x\)}]], "Output",\ CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ \(d[2\ \[ExponentialE]\^\(x\^2\)\ x, x]\)], "Output", CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{Inherited, Inherited}, {0, Inherited}}, CellEditDuplicate->False, CellGroupingRules->"OutputGrouping", FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(2\ d[\[ExponentialE]\^\(x\^2\)\ x, x]\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(2\ \((x\ d[\[ExponentialE]\^\(x\^2\), x] + \[ExponentialE]\^\(x\^2\)\ d[x, x])\)\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(2\ \((\[ExponentialE]\^\(x\^2\) + \[ExponentialE]\^\(x\^2\)\ x\ d[x\^2, x])\)\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"], Cell[BoxData[ RowBox[{ InterpretationBox["=", Sequence[ ]], " ", \(2\ \((\[ExponentialE]\^\(x\^2\) + 2\ \[ExponentialE]\^\(x\^2\)\ x\^2) \)\)}]], "Output", CellFrame->False, CellMargins->{{Inherited, Inherited}, {0, 0}}, CellEditDuplicate->False, Evaluatable->False, FontWeight->"Bold"] }, Open ]], Cell["\<\ Again, you can check this with the built-in differentiation \ operator. \ \>", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(D[E\^\(x\^2\), {x, 2}]\)], "Input"], Cell[BoxData[ \(2\ \[ExponentialE]\^\(x\^2\) + 4\ \[ExponentialE]\^\(x\^2\)\ x\^2\)], "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Single-step differentiation", "Section", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ StyleBox["WalkD", "InlineInput", FontWeight->"Bold"], " and ", StyleBox["RunD", "InlineInput", FontWeight->"Bold"], " do one step after another until the derivative is completely worked out. \ You can do a single step of a differentiation by using the differentiation \ rules. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["How to apply a rule", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ This is the format for only a single step in taking the derivative \ of an expression. The slash-dot (/.) means the rule will be used on the \ expression. \ \>", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[StyleBox["expression /. rule", "InlineInput", FontWeight->"Bold"]], "Text", Evaluatable->False, AspectRatioFixed->True], Cell["In this example we substitute A for x.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(x\^2 + y\^2 /. x \[Rule] A\)], "Input"], Cell[BoxData[ \(A\^2 + y\^2\)], "Output"] }, Open ]], Cell["\<\ The differentiation rules have the arrows already inside them. \ \ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(LinearityRule\)], "Input"], Cell[BoxData[ \({d[f_ + g_, x_] \[RuleDelayed] d[f, x] + d[g, x], d[c_\ f_, x_] \[RuleDelayed] c\ d[f, x] /; FreeQ[c, x]}\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 6", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell["If there is a sum first, use the linearity rule. ", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(d[x\^2 + 4\ x\^3, x] /. LinearityRule\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[x\^2, x] + d[4\ x\^3, x]\)], "Output"] }, Open ]], Cell[TextData[{ StyleBox["LinearityRule", "InlineInput", FontWeight->"Bold"], " is two rules in one, the first is for sums of functions and the second is \ for terms with a constant multiplier. Recall that in ", StyleBox["Mathematica", FontSlant->"Italic"], " % means the previous result. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["% /. LinearityRule", "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[x\^2, x] + 4\ d[x\^3, x]\)], "Output"] }, Open ]], Cell["Now use the power rule. ", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["% /. PowerRule", "Input", AspectRatioFixed->True], Cell[BoxData[ \(2\ x + 12\ x\^2\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 7", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(d[E\^x + Tan[x], x] /. LinearityRule\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[\[ExponentialE]\^x, x] + d[Tan[x], x]\)], "Output"] }, Open ]], Cell[TextData[{ StyleBox["SpecificRules", "InlineInput", FontWeight->"Bold"], " gives the derivatives of individual functions that are not combined in \ any way with other functions. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["% /. SpecificRules", "Input", AspectRatioFixed->True], Cell[BoxData[ \(\[ExponentialE]\^x + Sec[x]\^2\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 8", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(d[Sin[x\^2], x] /. ChainRule\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(Cos[x\^2]\ d[x\^2, x]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["% /. PowerRule ", "Input", AspectRatioFixed->True], Cell[BoxData[ \(2\ x\ Cos[x\^2]\)], "Output"] }, Open ]], Cell["You can do two steps at a time. ", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(\(d[Sin[x\^2], x] /. ChainRule\) /. PowerRule\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(2\ x\ Cos[x\^2]\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 9", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "The built-in operator ", StyleBox["D", "InlineInput", FontWeight->"Bold"], " outputs derivatives immediately in one step. " }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(D[x\ Log[x\^2], x]\)], "Input"], Cell[BoxData[ \(2 + Log[x\^2]\)], "Output"] }, Open ]], Cell["Here is the derivative done manually one step at a time. ", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(d[x\ Log[x\^2], x] /. ProductRule\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(x\ d[Log[x\^2], x] + d[x, x]\ Log[x\^2]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["% /. SpecificRules /. ChainRule", "Input", AspectRatioFixed->True], Cell[BoxData[ \(d[x\^2, x]\/x + Log[x\^2]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["% /. PowerRule", "Input", AspectRatioFixed->True], Cell[BoxData[ \(2 + Log[x\^2]\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Example 10", "Subsubsection", Evaluatable->False, PageBreakAbove->True, AspectRatioFixed->True], Cell[TextData[{ "You can use all the rules together. After the first step you can continue \ with \[CommandKey]\[LeftModified]l\[RightModified] until the derivative is \ finished, that is, until there is no more ", StyleBox["d", "InlineInput", FontWeight->"Bold"], " in the expression. It is a good exercise to say what rule is being used \ at each step." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(d[E\^Tan[2\^x], x] /. AllRules\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(\[ExponentialE]\^Tan[2\^x]\ d[Tan[2\^x], x]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(% /. AllRules\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(\[ExponentialE]\^Tan[2\^x]\ d[2\^x, x]\ Sec[2\^x]\^2\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(% /. AllRules\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(2\^x\ \[ExponentialE]\^Tan[2\^x]\ d[x, x]\ Log[2]\ Sec[2\^x]\^2\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(% /. AllRules\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(2\^x\ \[ExponentialE]\^Tan[2\^x]\ Log[2]\ Sec[2\^x]\^2\)], "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Implementation", "Section", Evaluatable->False, PageBreakAbove->True, AspectRatioFixed->True], Cell[BoxData[ \(\(wasSpellCheckOn = Head[General::spell1] =!= $Off;\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(Off[General::spell1]\)], "Input", InitializationCell->True], Cell[BoxData[ \(\(Clear[d];\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Usage messages", "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(\(WalkD::usage\ = \ "\";\)\ \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(\(\(RunD::usage\ = \ "\"\)\(;\)\)\(\ \)\)\)], "InputOnly", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell["Function definitions", "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(SpecificRules = {d[x_, x_] \[RuleDelayed] 1, d[f_[x_], x_] \[RuleDelayed] \[PartialD]\_x f[x], d[a_\^x_, x_] \[RuleDelayed] \[PartialD]\_x a\^x /; FreeQ[a, x]}; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(ConstantRule = d[c_, x_] \[RuleDelayed] 0 /; FreeQ[c, x];\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(\(LinearityRule = {d[f_ + g_, x_] \[RuleDelayed] d[f, x] + d[g, x], d[c_\ f_, x_] \[RuleDelayed] c\ d[f, x] /; FreeQ[c, x]}\)\(;\)\)\)], "InputOnly", InitializationCell->True, AspectRatioFixed->True], Cell["The rule d[x_, x_] is repeated intentionally. ", "Text"], Cell[BoxData[ \(\(PowerRule = {d[x_, x_] \[RuleDelayed] 1, d[x_\^a_, x_] \[RuleDelayed] a\ x\^\(a - 1\) /; FreeQ[a, x]};\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(ProductRule = d[f_\ g_, x_] \[RuleDelayed] d[f, x]\ g + f\ d[g, x]; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(QuotientRule = d[f_\/g_, x_] \[RuleDelayed] \(d[f, x]\ g - f\ d[g, x]\)\/g\^2;\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ RowBox[{ RowBox[{"InverseFunctionRule", "=", RowBox[{ RowBox[{"d", "[", RowBox[{ RowBox[{ TagBox[\(f\^\((\(-1\))\)\), InverseFunction, Editable->False], "[", "x", "]"}], ",", "x"}], "]"}], "\[RuleDelayed]", FractionBox["1", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", RowBox[{ TagBox[\(f\^\((\(-1\))\)\), InverseFunction, Editable->False], "[", "x", "]"}], "]"}]]}]}], ";"}]], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(ChainRule = {d[f_\^a_, x_] \[RuleDelayed] a\ f\^\(a - 1\)\ d[f, x] /; FreeQ[a, x], d[a_\^f_, x_] \[RuleDelayed] Log[a]\ a\^f\ d[f, x] /; FreeQ[a, x], d[f_[g_], x_] \[RuleDelayed] \((\[PartialD]\_x f[x] /. x \[Rule] g)\)\ d[g, x], d[f_\^g_, x_] \[RuleDelayed] f\^g\ d[g\ Log[f], x]};\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(RuleNames = {\n\t\t"\", \n\t\t"\", \n\t\t\ "\", \n\t\t"\", \n\t\t"\", \n\t\t\ "\", \n\t\t"\", \n\t\t"\"\n\t\ \t\t};\)\)], "InputOnly", InitializationCell->True, AspectRatioFixed->True], Cell["Drop the specific rules for generic cases.", "Text"], Cell[BoxData[ \(\(GeneralRules = Flatten[ToExpression[Drop[RuleNames, 1]]];\)\)], "InputOnly", InitializationCell->True, AspectRatioFixed->True], Cell["Apply specific rules last when applying all at once.", "Text"], Cell[BoxData[ \(\(AllRules = Flatten[ToExpression[RotateLeft[RuleNames]]];\)\)], "InputOnly", InitializationCell->True, AspectRatioFixed->True], Cell["Rule sets for applying the rules individually.", "Text"], Cell[BoxData[ \(\(ListRules\ = \ ToExpression[RuleNames];\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(\(PrintRules\ := \ CellPrint[ Cell[BoxData[ GridBox[Transpose[ {\n\tPrepend[ \({"\"<>#1, \ ##2} &\)\ @@\ Map["\<\[AlignmentMarker]\>"<>\ # &, RuleNames], \n\t\t\t\t\t\t\ "\"]}], \n\t ColumnAlignments \[Rule] "\<\[AlignmentMarker]\>", \n\t RowSpacings \[Rule] {2, 0.8}]], \ "\"]];\)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(WalkD[f_, x_] := Module[{derivative}, derivative = d[f, x]; \n\t\tdisplayStart[ derivative]; \n\t\tWhile[\[InvisibleSpace]\(! \((FreeQ[derivative, d])\)\), \n\t\t\toldderivative = derivative; k = 0; \n\t\t\tWhile[ oldderivative == derivative, \n\t\t\t\t\(k++\); \n\t\t\t\tderivative = derivative /. ListRules\[LeftDoubleBracket]k\[RightDoubleBracket]]; displayRuleUsed[ RuleNames\[LeftDoubleBracket] k\[RightDoubleBracket]]; \n\t\t\tdisplayDerivative[ derivative]]; \n\t\t\[PartialD]\_x f]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(RunD[f_, x_] := Module[{derivative}, \n\t\tderivative = d[f, x]; \n\t\tdisplayStart[ derivative]; While[\(\[InvisibleSpace]\(! \((FreeQ[derivative, d])\)\)\), derivative = derivative /. AllRules; \n\t\t\tdisplayDerivative[ derivative]]; \[PartialD]\_x f]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(displayStart[expr_]\ := \n\t StylePrint[expr, "\", \n\t\t\tCellFrame \[Rule] {{0, 0}, {0, 3}}, \n\t\t\tBackground\ \[Rule] RGBColor[0.8, \ 1. , \ 0.8], \n\t\t\tCellGroupingRules \[Rule] "\", \n\t\t\tCellMargins\ \[Rule] \ {{Inherited, \ Inherited}, {0, Inherited}}, \n\t\tCellEditDuplicate \[Rule] False, \n\t\tFontWeight \[Rule] Bold]\)], "Input", InitializationCell->True], Cell[BoxData[ \(displayRuleUsed[expr_String]\ := \n\t CellPrint[ Cell[BoxData[expr], \ "\", \n\t\t\tBackground\ \[Rule] RGBColor[0.8, \ 1. , \ 0.8], \ FontColor\ \[Rule] \ RGBColor[0.6, \ 0, \ 0.6], \n\t\t\tFontSlant\ \[Rule] \ "\", \n\t\t\t\ \ CellFrame \[Rule] \ False, \n\t\t\t\tCellMargins \[Rule] {{Inherited, Inherited}, {0, 0}}, CellFrameMargins\ \[Rule] \ {{100, \ Inherited}, {0, \ 0}}, \n\t\tCellEditDuplicate \[Rule] False, \n\t\tFontWeight \[Rule] Bold]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(displayDerivative[expr_] := \n\t CellPrint[ Cell[BoxData[ RowBox[{InterpretationBox["\<=\>", Sequence[]], "\< \>", MakeBoxes[expr, \ StandardForm]\ }]], \ "\", \n\t\t\tBackground\ \[Rule] RGBColor[0.8, \ 1. , \ 0.8], \ Evaluatable\ \[Rule] False, \n\t\t\t\tCellMargins \[Rule] {{Inherited, Inherited}, {0, 0}}, CellFrame \[Rule] False, \n\t\tCellEditDuplicate \[Rule] False, \n\t\tFontWeight \[Rule] Bold]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(If[wasSpellCheckOn, On[General::spell1]]\)], "Input", InitializationCell->True] }, Open ]] }, Closed]] }, FrontEndVersion->"4.0 for Macintosh", ScreenRectangle->{{0, 1152}, {0, 850}}, AutoGeneratedPackage->None, WindowToolbars->{}, InitializationCellEvaluation->True, CellGrouping->Automatic, WindowSize->{483, 357}, WindowMargins->{{5, Automatic}, {Automatic, -1}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, 128}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, Magnification->1, StyleDefinitions -> "Demo.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[1717, 49, 14635, 185, 24, 14455, 179, "GraphicsData", "Bitmap", "HeaderCell", Evaluatable->False], Cell[16355, 236, 93, 2, 81, "Title", Evaluatable->False], Cell[16451, 240, 82, 2, 56, "Subsubtitle", Evaluatable->False], Cell[16536, 244, 752, 24, 80, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[17313, 272, 88, 2, 72, "Section", Evaluatable->False], Cell[17404, 276, 112, 2, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[17541, 282, 53, 1, 31, "Input"], Cell[17597, 285, 610, 13, 180, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[18256, 304, 120, 2, 63, "Section", Evaluatable->False], Cell[18379, 308, 455, 12, 66, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[18859, 324, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[CellGroupData[{ Cell[18966, 330, 84, 2, 31, "Input"], Cell[19053, 334, 227, 6, 34, "Output", CellGroupingRules->"OutputGrouping"], Cell[19283, 342, 273, 8, 15, "Output"], Cell[19559, 352, 267, 8, 31, "Output", Evaluatable->False], Cell[19829, 362, 273, 8, 15, "Output"], Cell[20105, 372, 263, 8, 46, "Output", Evaluatable->False] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[20417, 386, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[CellGroupData[{ Cell[20524, 392, 89, 2, 31, "Input"], Cell[20616, 396, 232, 6, 34, "Output", CellGroupingRules->"OutputGrouping"], Cell[20851, 404, 269, 8, 15, "Output"], Cell[21123, 414, 281, 9, 31, "Output", Evaluatable->False], Cell[21407, 425, 273, 8, 15, "Output"], Cell[21683, 435, 297, 9, 31, "Output", Evaluatable->False], Cell[21983, 446, 273, 8, 15, "Output"], Cell[22259, 456, 289, 9, 46, "Output", Evaluatable->False] }, Open ]], Cell[22563, 468, 212, 7, 28, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[22800, 479, 64, 1, 31, "Input"], Cell[22867, 482, 67, 1, 46, "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[22995, 490, 102, 2, 41, "Section", Evaluatable->False], Cell[23100, 494, 288, 9, 40, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[23413, 507, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[23498, 511, 225, 8, 41, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[23748, 523, 87, 2, 37, "Input"], Cell[23838, 527, 231, 6, 40, "Output", CellGroupingRules->"OutputGrouping"], Cell[24072, 535, 295, 9, 37, "Output", Evaluatable->False], Cell[24370, 546, 293, 9, 54, "Output", Evaluatable->False], Cell[24666, 557, 285, 9, 53, "Output", Evaluatable->False] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[25000, 572, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[25085, 576, 232, 6, 51, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[25342, 586, 83, 2, 31, "Input"], Cell[25428, 590, 227, 6, 34, "Output", CellGroupingRules->"OutputGrouping"], Cell[25658, 598, 403, 12, 31, "Output", Evaluatable->False], Cell[26064, 612, 525, 15, 31, "Output", Evaluatable->False], Cell[26592, 629, 642, 18, 31, "Output", Evaluatable->False], Cell[27237, 649, 624, 18, 31, "Output", Evaluatable->False] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[27922, 674, 122, 3, 41, "Section", Evaluatable->False, PageBreakAbove->True], Cell[28047, 679, 398, 12, 52, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[28470, 695, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[CellGroupData[{ Cell[28577, 701, 68, 1, 38, "Input"], Cell[28648, 704, 242, 6, 41, "Output", CellGroupingRules->"OutputGrouping"], Cell[28893, 712, 269, 8, 15, "Output"], Cell[29165, 722, 285, 9, 38, "Output", Evaluatable->False], Cell[29453, 733, 269, 8, 15, "Output"], Cell[29725, 743, 278, 9, 36, "Output", Evaluatable->False], Cell[30006, 754, 248, 6, 41, "Output", CellGroupingRules->"OutputGrouping"], Cell[30257, 762, 285, 9, 38, "Output", Evaluatable->False], Cell[30545, 773, 345, 10, 41, "Output", Evaluatable->False], Cell[30893, 785, 342, 10, 41, "Output", Evaluatable->False], Cell[31238, 797, 334, 10, 41, "Output", Evaluatable->False] }, Open ]], Cell[31587, 810, 144, 5, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[31756, 819, 55, 1, 38, "Input"], Cell[31814, 822, 102, 2, 51, "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[31977, 831, 94, 2, 41, "Section", Evaluatable->False], Cell[32074, 835, 370, 11, 52, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[32469, 850, 92, 2, 35, "Subsubsection", Evaluatable->False], Cell[32564, 854, 227, 6, 51, "Text", Evaluatable->False], Cell[32794, 862, 139, 3, 28, "Text", Evaluatable->False], Cell[32936, 867, 54, 0, 27, "Text"], Cell[CellGroupData[{ Cell[33015, 871, 59, 1, 33, "Input"], Cell[33077, 874, 45, 1, 48, "Output"] }, Open ]], Cell[33137, 878, 89, 3, 27, "Text"], Cell[CellGroupData[{ Cell[33251, 885, 46, 1, 31, "Input"], Cell[33300, 888, 146, 2, 62, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[33495, 896, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[33580, 900, 113, 2, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[33718, 906, 96, 2, 35, "Input"], Cell[33817, 910, 60, 1, 48, "Output"] }, Open ]], Cell[33892, 914, 366, 10, 56, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[34283, 928, 61, 1, 31, "Input"], Cell[34347, 931, 60, 1, 48, "Output"] }, Open ]], Cell[34422, 935, 88, 2, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[34535, 941, 57, 1, 31, "Input"], Cell[34595, 944, 49, 1, 48, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[34693, 951, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[CellGroupData[{ Cell[34800, 957, 95, 2, 31, "Input"], Cell[34898, 961, 73, 1, 46, "Output"] }, Open ]], Cell[34986, 965, 252, 7, 40, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[35263, 976, 61, 1, 31, "Input"], Cell[35327, 979, 64, 1, 48, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[35440, 986, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[CellGroupData[{ Cell[35547, 992, 87, 2, 35, "Input"], Cell[35637, 996, 55, 1, 48, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[35729, 1002, 58, 1, 31, "Input"], Cell[35790, 1005, 49, 1, 48, "Output"] }, Open ]], Cell[35854, 1009, 96, 2, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[35975, 1015, 104, 2, 35, "Input"], Cell[36082, 1019, 49, 1, 48, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[36180, 1026, 82, 2, 35, "Subsubsection", Evaluatable->False], Cell[36265, 1030, 210, 7, 28, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[36500, 1041, 51, 1, 35, "Input"], Cell[36554, 1044, 47, 1, 48, "Output"] }, Open ]], Cell[36616, 1048, 121, 2, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[36762, 1054, 92, 2, 35, "Input"], Cell[36857, 1058, 73, 1, 48, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[36967, 1064, 74, 1, 31, "Input"], Cell[37044, 1067, 59, 1, 65, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[37140, 1073, 57, 1, 31, "Input"], Cell[37200, 1076, 47, 1, 48, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[37296, 1083, 107, 3, 35, "Subsubsection", Evaluatable->False, PageBreakAbove->True], Cell[37406, 1088, 425, 10, 52, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[37856, 1102, 89, 2, 36, "Input"], Cell[37948, 1106, 77, 1, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38062, 1112, 72, 2, 31, "Input"], Cell[38137, 1116, 86, 1, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38260, 1122, 72, 2, 31, "Input"], Cell[38335, 1126, 100, 2, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38472, 1133, 72, 2, 31, "Input"], Cell[38547, 1137, 88, 1, 49, "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[38696, 1145, 105, 3, 41, "Section", Evaluatable->False, PageBreakAbove->True], Cell[38804, 1150, 114, 2, 47, "Input", InitializationCell->True], Cell[38921, 1154, 81, 2, 31, "Input", InitializationCell->True], Cell[39005, 1158, 100, 3, 31, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[39130, 1165, 84, 2, 36, "Subsection", Evaluatable->False], Cell[39217, 1169, 376, 7, 159, "Input", InitializationCell->True], Cell[39596, 1178, 327, 7, 142, "InputOnly", InitializationCell->True] }, Open ]], Cell[CellGroupData[{ Cell[39960, 1190, 90, 2, 36, "Subsection", Evaluatable->False], Cell[40053, 1194, 289, 7, 63, "Input", InitializationCell->True], Cell[40345, 1203, 151, 4, 31, "Input", InitializationCell->True], Cell[40499, 1209, 244, 6, 78, "InputOnly", InitializationCell->True], Cell[40746, 1217, 62, 0, 27, "Text"], Cell[40811, 1219, 216, 6, 53, "Input", InitializationCell->True], Cell[41030, 1227, 165, 4, 31, "Input", InitializationCell->True], Cell[41198, 1233, 181, 5, 66, "Input", InitializationCell->True], Cell[41382, 1240, 724, 21, 66, "Input", InitializationCell->True], Cell[42109, 1263, 441, 9, 123, "Input", InitializationCell->True], Cell[42553, 1274, 341, 7, 190, "InputOnly", InitializationCell->True], Cell[42897, 1283, 58, 0, 27, "Text"], Cell[42958, 1285, 155, 4, 62, "InputOnly", InitializationCell->True], Cell[43116, 1291, 68, 0, 27, "Text"], Cell[43187, 1293, 154, 4, 78, "InputOnly", InitializationCell->True], Cell[43344, 1299, 62, 0, 27, "Text"], Cell[43409, 1301, 105, 2, 31, "Input", InitializationCell->True], Cell[43517, 1305, 621, 14, 207, "Input", InitializationCell->True], Cell[44141, 1321, 738, 16, 239, "Input", InitializationCell->True], Cell[44882, 1339, 390, 8, 127, "Input", InitializationCell->True], Cell[45275, 1349, 495, 9, 207, "Input", InitializationCell->True], Cell[45773, 1360, 672, 14, 239, "Input", InitializationCell->True], Cell[46448, 1376, 596, 12, 271, "Input", InitializationCell->True], Cell[47047, 1390, 101, 2, 31, "Input", InitializationCell->True] }, Open ]] }, Closed]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)