(* 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[ 95081, 3498] NotebookOptionsPosition[ 90076, 3358] NotebookOutlinePosition[ 90819, 3386] CellTagsIndexPosition[ 90776, 3383] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[TextData[{ StyleBox["Lab 2A - Continuity and Differentiability", FontSize->24, FontWeight->"Bold"], "\nMath 2374 - University of Minnesota\nhttp://www.math.umn.edu/math2374\n \ Questions to rogness@math.umn.edu," }], "Text", CellFrame->True, CellChangeTimes->{{3.41109318923724*^9, 3.4110931934111967`*^9}}, TextAlignment->Center, FontColor->GrayLevel[1], Background->RGBColor[0, 0, 1]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Introduction", FontSize->16]], "Section"], Cell[TextData[{ "This week we will investigate the ideas of ", StyleBox["continuity", FontSlant->"Italic"], " and ", StyleBox["differentiability", FontSlant->"Italic"], " for functions of several variables. The relationships between limits, \ continuity, partial derivatives, and differentiability are quite subtle and \ complicated and you might find that your intuition will often lead you \ astray. Most of the functions with which we'll concern ourselves in this \ course are very ``nice'', but it's important that you are aware of the sorts \ of pathological functions which do exist." }], "Text"], Cell[TextData[{ "Some of the functions and equations in this lab are complicated and \ difficult to read in a small font. If that bothers you, the magnification can \ be changed in the ", StyleBox["Format \[Rule] Magnification", FontFamily->"Courier"], " menu. Another way is ", StyleBox["Format \[Rule] Screen Environment \[Rule] Presentation", FontFamily->"Courier"], ", which changes the general look of your notebook and pretties things up a \ bit." }], "Text", CellFrame->True, CellChangeTimes->{{3.411091592019923*^9, 3.4110916070761127`*^9}, { 3.411091646961018*^9, 3.411091676247143*^9}, {3.411092366574069*^9, 3.411092367429741*^9}}, Background->GrayLevel[0.849989]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Continuity", FontSize->16]], "Section"], Cell[TextData[{ "From lecture and our textbooks, we know that the idea of continuity\ \[LongDash]for both single- and multi-variable functions\[LongDash]largely \ depends upon the idea of a limit. In both cases, a function ", StyleBox["f", FontSlant->"Italic"], " is continuous at a point ", StyleBox["a", FontSlant->"Italic"], " if" }], "Text"], Cell[BoxData[ StyleBox[ RowBox[{ UnderscriptBox[ StyleBox["lim", FontSlant->"Plain"], RowBox[{" ", RowBox[{"x", " ", "\[Rule]", " ", "a"}]}]], " ", RowBox[{"f", RowBox[{"(", "x", ")"}], " "}]}], FontFamily->"Times", FontSlant->"Italic"]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell["exists and", "Text"], Cell[BoxData[ StyleBox[ RowBox[{ RowBox[{ UnderscriptBox[ StyleBox["lim", FontSlant->"Plain"], RowBox[{" ", RowBox[{"x", " ", "\[Rule]", " ", "a"}]}]], " ", RowBox[{"f", RowBox[{"(", "x", ")"}]}]}], " ", "=", " ", RowBox[{"f", RowBox[{ RowBox[{"(", "a", ")"}], "."}]}]}], FontFamily->"Times", FontSlant->"Italic"]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell["\<\ Intuitively, this means that the function has no holes or jumps; in the \ single-variable case, we often talk about being able to draw a function \ without lifting your pencil from the paper. Determining whether a function is continuous or not is therefore mostly a \ matter of determining the value of the limit (if it even exists, which it may \ not). For single-variable functions, we talk about right-hand and left-hand \ limits: one can approach a value on the real line from either the right or \ the left. But what about a function whose domain is two-dimensional? Not only \ can you approach from the left and right, but from many other directions as \ well. Say we have a function g(x) whose domain includes the point (2,2). We \ could approach the point (2,2) along any one of infinitely many straight \ lines:\ \>", "Text"], Cell[BoxData[Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0 0.25 0 0.25 [ [.125 -0.0125 -9 -9 ] [.125 -0.0125 9 0 ] [.25 -0.0125 -3 -9 ] [.25 -0.0125 3 0 ] [.375 -0.0125 -9 -9 ] [.375 -0.0125 9 0 ] [.5 -0.0125 -3 -9 ] [.5 -0.0125 3 0 ] [.625 -0.0125 -9 -9 ] [.625 -0.0125 9 0 ] [.75 -0.0125 -3 -9 ] [.75 -0.0125 3 0 ] [.875 -0.0125 -9 -9 ] [.875 -0.0125 9 0 ] [1 -0.0125 -3 -9 ] [1 -0.0125 3 0 ] [-0.0125 .125 -18 -4.5 ] [-0.0125 .125 0 4.5 ] [-0.0125 .25 -6 -4.5 ] [-0.0125 .25 0 4.5 ] [-0.0125 .375 -18 -4.5 ] [-0.0125 .375 0 4.5 ] [-0.0125 .5 -6 -4.5 ] [-0.0125 .5 0 4.5 ] [-0.0125 .625 -18 -4.5 ] [-0.0125 .625 0 4.5 ] [-0.0125 .75 -6 -4.5 ] [-0.0125 .75 0 4.5 ] [-0.0125 .875 -18 -4.5 ] [-0.0125 .875 0 4.5 ] [-0.0125 1 -6 -4.5 ] [-0.0125 1 0 4.5 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .125 0 m .125 .00625 L s [(0.5)] .125 -0.0125 0 1 Mshowa .25 0 m .25 .00625 L s [(1)] .25 -0.0125 0 1 Mshowa .375 0 m .375 .00625 L s [(1.5)] .375 -0.0125 0 1 Mshowa .5 0 m .5 .00625 L s [(2)] .5 -0.0125 0 1 Mshowa .625 0 m .625 .00625 L s [(2.5)] .625 -0.0125 0 1 Mshowa .75 0 m .75 .00625 L s [(3)] .75 -0.0125 0 1 Mshowa .875 0 m .875 .00625 L s [(3.5)] .875 -0.0125 0 1 Mshowa 1 0 m 1 .00625 L s [(4)] 1 -0.0125 0 1 Mshowa .125 Mabswid .025 0 m .025 .00375 L s .05 0 m .05 .00375 L s .075 0 m .075 .00375 L s .1 0 m .1 .00375 L s .15 0 m .15 .00375 L s .175 0 m .175 .00375 L s .2 0 m .2 .00375 L s .225 0 m .225 .00375 L s .275 0 m .275 .00375 L s .3 0 m .3 .00375 L s .325 0 m .325 .00375 L s .35 0 m .35 .00375 L s .4 0 m .4 .00375 L s .425 0 m .425 .00375 L s .45 0 m .45 .00375 L s .475 0 m .475 .00375 L s .525 0 m .525 .00375 L s .55 0 m .55 .00375 L s .575 0 m .575 .00375 L s .6 0 m .6 .00375 L s .65 0 m .65 .00375 L s .675 0 m .675 .00375 L s .7 0 m .7 .00375 L s .725 0 m .725 .00375 L s .775 0 m .775 .00375 L s .8 0 m .8 .00375 L s .825 0 m .825 .00375 L s .85 0 m .85 .00375 L s .9 0 m .9 .00375 L s .925 0 m .925 .00375 L s .95 0 m .95 .00375 L s .975 0 m .975 .00375 L s .25 Mabswid 0 0 m 1 0 L s 0 .125 m .00625 .125 L s [(0.5)] -0.0125 .125 1 0 Mshowa 0 .25 m .00625 .25 L s [(1)] -0.0125 .25 1 0 Mshowa 0 .375 m .00625 .375 L s [(1.5)] -0.0125 .375 1 0 Mshowa 0 .5 m .00625 .5 L s [(2)] -0.0125 .5 1 0 Mshowa 0 .625 m .00625 .625 L s [(2.5)] -0.0125 .625 1 0 Mshowa 0 .75 m .00625 .75 L s [(3)] -0.0125 .75 1 0 Mshowa 0 .875 m .00625 .875 L s [(3.5)] -0.0125 .875 1 0 Mshowa 0 1 m .00625 1 L s [(4)] -0.0125 1 1 0 Mshowa .125 Mabswid 0 .025 m .00375 .025 L s 0 .05 m .00375 .05 L s 0 .075 m .00375 .075 L s 0 .1 m .00375 .1 L s 0 .15 m .00375 .15 L s 0 .175 m .00375 .175 L s 0 .2 m .00375 .2 L s 0 .225 m .00375 .225 L s 0 .275 m .00375 .275 L s 0 .3 m .00375 .3 L s 0 .325 m .00375 .325 L s 0 .35 m .00375 .35 L s 0 .4 m .00375 .4 L s 0 .425 m .00375 .425 L s 0 .45 m .00375 .45 L s 0 .475 m .00375 .475 L s 0 .525 m .00375 .525 L s 0 .55 m .00375 .55 L s 0 .575 m .00375 .575 L s 0 .6 m .00375 .6 L s 0 .65 m .00375 .65 L s 0 .675 m .00375 .675 L s 0 .7 m .00375 .7 L s 0 .725 m .00375 .725 L s 0 .775 m .00375 .775 L s 0 .8 m .00375 .8 L s 0 .825 m .00375 .825 L s 0 .85 m .00375 .85 L s 0 .9 m .00375 .9 L s 0 .925 m .00375 .925 L s 0 .95 m .00375 .95 L s 0 .975 m .00375 .975 L s .25 Mabswid 0 0 m 0 1 L s 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of user PostScript /mathtops { gsave MBeginOrig moveto MEndOrig currentpoint grestore } bind def /MAtocoords { mathtops 4 2 roll mathtops 4 copy pop pop 3 -1 roll sub /arry exch def exch sub /arrx exch def arrx dup mul arry dup mul add sqrt /arrl exch def translate } bind def /MAarrowhead1 { gsave MAtocoords arrl 0. eq { 0 0 Mdot } { [ arrx arrl div arry arrl div -1 arry mul arrl div arrx arrl div 0 0 ] concat -0.05 0.01 moveto 0 0 lineto -0.05 -0.01 lineto fill -0.05 0.01 moveto 0 0 lineto -0.05 -0.01 lineto -0.05 0.01 lineto stroke } ifelse grestore } def % End of user PostScript 0 0 1 r .5 Mabswid 1 .5 m .625 .5 L s % Start of user PostScript 6. 2. 2.5 2. MAarrowhead1 % End of user PostScript 1 .78868 m .60825 .5625 L s % Start of user PostScript 5.4641 4. 2.43301 2.25 MAarrowhead1 % End of user PostScript .78868 1 m .5625 .60825 L s % Start of user PostScript 4. 5.4641 2.25 2.43301 MAarrowhead1 % End of user PostScript .5 1 m .5 .625 L s % Start of user PostScript 2. 6. 2. 2.5 MAarrowhead1 % End of user PostScript .21132 1 m .4375 .60825 L s % Start of user PostScript 0 5.4641 1.75 2.43301 MAarrowhead1 % End of user PostScript 0 .78868 m .39175 .5625 L s % Start of user PostScript -1.4641 4. 1.56699 2.25 MAarrowhead1 % End of user PostScript 0 .5 m .375 .5 L s % Start of user PostScript -2. 2. 1.5 2. MAarrowhead1 % End of user PostScript 0 .21132 m .39175 .4375 L s % Start of user PostScript -1.4641 0 1.56699 1.75 MAarrowhead1 % End of user PostScript .21132 0 m .4375 .39175 L s % Start of user PostScript 0 -1.4641 1.75 1.56699 MAarrowhead1 % End of user PostScript .5 0 m .5 .375 L s % Start of user PostScript 2. -2. 2. 1.5 MAarrowhead1 % End of user PostScript .78868 0 m .5625 .39175 L s % Start of user PostScript 4. -1.4641 2.25 1.56699 MAarrowhead1 % End of user PostScript 1 .21132 m .60825 .4375 L s % Start of user PostScript 5.4641 0 2.43301 1.75 MAarrowhead1 % End of user PostScript 1 .5 m .625 .5 L s % Start of user PostScript 6. 2. 2.5 2. MAarrowhead1 % End of user PostScript 0 g .5 .5 m .5 .5 .025 0 365.73 arc F % End of Graphics MathPictureEnd \ \>"], "Graphics", GeneratedCell->False, CellAutoOverwrite->False, ImageSize->{256, 256}, ImageMargins->{{143, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJzVXDtQHEcaHgkWkPUEJGQhI4Fsn4Rkrx7Wy3rB6i3rfGuXXPbdFReoXEfZ VecyJesCUrINycg2IiIiIiIhIiEhIdmAhOAI1lWbbLDBf9M9M3/3DF/P9rAz K1DZMHz99/f//Ziev/9+fPv2/S///u3t+19/fjv84t3bqV9+/fmP4ee/v3Oh jgOO4/7n/j/siGdyn/0f8t8B8cP/o8nzZfmrgxq1KlVrDflXj48R1alWq1Gt 3nDuWGInGWu4WNWIHQJ5Bz2TRuWvTtpamSW/XDS7snVQwh+5JBWalvA0VRpe gWl7hQoCy+el+NTCep8U73J/1Gh+Ms9MjjNF63Xqlcm9pmTvn50mJ1BVr8xr PEJmlqrEqgzJu1CVc+U3aFLjmiqvxaYlrLyTfhNUFqY9momyW09Bn7kkfwl1 VSq5qfOb7uPWgptSUgWiTSoV3ZyFEm0Gihp1qlb9yq2uUN6ZoPUG9ftdobZa osLMqvzrJMC8MhxOQu306r1gws1TLLsm1mljbcP96TdNnyk5aUlYW6NKG+ub JKW3l9yKKdJGQ2nDybvWVtuk5aUlWlpapJJbiEJpRVCHGsuVqq9R0Zn0W73i 9pAirdZIvYcVmnAKAnK4QdZAg2jYRyBvn99zRI0uTrsdqjAnek4/hhEDa6qI HjUhagZiyHKuElmrDs3MlWla1GZ+RtQmqJKJQvAS1mi2UKSVKnVpfWbOzVyc nqGpgksyuSA6hW3tdNvRyOS8Q5OLm9pAqTBLmo3yhCxxcb7CNDrWhMaruJzo a7Q4WaCy200qcxNUWqv7752qNbeHTon6Fh2yseYOHVOiU3VpLTxbyNPcyhqt b2yd8m1prM/uqC0d68bZ+1lpQ70Cm/Ny7KyRegVwssGmAV9/fX0ukGSbdMyQ PRgcqbZCxcIMzZfcelqt7qgmUZMO5afLVBY9fnJRvJVdXNE1OXYWS3M0N1ui +ZVN7d1p0PLsFBXdLpAvrfZjuKcpk9fDxdA+s7BMCzMFdxyfV61tTG5uY/BZ LVKJsy6I4vXGJ8cxBy1QWZiUvdat0qDrjXINVGmpXKLS3JJ4abu1TltZW3YH QHcQXFyklY0qj2GN2hatLS/Q4uqW6nca1tOUo5Pq2xu0MFei2fISbdXJADe3 xs2ytU7zs6IAi7SpMYXhOCY1RGzTYnmeKrXgw2jl7unPkuq6dBs7ZFLgRI5b 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 U2+Q8HW+kST9Dls/SdqQ4A5b58D/AWk3ISY=\ \>"], ImageRangeCache->{{{0, 255}, {255, 0}} -> {-0.361562, -0.270696, 0.0173079, 0.0173079}}]], "Input"], Cell[TextData[{ "(of course, due to the limitations of ", StyleBox["Mathematica", FontSlant->"Italic"], ", we can only draw finitely many arrows...). We can also approach the point \ (2,2) along other kinds of curves: below, we've drawn a parabola, a sine \ wave, and a portion of a circle, each of which approaches the point (2,2):" }], "Text"], Cell[BoxData[Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .5 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.15873 0.0119048 0.15873 [ [.18254 -0.0006 -3 -9 ] [.18254 -0.0006 3 0 ] [.34127 -0.0006 -3 -9 ] [.34127 -0.0006 3 0 ] [.5 -0.0006 -3 -9 ] [.5 -0.0006 3 0 ] [.65873 -0.0006 -3 -9 ] [.65873 -0.0006 3 0 ] [.81746 -0.0006 -3 -9 ] [.81746 -0.0006 3 0 ] [.97619 -0.0006 -3 -9 ] [.97619 -0.0006 3 0 ] [.01131 .09127 -18 -4.5 ] [.01131 .09127 0 4.5 ] [.01131 .17063 -6 -4.5 ] [.01131 .17063 0 4.5 ] [.01131 .25 -18 -4.5 ] [.01131 .25 0 4.5 ] [.01131 .32937 -6 -4.5 ] [.01131 .32937 0 4.5 ] [.01131 .40873 -18 -4.5 ] [.01131 .40873 0 4.5 ] [.01131 .4881 -6 -4.5 ] [.01131 .4881 0 4.5 ] [ 0 0 0 0 ] [ 1 .5 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 1 r .25 Mabswid [ ] 0 setdash .18254 .0119 m .18254 .01815 L s [(1)] .18254 -0.0006 0 1 Mshowa .34127 .0119 m .34127 .01815 L s [(2)] .34127 -0.0006 0 1 Mshowa .5 .0119 m .5 .01815 L s [(3)] .5 -0.0006 0 1 Mshowa .65873 .0119 m .65873 .01815 L s [(4)] .65873 -0.0006 0 1 Mshowa .81746 .0119 m .81746 .01815 L s [(5)] .81746 -0.0006 0 1 Mshowa .97619 .0119 m .97619 .01815 L s [(6)] .97619 -0.0006 0 1 Mshowa .125 Mabswid .05556 .0119 m .05556 .01565 L s .0873 .0119 m .0873 .01565 L s .11905 .0119 m .11905 .01565 L s .15079 .0119 m .15079 .01565 L s .21429 .0119 m .21429 .01565 L s .24603 .0119 m .24603 .01565 L s .27778 .0119 m .27778 .01565 L s .30952 .0119 m .30952 .01565 L s .37302 .0119 m .37302 .01565 L s .40476 .0119 m .40476 .01565 L s .43651 .0119 m .43651 .01565 L s .46825 .0119 m .46825 .01565 L s .53175 .0119 m .53175 .01565 L s .56349 .0119 m .56349 .01565 L s .59524 .0119 m .59524 .01565 L s .62698 .0119 m .62698 .01565 L s .69048 .0119 m .69048 .01565 L s .72222 .0119 m .72222 .01565 L s .75397 .0119 m .75397 .01565 L s .78571 .0119 m .78571 .01565 L s .84921 .0119 m .84921 .01565 L s .88095 .0119 m .88095 .01565 L s .9127 .0119 m .9127 .01565 L s .94444 .0119 m .94444 .01565 L s .25 Mabswid 0 .0119 m 1 .0119 L s .02381 .09127 m .03006 .09127 L s [(0.5)] .01131 .09127 1 0 Mshowa .02381 .17063 m .03006 .17063 L s [(1)] .01131 .17063 1 0 Mshowa .02381 .25 m .03006 .25 L s [(1.5)] .01131 .25 1 0 Mshowa .02381 .32937 m .03006 .32937 L s [(2)] .01131 .32937 1 0 Mshowa .02381 .40873 m .03006 .40873 L s [(2.5)] .01131 .40873 1 0 Mshowa .02381 .4881 m .03006 .4881 L s [(3)] .01131 .4881 1 0 Mshowa .125 Mabswid .02381 .02778 m .02756 .02778 L s .02381 .04365 m .02756 .04365 L s .02381 .05952 m .02756 .05952 L s .02381 .0754 m .02756 .0754 L s .02381 .10714 m .02756 .10714 L s .02381 .12302 m .02756 .12302 L s .02381 .13889 m .02756 .13889 L s .02381 .15476 m .02756 .15476 L s .02381 .18651 m .02756 .18651 L s .02381 .20238 m .02756 .20238 L s .02381 .21825 m .02756 .21825 L s .02381 .23413 m .02756 .23413 L s .02381 .26587 m .02756 .26587 L s .02381 .28175 m .02756 .28175 L s .02381 .29762 m .02756 .29762 L s .02381 .31349 m .02756 .31349 L s .02381 .34524 m .02756 .34524 L s .02381 .36111 m .02756 .36111 L s .02381 .37698 m .02756 .37698 L s .02381 .39286 m .02756 .39286 L s .02381 .4246 m .02756 .4246 L s .02381 .44048 m .02756 .44048 L s .02381 .45635 m .02756 .45635 L s .02381 .47222 m .02756 .47222 L s .25 Mabswid .02381 0 m .02381 .5 L s 0 0 m 1 0 L 1 .5 L 0 .5 L closepath clip newpath % Start of user PostScript /mathtops { gsave MBeginOrig moveto MEndOrig currentpoint grestore } bind def /MAtocoords { mathtops 4 2 roll mathtops 4 copy pop pop 3 -1 roll sub /arry exch def exch sub /arrx exch def arrx dup mul arry dup mul add sqrt /arrl exch def translate } bind def /MAarrowhead1 { gsave MAtocoords arrl 0. eq { 0 0 Mdot } { [ arrx arrl div arry arrl div -1 arry mul arrl div arrx arrl div 0 0 ] concat -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto fill -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto -0.05 0.0125 lineto stroke } ifelse grestore } def % End of user PostScript .5 Mabswid .33811 .3609 m .3353 .37247 L .33142 .38441 L .32653 .39617 L .32011 .40855 L .30557 .42965 L .28855 .44751 L .27886 .45553 L .26765 .46335 L .24532 .47515 L .2336 .47966 L .22082 .48341 L .21501 .48474 L .20871 .48592 L .20272 .48681 L .19722 .48742 L .19421 .48767 L .19256 .48778 L .191 .48787 L .18954 .48794 L .18797 .488 L .18653 .48804 L .18584 .48806 L .18521 .48807 L .18446 .48808 L .18364 .48809 L .18289 .48809 L .18217 .48809 L .18134 .48809 L .18057 .48808 L .18017 .48808 L .17973 .48807 L .17883 .48805 L .17716 .488 L .17536 .48793 L .1721 .48775 L .16897 .48751 L .16606 .48724 L .15948 .48641 L .15311 .48534 L .14636 .48392 L .13334 .48028 L .12138 .47584 L .0997 .46477 L .08924 .45778 L .0788 .4495 L .06189 .43251 L .05365 .42201 L .04692 .41184 L .03582 .38993 L Mistroke .03165 .37863 L .02965 .37203 L .02809 .36599 L .02682 .36012 L .02569 .35374 L .02518 .35021 L .02479 .34695 L .02447 .34386 L .0242 .34054 L .02409 .33888 L .02401 .33731 L .02394 .33578 L .02389 .33436 L .02385 .33302 L .02384 .33234 L .02383 .3316 L .02382 .33085 L .02381 .33005 L .02381 .32929 L .02381 .3286 L .02382 .32783 L .02383 .32702 L .02384 .32625 L .02386 .32555 L .02391 .32383 L .02397 .32222 L .02415 .319 L .02441 .31552 L .02505 .30954 L .02601 .30301 L .0273 .29624 L .02878 .28997 L .03247 .27764 L .03671 .26669 L .04846 .24441 L .06295 .22499 L .07879 .20924 L Mfstroke .33398 .3795 m .33811 .3609 L s % Start of user PostScript 1.95407 2.31582 1.98007 2.19867 MAarrowhead1 % End of user PostScript .37302 .3609 m .39748 .38441 L .42417 .40855 L .44923 .42919 L .47333 .44671 L .49899 .46238 L .52369 .4742 L .53718 .47919 L .54993 .48291 L .55608 .48435 L .56258 .48563 L .56868 .48658 L .57426 .48726 L .57732 .48754 L .58022 .48776 L .58329 .48793 L .58502 .488 L .5858 .48802 L .58664 .48805 L .58742 .48806 L .58815 .48808 L .58884 .48809 L .58958 .48809 L .59024 .48809 L .59085 .4881 L .59152 .48809 L .59225 .48809 L .59302 .48808 L .59385 .48806 L .59537 .48802 L .59686 .48797 L .59823 .48791 L .60116 .48774 L .60432 .4875 L .61005 .48691 L .61685 .48593 L .62309 .48478 L .63508 .4819 L .64819 .47776 L .67388 .46675 L .69861 .45275 L .72489 .4346 L .75021 .41439 L .77457 .3929 L .80049 .36841 L .82544 .34384 L .84944 .31987 L .87499 .2946 L .89958 .27112 L .92572 .2477 L Mistroke .9509 .22722 L .97512 .20994 L .97619 .20924 L Mfstroke .39206 .3795 m .37302 .3609 L s % Start of user PostScript 2.32 2.31582 2.2 2.19867 MAarrowhead1 % End of user PostScript .34762 .29762 m .35207 .28796 L .35826 .27743 L .36536 .26753 L .37334 .25802 L .38309 .24789 L .39369 .23814 L .40628 .22778 L .41968 .2178 L .43377 .2082 L .45002 .19798 L .46692 .18814 L .48431 .17868 L .50407 .16861 L .5243 .15892 L .5471 .14861 L .57033 .13869 L .59384 .12914 L .62013 .11898 L .64667 .10919 L .67619 .0988 L .70592 .08878 L .73572 .07914 L .7687 .06889 L .8 .05952 L s .35594 .27857 m .34762 .29762 L s % Start of user PostScript 2.0924 1.68 2.04 1.8 MAarrowhead1 % End of user PostScript .34127 .32937 m .34127 .32937 .01587 0 365.73 arc F % End of Graphics MathPictureEnd \ \>"], "Graphics", GeneratedCell->False, CellAutoOverwrite->False, TextAlignment->Center, ImageSize->{333, 166.5}, ImageMargins->{{121, 0}, {0, 2}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ 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\ \>"], ImageRangeCache->{{{0, 332}, {165.5, 0}} -> {-0.509092, -0.261096, 0.0202556, 0.0202556}}]], "Input"], Cell[TextData[{ "The problem is even worse with 3 or more dimensions! An important \ observation is that ", StyleBox["the limit of a function as ", FontSlant->"Italic"], StyleBox["x", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" goes to ", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" will exist if and only if the limits as you approach ", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" along ANY path agree.", FontSlant->"Italic"], " As we just saw, there are infinitely many paths that approach a point, and \ we certainly can't test each one of them individually. This means that, in \ practice, we usually won't evaluate any \"two-dimensional\" limits. We will, \ however, use the contrapositive of the above statement: ", StyleBox["if the limits as you approach ", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" along two or more different paths disagree, then the limit as ", FontSlant->"Italic"], StyleBox["x", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" goes to ", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" does not exist", FontSlant->"Italic"], ".\n\nNow carefully re-read the above paragraph once or twice. This is a \ tricky concept!" }], "Text"], Cell[CellGroupData[{ Cell["Example 1 - A continuous function", "Subsection"], Cell["\<\ We mentioned above that in the single variable case, you can intuitively read \ \"f is continuous\" as \"You can draw the graph of f without lifting your \ pencil from the paper.\" Unfortunately, it's impossible to generalize this \ sort of statement to multivariable functions. You're not drawing a line on a \ piece of paper -- you're trying to draw a surface in three-dimensional space! In practice, that means we have to work with the slightly less intuitive idea \ that \"a multivariable function f is continuous if its graph has no jumps or \ holes.\" That's actually not a bad way to think about it; the trick is that \ it's not always easy to tell if a function has a hole (or a jump) or not! Just for the record, here's a function which is continuous everywhere. \ Rotate the picture around and notice that it seems very smooth, without any \ jumps.\ \>", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"f", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"Exp", "[", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}], "]"}]}], "Input", CellChangeTimes->{{3.4110916245526323`*^9, 3.4110916255183372`*^9}, { 3.41109175247784*^9, 3.411091755087397*^9}, 3.411092360114129*^9}] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Example 2 - A function with a hole at (0,0) that can be fixed\ \>", "Subsection"], Cell[TextData[{ "In this course we're not going to deal with a lot of pathological \ functions. If a function ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], " is not continuous for all points ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], ", then usually there will only be one bad point, and usually that bad point \ will be the origin. Here's an example where we've only changed the function \ in the previous example a little bit." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"f", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", "1"}], "/", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4110919774095488`*^9, 3.411092013026802*^9}}], Cell[TextData[{ "Notice that ", Cell[BoxData[ FormBox["f", TraditionalForm]]], "has a hole at (0,0), because it's not even defined there!" }], "Text", CellChangeTimes->{{3.411092014978428*^9, 3.411092015537702*^9}}], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"0", ",", "0"}], "]"}]], "Input"], Cell[TextData[{ "However, this is not at all evident from ", StyleBox["Mathematica", FontSlant->"Italic"], "'s graph of the function: " }], "Text", CellChangeTimes->{{3.4110920331227417`*^9, 3.411092043275404*^9}}], Cell[BoxData[ RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}], "]"}]], "Input", CellChangeTimes->{{3.4110919774095488`*^9, 3.411092009273999*^9}, 3.411092045988996*^9, 3.411092354761117*^9}], Cell[TextData[{ "This is another example of how you need to be very careful when using \ technology; ", StyleBox["Mathematica", FontSlant->"Italic"], " will help you visualize things, but it won't always tell you the whole \ story.\n\nNote that in this case, we could actually \"plug\" the hole. Look \ at the picture again and notice that as (x,y) get close to (0,0), the \ z-values all go to zero. In other words," }], "Text", CellChangeTimes->{3.4110920255081367`*^9}], Cell[BoxData[ StyleBox[ RowBox[{ RowBox[{ RowBox[{ UnderscriptBox[ StyleBox["lim", FontSlant->"Plain"], RowBox[{" ", RowBox[{ RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}], " ", "\[Rule]", " ", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]], " ", RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}]}], " ", "=", " ", "0"}], ","}], FontFamily->"Times", FontSlant->"Italic"]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell[TextData[{ "although you should remember that graphical evidence isn't the same as \ actually calculating this limit! \n\nWhat this means is that we can make ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], "into a continuous function by simply defining ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"0", ",", "0"}], ")"}], TraditionalForm]]], "to be 0. In other words," }], "Text"], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "(", RowBox[{"x", ",", "y"}], ")"}], "=", SuperscriptBox["e", RowBox[{ RowBox[{"-", "1"}], "/", RowBox[{"(", RowBox[{ SuperscriptBox["x", "2"], "+", SuperscriptBox["y", "2"]}], ")"}]}]]}], TraditionalForm]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell["\<\ is not a continuous function at (0,0), because it doesn't even exist there, \ but\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", TagBox[ RowBox[{ TagBox[ RowBox[{ StyleBox["{", ShowAutoStyles->False], StyleBox[GridBox[{ { RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["e", FontSize->18], RowBox[{ RowBox[{"-", "1"}], "/", RowBox[{"(", RowBox[{ SuperscriptBox["x", "2"], "+", SuperscriptBox["y", "2"]}], ")"}]}]], ",", " ", RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "\[NotEqual]", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}], "\[IndentingNewLine]"}]}, { RowBox[{" ", RowBox[{"0", ",", StyleBox[ RowBox[{" ", StyleBox[" ", FontFamily->"Times"]}]], RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], StyleBox[" ", FontFamily->"Times"], RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "=", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]}]} }], ShowAutoStyles->True]}], #& ], "\[IndentingNewLine]"}], #& ]}]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell[TextData[{ "is", StyleBox[" a continuous function at (0,0), because we've plugged the hole. \ Again, this is a tricky concept, but we won't be asking you to do any of \ this. Ask your TA if you've got questions, though.", FontSlant->"Plain"] }], "Text", FontSlant->"Italic"] }, Open ]], Cell[CellGroupData[{ Cell["Example 3 - A function which is not continuous at (0,0)", "Subsection"], Cell["\<\ Here's an example of a function that's not continuous at (0,0), and there's \ nothing we can do about it:\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", TagBox[ RowBox[{ TagBox[ StyleBox[ RowBox[{"{", StyleBox[GridBox[{ { RowBox[{ RowBox[{ StyleBox[ FractionBox["xy", RowBox[{ SuperscriptBox["x", "2"], "+", " ", SuperscriptBox["y", "2"]}]], FontSize->18], ",", " ", RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "\[NotEqual]", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}], "\[IndentingNewLine]"}]}, { RowBox[{" ", RowBox[{"0", ",", StyleBox[ RowBox[{" ", StyleBox[" ", FontFamily->"Times"]}]], RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], StyleBox[" ", FontFamily->"Times"], RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "=", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]}]} }], ShowAutoStyles->True]}], ShowAutoStyles->False], #& ], "\[IndentingNewLine]"}], #& ]}]], "DisplayFormula", TextAlignment->Center, FontSize->14], Cell[TextData[{ "To work with this function in ", StyleBox["Mathematica", FontSlant->"Italic"], ", it's probably easiest just to use the following definition. If ", StyleBox["Mathematica", FontSlant->"Italic"], " ever complains that ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"0", ",", "0"}], ")"}], TraditionalForm]]], "is undefined, you'll just have to remember on your own that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "(", RowBox[{"0", ",", "0"}], ")"}], "=", "0"}], TraditionalForm]]], "." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"f", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"x", "*", RowBox[{"y", "/", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}]}]}]], "Input"], Cell["\<\ Let's take a look at the graph of f. The following commands will give you an \ interactive window with the picture, as well as a static image for later \ reference.\ \>", "Text"], Cell[BoxData[ RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}], "]"}]], "Input", CellChangeTimes->{{3.411091530735814*^9, 3.411091531042653*^9}, 3.4110920786569633`*^9, 3.411092390744358*^9}], Cell[TextData[{ "Notice that the graph is still a little jagged in the middle. This is \ usually an indication that something is wrong; the graph is jumping around so \ much that ", StyleBox["Mathematica", FontSlant->"Italic"], " can't keep up!\n\nRotate the picture around until you get a good feel for \ what the graph looks like. Along a diagonal on the bottom, the height seems \ to be ", Cell[BoxData[ FormBox[ RowBox[{"-", StyleBox[ FractionBox["1", "2"], FontSize->14]}], TraditionalForm]]], ", while on the opposite diagonal, on the top, the height seems to be ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{"+", FractionBox["1", "2"]}], FontSize->14], TraditionalForm]]], ". And that, in a nutshell, is why the function is discontinuous at the \ origin: if you walk along the ridge on the top, the value at (0,0) \"should\" \ be ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{"+", FractionBox["1", "2"]}], FontSize->14], TraditionalForm]]], ", because otherwise there'd be a jump! But if you walk along the valley in \ the bottom, the value at (0,0) \"should\" be ", Cell[BoxData[ FormBox[ RowBox[{"-", StyleBox[ FractionBox["1", "2"], FontSize->14]}], TraditionalForm]]], ", because otherwise there'd be a jump there too. There's no way to \ satisfy both conditions, so the function has a jump discontinuity at (0,0), \ even though it's defined there.\n\nWhat that last paragraph says is really \ that " }], "Text", CellChangeTimes->{{3.4110920921225967`*^9, 3.411092093942322*^9}}], Cell[BoxData[ StyleBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ UnderscriptBox[ StyleBox["lim", FontSlant->"Plain"], RowBox[{" ", RowBox[{ RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}], " ", "\[Rule]", " ", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]], " ", RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}]}], " ", "\[NotEqual]", RowBox[{"f", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}], ";", " ", RowBox[{"in", " ", "fact"}]}], ",", " ", RowBox[{"the", " ", "limit", " ", "does", " ", "not", " ", RowBox[{"exist", "!"}]}]}], FontFamily->"Times", FontSlant->"Italic"]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell["\<\ How could we prove this? We definitely don't want to have to compute a limit \ with two variables. As we mentioned above, this is too hard. Instead, we \ could try to make the difference between the \"ridge\" and the \"valley\" a \ little more mathematical. Evaluate the following cell to get another graph \ of the surface, including two lines.\ \>", "Text", CellChangeTimes->{{3.411092761013465*^9, 3.411092767482843*^9}}], Cell[BoxData[ RowBox[{"Options", "[", "Graphics3D", "]"}]], "Input", CellChangeTimes->{{3.411092790758402*^9, 3.4110927931123657`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"graph", "=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"Mesh", "\[Rule]", "Automatic"}], ",", RowBox[{"PlotPoints", "\[Rule]", "60"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"lines", "=", RowBox[{"Graphics3D", "[", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.02", "]"}], ",", "Red", ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", RowBox[{"-", "1"}], ",", ".5"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1", ",", ".5"}], "}"}]}], "}"}], "]"}], ",", "Blue", ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", RowBox[{"-", ".5"}]}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "1"}], ",", RowBox[{"-", ".5"}]}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"graph", ",", "lines", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"ViewPoint", "\[Rule]", RowBox[{"{", RowBox[{"1.3", ",", RowBox[{"-", "2.4"}], ",", "2"}], "}"}]}]}], "]"}]}], "Input", CellChangeTimes->{{3.41109238428281*^9, 3.411092465075946*^9}, { 3.4110925178789253`*^9, 3.411092733885017*^9}, {3.4110927963224277`*^9, 3.411092810192625*^9}}], Cell[TextData[{ "The ", StyleBox["red", FontWeight->"Bold"], " line show you all of the points on the surface which are above the line ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", "x"}], TraditionalForm]]], ". Look at the picture from above until you see this. Notice that the \ z-values for these points are always 1/2, with the possible exception of the \ point above the origin. We can prove this mathematically. If we want to \ know what the function values are equal to when ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", "x"}], TraditionalForm]]], ", simply do that substitution :" }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "x"}], ")"}]}], "=", StyleBox[ RowBox[{ FractionBox[ RowBox[{"x", RowBox[{"(", "x", ")"}]}], RowBox[{ SuperscriptBox["x", "2"], "+", " ", SuperscriptBox[ RowBox[{"(", "x", ")"}], "2"]}]], "=", " ", RowBox[{ FractionBox[ SuperscriptBox["x", "2"], RowBox[{ SuperscriptBox["x", "2"], "+", " ", SuperscriptBox["x", "2"]}]], "=", " ", RowBox[{ FractionBox[ SuperscriptBox["x", "2"], RowBox[{"2", SuperscriptBox["x", "2"]}]], "=", " ", FractionBox["1", "2"]}]}]}], FontSize->18]}]], "DisplayFormula", TextAlignment->Center], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " will do all of this for you." }], "Text"], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"x", ",", "x"}], "]"}]], "Input"], Cell[TextData[{ "Similarly, the ", StyleBox["blue", FontWeight->"Bold"], " line shows you all of the points on the graph which have (x,y) values on \ the line ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", RowBox[{"-", "x"}]}], TraditionalForm]]], ". Rotate the picture until you can see this. The function values for \ these points [again, with the possible exception of (0,0)] is always ", Cell[BoxData[ FormBox[ RowBox[{"-", StyleBox[ FractionBox["1", "2"], FontSize->14]}], TraditionalForm]]], "." }], "Text"], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"x", ",", RowBox[{"-", "x"}]}], "]"}]], "Input"], Cell[TextData[{ "You've now shown mathematically -- instead of just that if you approach \ the origin along these two different lines, you end up with different \ heights. Or, a little more mathematically, the limit as you approach the \ origin on the red line is ", StyleBox["+", FontSize->16], Cell[BoxData[ FormBox[ FractionBox["1", "2"], TraditionalForm]], FontSize->14], ", which the limit as you approach on the blue line is ", StyleBox["-", FontSize->16], Cell[BoxData[ FormBox[ FractionBox["1", "2"], TraditionalForm]], FontSize->14], ". Since they don't agree, we've shown that" }], "Text"], Cell[BoxData[ StyleBox[ RowBox[{ UnderscriptBox[ StyleBox["lim", FontSlant->"Plain"], RowBox[{" ", RowBox[{ RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}], " ", "\[Rule]", " ", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]], " ", RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}], " ", "does", " ", "not", " ", "exist"}]}], FontFamily->"Times", FontSlant->"Italic"]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell[TextData[{ "without having to actually calculate limits. Woohoo!\n\nIncidentally, to \ show a function isn't continuous at the origin, you need to find two ways to \ approach (0,0) where you get different heights, but those approaches don't \ necessarily have to be along these lines -- or even on a line at all, as the \ next two exercises show. With our particular function in this example, we \ could have used just about any two lines. \n\n Remember that any non-vertical \ line through the origin has the form ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", RowBox[{"m", " ", "x"}]}], TraditionalForm]]], ". If you look at the points on the surface above these lines (or below, as \ the case may be), their height will be:" }], "Text"], Cell[BoxData[{ RowBox[{"f", "[", RowBox[{"x", ",", RowBox[{"m", "*", "x"}]}], "]"}], "\[IndentingNewLine]", RowBox[{"Simplify", "[", "%", "]"}]}], "Input"], Cell[TextData[{ "In our example, we used the slopes ", Cell[BoxData[ FormBox[ RowBox[{"m", "=", "1"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"m", "=", RowBox[{"-", "1"}]}], TraditionalForm]]], "." }], "Text"], Cell[BoxData[""], "Input", CellChangeTimes->{{3.411092864411525*^9, 3.4110928650859833`*^9}}], Cell[TextData[{ StyleBox["Exercise 1", FontSize->16, FontWeight->"Bold"], "\n\nShow that the function\n\n", Cell[BoxData[ RowBox[{ RowBox[{"g", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", TagBox[ RowBox[{ TagBox[ StyleBox[ RowBox[{"{", StyleBox[GridBox[{ { RowBox[{ RowBox[{ StyleBox[ FractionBox[ RowBox[{" ", RowBox[{"2", SuperscriptBox["x", "2"], "y"}]}], RowBox[{ SuperscriptBox["x", "4"], "+", " ", SuperscriptBox["y", "2"]}]], FontSize->18], ",", " ", RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "\[NotEqual]", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}], "\[IndentingNewLine]"}]}, { RowBox[{" ", RowBox[{"0", ",", StyleBox[ RowBox[{" ", StyleBox[" ", FontFamily->"Times"]}]], RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], StyleBox[" ", FontFamily->"Times"], RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "=", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]}]} }], ShowAutoStyles->True]}], ShowAutoStyles->False], #& ], "\[IndentingNewLine]"}], #& ]}]], "Text", CellFrame->False, SpanMaxSize->Infinity, FontSize->16], "\nis not continuous at the origin. You should use ", StyleBox["Mathematica", FontSlant->"Italic"], " to look at pictures of this surface, but the actual calculations might be \ easier done by hand. You can copy the following commands and evaluate them \ to see a picture, but remember that the picture \"breaks down\" a bit near \ the origin.\n\n", Cell[BoxData[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{"g", ",", "x", ",", "y"}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"g", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{ RowBox[{"(", RowBox[{"2", RowBox[{"x", "^", "2"}], " ", "*", "y"}], ")"}], "/", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "4"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}]}], "\n", RowBox[{" ", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"g", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"PlotPoints", "\[Rule]", "60"}]}], "]"}]}]}], "Input"], "\n\nDo the following steps:\n\n(a) Show that the limits agree if you \ approach above/below any line ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", RowBox[{"m", " ", "x"}]}], TraditionalForm]]], ". (Do this by figuring out what ", Cell[BoxData[ FormBox[ RowBox[{"g", "(", RowBox[{"x", ",", RowBox[{"m", " ", "x"}]}], ")"}], TraditionalForm]]], "is and then letting x\[Rule]0.)\n\n(b) Calculate the limit as you approach \ the origin above the parabola ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", SuperscriptBox["x", "2"]}], TraditionalForm]]], ".\n\n(c) Calculate the limit as you approach the origin below the parabola \ ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", RowBox[{"-", SuperscriptBox["x", "2"]}]}], TraditionalForm]]], ".\n\nYou should actually show your calculations here; don't just let ", StyleBox["Mathematica", FontSlant->"Italic"], " do them for you. Now interpret your results!\n\n", StyleBox["Exercise 2", FontSize->16, FontWeight->"Bold"], "\n\nRepeat Exercise 1 for the following function.\n\n", Cell[BoxData[ RowBox[{ RowBox[{"g", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", TagBox[ RowBox[{ TagBox[ StyleBox[ RowBox[{"{", StyleBox[GridBox[{ { RowBox[{ RowBox[{ StyleBox[ FractionBox[ RowBox[{ SuperscriptBox["x", "4"], " ", SuperscriptBox["y", "2"]}], SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["x", "4"], "+", SuperscriptBox["y", "2"]}], ")"}], "2"]], FontSize->18], ",", " ", RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "\[NotEqual]", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}], "\[IndentingNewLine]"}]}, { RowBox[{" ", RowBox[{"0", ",", StyleBox[ RowBox[{" ", StyleBox[" ", FontFamily->"Times"]}]], RowBox[{ RowBox[{ StyleBox["if", FontFamily->"Times"], StyleBox[" ", FontFamily->"Times"], RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], "=", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}]}]}]} }], ShowAutoStyles->True]}], ShowAutoStyles->False], #& ], "\[IndentingNewLine]"}], #& ]}]], "Text", CellFrame->False, SpanMaxSize->Infinity, FontSize->16], "\n\nYou can use the following commands to see a picture of its graph.\n\n", Cell[BoxData[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{"g", ",", "x", ",", "y"}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"g", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"x", "^", "4"}], " ", "*", RowBox[{"y", "^", "2"}]}], ")"}], "/", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"x", "^", "4"}], "+", RowBox[{"y", "^", "2"}]}], ")"}], "^", "2"}]}]}], "\n", RowBox[{" ", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"g", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"PlotPoints", "\[Rule]", "50"}]}], "]"}]}]}], "Input"] }], "Text", CellFrame->True, CellChangeTimes->{{3.411092849314302*^9, 3.411092852624099*^9}, { 3.4110928939628983`*^9, 3.4110929069538593`*^9}}, Background->RGBColor[0.996078, 0.627451, 0.627451]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Differentiability", FontSize->16]], "Section"], Cell[TextData[{ "You've already been told (or will be told shortly) in lecture that the \ derivative of a multivariable function ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{ RowBox[{"f", ":", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}], "\[Rule]", " ", SuperscriptBox["\[DoubleStruckCapitalR]", "m"]}], FontSize->14], TraditionalForm]]], " is a ", StyleBox["matrix", FontSlant->"Italic"], ", sometimes called ", Cell[BoxData[ FormBox[ RowBox[{"D", " ", "f"}], TraditionalForm]]], " (for \"Derivative matrix of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], "), and sometimes called ", Cell[BoxData[ FormBox[ RowBox[{"J", " ", "f"}], TraditionalForm]]], " (for \"Jacobian of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], "\"). Both ", StyleBox["Df", FontSlant->"Italic"], " and ", StyleBox["Jf", FontSlant->"Italic"], " mean the same thing: the matrix which contains all of the partial \ derivatives of the function:" }], "Text"], Cell[BoxData[ RowBox[{"(", "\[NegativeThinSpace]", GridBox[{ { FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "1"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "1"]}]], FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "1"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "2"]}]], "\[CenterEllipsis]", FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "1"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "n"]}]]}, { FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "2"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "1"]}]], FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "2"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "12"]}]], "\[CenterEllipsis]", FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "2"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "n"]}]]}, {"\[VerticalEllipsis]", "\[VerticalEllipsis]", "\[DescendingEllipsis]", "\[VerticalEllipsis]"}, { FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "m"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "1"]}]], FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "m"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "2"]}]], "\[CenterEllipsis]", FractionBox[ RowBox[{"\[PartialD]", SubscriptBox["f", "m"]}], RowBox[{"\[PartialD]", SubscriptBox["x", "n"]}]]} }], "\[NegativeThinSpace]", ")"}]], "DisplayFormula", TextAlignment->Center, FontSize->24], Cell[TextData[{ "Once we've found this matrix, we can evaluate it at a point ", StyleBox["x=a", FontWeight->"Bold", FontSlant->"Italic"], " by plugging in numbers for x, y, or whatever other variables we have.", " We write this as ", StyleBox["Df(", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[")", FontSlant->"Italic"], ". ", "The technical definition of differentiability says that a function is \ differentiable at a point ", StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], " if" }], "Text"], Cell[BoxData[ RowBox[{" ", RowBox[{ RowBox[{ UnderscriptBox["lim", RowBox[{ StyleBox["x", FontWeight->"Bold"], " ", "\[Rule]", " ", StyleBox["a", FontWeight->"Bold"]}]], FractionBox[ RowBox[{"||", RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"f", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"D", " ", "f", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}], " ", RowBox[{"(", RowBox[{ StyleBox["x", FontWeight->"Bold"], "-", StyleBox["a", FontWeight->"Bold"]}], ")"}]}]}], "||"}], RowBox[{"||", RowBox[{ StyleBox["x", FontWeight->"Bold"], "-", StyleBox["a", FontWeight->"Bold"]}], "||"}]]}], " ", "=", " ", "0"}]}]], "DisplayFormula", TextAlignment->Center, FontFamily->"Times", FontSize->16], Cell[TextData[{ "Yikes! While this definition is correct, it's hard to work with, and it's \ not at all clear what it means. Let's take a step backwards and figure out \ what it means for a function to be differentiable.\n\nThink back to single \ variable calculus. You know the limit definition of a derivative in the \ single variable case, but intuitively ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", "x", ")"}], TraditionalForm]]], " is differentiable at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], " if the graph has a tangent line there, and the derivative is that slope. \ Another way of thinking about this is that the graph of ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", "x", ")"}], TraditionalForm]]], " looks linear (\"like a line\") near ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], ". Evaluate the next cell to see the graph of ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", SuperscriptBox["x", "2"]}], TraditionalForm]]], "along with its tangent line for ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "1"}], TraditionalForm]]], ". (You haven't seen this before, but you can give ", StyleBox["Plot", FontWeight->"Bold"], " more than one function at a time, as long as you surround them with curly \ brackets.)" }], "Text"], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"x", "^", "2"}], ",", RowBox[{ RowBox[{"2", "x"}], "-", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "3"}], "}"}]}], "]"}]], "Input"], Cell[TextData[{ "Now go back and change the range for x to 0.5 and 1.5. Then .9 and 1.1, or \ even .999 and 1.001. Notice how the more you \"zoom in,\" the harder it gets \ to distinguish between the two graphs. In other words, the graph of ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", SuperscriptBox["x", "2"]}], TraditionalForm]]], "looks linear when you zoom in far enough. This is also why the tangent \ line is called the ", StyleBox["linear approximation", FontSlant->"Italic"], " of the graph at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "1"}], TraditionalForm]]], "; it's the line which most closely approximates the graph there.\n\nSo, a \ single variable function ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", "x", ")"}], TraditionalForm]]], " is differentiable at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], " if it has a linear approximation there; ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "'"}], RowBox[{"(", "a", ")"}]}], TraditionalForm]]], "is the slope of that line.\n\nHere's the quintessential function from \ single variable calculus which isn't differentiable at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "0"}], TraditionalForm]]], ":" }], "Text"], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"Abs", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "]"}]], "Input"], Cell[TextData[{ "The graph of ", Cell[BoxData[ FormBox[ RowBox[{"y", "=", RowBox[{"|", "x", "|"}]}], TraditionalForm]]], " does ", StyleBox["not", FontSlant->"Italic"], " look like a line at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "0"}], TraditionalForm]]], ". In fact it has a very sharp corner there, and no matter how far you zoom \ in --- try a range of -0.00001 to 0.00001 for x! --- you can't make the graph \ straighten out and look linear.\n\nThe same idea works for multivariable \ functions. If you zoom in far enough on a point on a graph, it should either \ look linear (which in higher dimensions could be replaced with \"planar\") or \ not. If it's linear when you zoom in, then you can find a linear \ approximation there. Make sense? \n\nSo, to draw a direct analog to the \ single variable case, a multivariable function is differentiable at ", Cell[BoxData[ FormBox[ RowBox[{ OverscriptBox["x", "\[RightVector]"], "=", OverscriptBox["a", "\[RightVector]"]}], TraditionalForm]]], "if it has a linear approximation -- i.e. a tangent plane -- there.\n\nThis \ can be very tricky to figure out! Evaluate the following cells and decide if \ you think they look linear at the origin. (Remember, you can zoom in/out \ with LiveGraphics3D by holding down the shift key, clicking on the picture, \ and dragging the mouse up and down.)" }], "Text"], Cell[TextData[{ "Note that the section function, ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{ SuperscriptBox["x", "3"], "-", SuperscriptBox["y", "3"]}], ")"}], "/", RowBox[{"(", RowBox[{ SuperscriptBox["x", "2"], "+", SuperscriptBox["y", "2"]}], ")"}]}], TraditionalForm]]], ", isn't defined at (0,0), but you can \"plug the hole\" by defining the \ function to be equal to zero there. This makes it a continuous function, \ which you can assume without checking." }], "Text", CellFrame->True, Background->GrayLevel[0.833326]], Cell[BoxData[ RowBox[{"surf1", "=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{ RowBox[{"Exp", "[", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}], "]"}], "-", "1"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.411093000947838*^9, 3.4110930096839857`*^9}}], Cell[BoxData[ RowBox[{"surf2", "=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"x", "^", "3"}], "-", RowBox[{"y", "^", "3"}]}], ")"}], "/", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.411093013610688*^9, 3.411093020218968*^9}}], Cell[TextData[{ "It turns out that the first one ", StyleBox["is", FontSlant->"Italic"], " differentiable, and the second one ", StyleBox["isn't", FontSlant->"Italic"], ". That's hard to see from the second picture, but notice that there are \ \"ridges\" and \"valleys\" leaving the origin along the coordinate axes; the \ particular way that some of them go up, while some go down, make it \ impossible to approximate the graph with a tangent plane. The only real \ possibility is the plane" }], "Text"], Cell[BoxData[ RowBox[{"z", "=", RowBox[{"x", "-", "y"}]}]], "DisplayFormula", TextAlignment->Center, FontSize->14], Cell["\<\ (You're asked to show this in the exercises.) But look at the following \ picture of the graph and the plane together. Rotate and zoom in/out as \ needed. See if you can believe that the plane isn't actually tangent to the \ surface at (0,0). Basically, the surface has a few \"kinks\" at (0,0) which \ prevent the plane from being tangent.\ \>", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"plane2", "=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"x", "-", "y"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"surf2", ",", "plane2", ",", RowBox[{"BoxRatios", "\[Rule]", RowBox[{"{", RowBox[{"1", ",", "1", ",", "2"}], "}"}]}]}], "]"}]}], "Input", CellChangeTimes->{{3.4110930378699903`*^9, 3.4110930460359573`*^9}}], Cell["\<\ Just for comparison, here's the first surface, along with its tangent plane.\ \>", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"plane1", "=", RowBox[{"Plot3D", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"surf1", ",", "plane1"}], "]"}]}], "Input", CellChangeTimes->{{3.4110930608869247`*^9, 3.411093067236519*^9}}], Cell["\<\ You can see that the linear approximation isn't very good once you move away \ from the origin, but the surface certainly doesn't have any kinks in it, or \ \"jab through\" the plane near the origin. So, back to the $64,000 question: why does the big, ugly derivative matrix \ (or \"Jacobian\" matrix, which is the same thing) matter? As it turns out, \ it matters because you use it to find the linear approximation --- or \ \"tangent plane\" --- for your function. If you'd like to understand the technical definition a bit more, expand the \ next subsection; otherwise go on to the summary of what differentiable \ functions are.\ \>", "Text"], Cell[CellGroupData[{ Cell["\<\ (Expand this Subsection to read an explanation of the technical definition)\ \>", "Subsection"], Cell[TextData[{ "Here again, for your reading pleasure, is the technical definition of \ differentiability: a function is differentiable at a point ", StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], " if there's a linear transformation ", StyleBox["T", FontSlant->"Italic"], " such that" }], "Text"], Cell[BoxData[ RowBox[{" ", RowBox[{ RowBox[{ UnderscriptBox["lim", RowBox[{ StyleBox["x", FontWeight->"Bold"], " ", "\[Rule]", " ", StyleBox["a", FontWeight->"Bold"]}]], FractionBox[ RowBox[{"||", RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"f", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"T", RowBox[{"(", RowBox[{ StyleBox["x", FontWeight->"Bold"], "-", StyleBox["a", FontWeight->"Bold"]}], ")"}]}]}], "||"}], RowBox[{"||", RowBox[{ StyleBox["x", FontWeight->"Bold"], "-", StyleBox["a", FontWeight->"Bold"]}], "||"}]]}], " ", "=", " ", "0"}]}]], "DisplayFormula", TextAlignment->Center, FontFamily->"Times", FontSize->16], Cell[TextData[{ "(The double bars in that equation mean ``length of a vector'.') Let's \ think about what that equation means: the limit is zero, so as ", StyleBox["x", FontWeight->"Bold"], " approaches ", StyleBox["a", FontWeight->"Bold"], ", the numerator becomes much smaller than the denominator. The denominator \ is just the distance from ", StyleBox["x", FontWeight->"Bold"], " to ", StyleBox["a", FontWeight->"Bold"], ". Since T is linear, T(x-a) = T(x) - T(a), and the part of the numerator \ inside the bars can be written in a somewhat more illuminating way:" }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"f", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"(", RowBox[{ RowBox[{"T", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"T", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}]}]}], ")"}]}], " ", "=", " ", RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"f", RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"T", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "+", " ", RowBox[{"T", RowBox[{ RowBox[{"(", StyleBox["a", FontWeight->"Bold"], ")"}], "."}]}]}]}]], "DisplayFormula", FontFamily->"Times"], Cell[TextData[{ "But wait...T is a tangent plane (or ``tangent 3-space'', etc) so ", StyleBox["f(", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[")", FontSlant->"Italic"], " must equal ", StyleBox["T(", FontSlant->"Italic"], StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[")", FontSlant->"Italic"], ", and in the above equation they'll cancel. So the numerator becomes even \ simpler\[LongDash]" }], "Text"], Cell[BoxData[ StyleBox[ RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"T", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}], " "}]}], FontFamily->"Times"]], "DisplayFormula"], Cell["\<\ \[LongDash]and we can rewrite the above limit as\ \>", "Text"], Cell[BoxData[ RowBox[{" ", RowBox[{ RowBox[{ UnderscriptBox["lim", RowBox[{ StyleBox["x", FontWeight->"Bold"], " ", "\[Rule]", " ", StyleBox["a", FontWeight->"Bold"]}]], FractionBox[ RowBox[{"|", RowBox[{ RowBox[{"f", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}], " ", "-", " ", RowBox[{"T", RowBox[{"(", StyleBox["x", FontWeight->"Bold"], ")"}]}]}], "|"}], RowBox[{"|", RowBox[{ StyleBox["x", FontWeight->"Bold"], "-", StyleBox["a", FontWeight->"Bold"]}], "|"}]]}], " ", "=", " ", "0."}]}]], "DisplayFormula", FontFamily->"Times", FontSize->16], Cell[TextData[{ "If that limit is zero, then as ", StyleBox["x", FontWeight->"Bold"], " approaches ", StyleBox["a", FontWeight->"Bold"], " (along any path, of course) the numerator is much smaller than the \ denominator, which means that the linear transformation approximates f(", StyleBox["x", FontWeight->"Bold"], ") very well near ", StyleBox["a", FontWeight->"Bold"], ". You might say that in a very small neighborhood of ", StyleBox["a", FontWeight->"Bold"], ", f(x) is ``just about'' linear. This is what we were trying to visualize \ earlier in this section.\n\nThis definition of differentiability is, \ unfortunately, not very practical. If we're interested in deciding whether a \ function is differentiable or not (and also in finding the particular linear \ transformation that approximates it), we have to use a test which will be \ described below." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Summary of what \"differentiable\" means", "Subsection"], Cell[TextData[{ "To recap what we've gone over (and add a few more details from lecture that \ you can look up in your notes or your book):\n\n", StyleBox["Single Variable Calculus", FontWeight->"Bold"], "\n\n", "A function ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{ RowBox[{"f", ":", SuperscriptBox["\[DoubleStruckCapitalR]", "1"]}], "\[Rule]", " ", SuperscriptBox["\[DoubleStruckCapitalR]", "1"]}], FontSize->14], TraditionalForm]]], "is differentiable at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], " if has linear approximation (that is, a tangent line) at that point. \ Moreover, the derivative ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "'"}], RowBox[{"(", "a", ")"}]}], TraditionalForm]]], " is the slope of the tangent line. A little less intuitively, the \ derivative ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "'"}], RowBox[{"(", "a", ")"}]}], TraditionalForm]]], " is the number which makes the following equation be the linear \ approximation to ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], "." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"L", RowBox[{"(", "x", ")"}]}], "=", RowBox[{ RowBox[{"f", RowBox[{"(", "a", ")"}]}], "+", RowBox[{ RowBox[{"f", "'"}], RowBox[{"(", "a", ")"}], RowBox[{"(", RowBox[{"x", "-", "a"}], ")"}]}]}]}]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell[TextData[{ "We know that some things, such as polynomials and trig functions, are \ differentiable. If you're ever in doubt about a given function, you can \ always check it using the limit definition you learned in Calc I.\n\n", StyleBox["Multivariable Calculus", FontWeight->"Bold"], "\n\nA function ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{ RowBox[{ StyleBox["f", FontWeight->"Bold"], ":", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}], "\[Rule]", " ", SuperscriptBox["\[DoubleStruckCapitalR]", "m"]}], FontSize->14], TraditionalForm]]], "is differentiable at ", Cell[BoxData[ FormBox[ RowBox[{ OverscriptBox["x", "\[RightVector]"], "=", OverscriptBox["a", "\[RightVector]"]}], TraditionalForm]]], " if has linear approximation (that is, a tangent ", StyleBox["plane", FontSlant->"Italic"], ") at that point. Moreover, the derivative ", StyleBox["Df(", FontSlant->"Italic"], Cell[BoxData[ FormBox[ OverscriptBox["a", "\[RightVector]"], TraditionalForm]]], StyleBox[")", FontSlant->"Italic"], " is a matrix which, in some sense, tells you the \"slope\" of the tangent \ plane. More accurately, if a little less intuitively, the derivative ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{"Df", "(", OverscriptBox["a", "\[RightVector]"], ")"}], FontSlant->"Italic"], TraditionalForm]]], " is the matrix which makes the following equation be the linear \ approximation to ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " at ", Cell[BoxData[ FormBox[ RowBox[{"x", "=", "a"}], TraditionalForm]]], "." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{ StyleBox["L", FontWeight->"Bold"], RowBox[{"(", OverscriptBox["x", "\[RightVector]"], ")"}]}], "=", RowBox[{ RowBox[{ StyleBox["f", FontWeight->"Bold"], RowBox[{"(", OverscriptBox["a", "\[RightVector]"], ")"}]}], "+", RowBox[{"D", " ", "f", RowBox[{"(", OverscriptBox["a", "\[RightVector]"], ")"}], RowBox[{"(", RowBox[{ OverscriptBox["x", "\[RightVector]"], "-", OverscriptBox["a", "\[RightVector]"]}], ")"}]}]}]}]], "DisplayFormula", TextAlignment->Center, FontSize->16], Cell["\<\ How can you tell if a multivariable function is differentiable? We have the \ following handy-dandy (if somewhat complicated) theorem.\ \>", "Text"], Cell[TextData[{ StyleBox["Differentiability Theorem", FontSlant->"Italic"], ": ", Cell[BoxData[ FormBox[ StyleBox[ RowBox[{ RowBox[{ StyleBox["f", FontWeight->"Bold"], ":", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}], "\[Rule]", " ", SuperscriptBox["\[DoubleStruckCapitalR]", "m"]}], FontSize->14], TraditionalForm]]], " is differentiable at a point ", StyleBox["x=a", FontWeight->"Bold", FontSlant->"Italic"], " if each of the entries of the matrix ", Cell[BoxData[ FormBox[ RowBox[{"D", " ", RowBox[{"f", "(", "a", ")"}]}], TraditionalForm]]], " exists at ", StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], " and is continuous at ", StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], "; in other words, all of the partial derivatives which make up ", Cell[BoxData[ FormBox[ RowBox[{"D", " ", RowBox[{"f", "(", "a", ")"}]}], TraditionalForm]]], " exist and are continuous functions at ", StyleBox["a", FontWeight->"Bold", FontSlant->"Italic"], ". " }], "Text", CellFrame->True, FontSize->14, Background->RGBColor[1, 1, 0]], Cell["\<\ The important feature of this theorem is that it requires the partial \ derivatives to be continuous, and not to merely be defined at some point. \ That doesn't sound too bad, but you know from the first section of this lab \ that it can be tricky just to tell if a given function (i.e. one of the \ partial derivatives) is continuous or not!\ \>", "Text"], Cell[TextData[{ StyleBox["Exercise 3", FontSize->16, FontWeight->"Bold"], "\n\nConsider the following function, which we examined above. You may wish \ to go back and look at the graph and the \"alleged\" tangent plane at (0,0), \ which we've already told you isn't really a tangent plane. In this exercise \ you're going to prove that.\n\n", Cell[BoxData[ RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", StyleBox[" ", SpanMaxSize->Infinity], RowBox[{ StyleBox[ TagBox[ StyleBox["{", ShowAutoStyles->False], #& ], SpanMaxSize->Infinity], GridBox[{ { RowBox[{ FractionBox[ RowBox[{ SuperscriptBox["x", "3"], " ", "-", " ", SuperscriptBox["y", "3"]}], RowBox[{ SuperscriptBox["x", "2"], " ", "+", " ", SuperscriptBox["y", "2"]}]], ",", " ", RowBox[{ RowBox[{ RowBox[{"if", " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "\[NotEqual]", " ", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}], ";"}]}]}, { RowBox[{"0", ",", " ", RowBox[{ RowBox[{"if", " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}], "."}]}]}]} }]}]}]], FontFamily->"Times", FontSize->16], "\n\nYou may assume that ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], " is a continuous function without proving it.\n \n(a) Find the partial \ derivatives of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " at the origin. Don't use ", StyleBox["Mathematica", FontSlant->"Italic"], " to do this; do it by hand. Remember that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "(", RowBox[{"0", ",", "0"}], ")"}], "=", "0"}], TraditionalForm]]], ".\n\nNow let's see why ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " is not differentiable at the origin.\n\n(b) Earlier you were told that if \ there were a tangent plane at the origin, it would have to be the plane ", Cell[BoxData[ FormBox[ RowBox[{"z", "=", RowBox[{"x", "-", "y"}]}], TraditionalForm]]], ". Prove this. Remember that the equation for the tangent plane -- that \ is, the linear approximation -- looks like this:\n\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ StyleBox["L", FontWeight->"Bold"], RowBox[{"(", OverscriptBox["x", "\[RightVector]"], ")"}]}], "=", RowBox[{ RowBox[{ StyleBox["f", FontWeight->"Bold"], RowBox[{"(", OverscriptBox["a", "\[RightVector]"], ")"}]}], "+", RowBox[{"D", " ", RowBox[{"f", "(", OverscriptBox["a", "\[RightVector]"], ")"}], RowBox[{"(", RowBox[{ OverscriptBox["x", "\[RightVector]"], "-", OverscriptBox["a", "\[RightVector]"]}], ")"}]}]}]}], TraditionalForm]]], "\n\nIn particular, if we have a function of two variables, the equation for \ the linear approximation at a point (a,b) becomes\n\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ StyleBox["L", FontWeight->"Bold"], "(", RowBox[{"x", ",", "y"}], ")"}], "=", RowBox[{ RowBox[{ StyleBox["f", FontWeight->"Bold"], "(", RowBox[{"a", ",", "b"}], ")"}], "+", RowBox[{"D", " ", RowBox[{ RowBox[{"f", "(", RowBox[{"a", ",", "b"}], ")"}], "\[CenterDot]", RowBox[{"(", RowBox[{ RowBox[{"x", "-", "a"}], ",", RowBox[{"y", "-", "b"}]}], ")"}]}]}]}]}], TraditionalForm]]], "\n\n(c) Is the plane tangent to the graph when restricted to the line ", StyleBox["x = ", FontSlant->"Italic"], "0? ", StyleBox["y", FontSlant->"Italic"], " = 0? ", StyleBox["y = -x", FontSlant->"Italic"], "? Check this by making two-dimensional plots of L and ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " when restricted to those lines. Note that tangency is somewhat like \ continuity: if there's some line along which L fails to be tangent to ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ", then L (in all of 3-space) is not tangent to ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ".\n\n(d) Now you've shown that L is not tangent to ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ". But L is the only possible linear approximation for ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " at the origin; hence there ", StyleBox["is", FontSlant->"Italic"], " no linear approximation for ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " there. In other words, ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " is not differentiable at the origin. Explain why this does not contradict \ the \"Differentiability Theorem\" above.\n\nNote that we've split this \ problem up into pieces to help you work through it, but your written solution \ should not be split up in this way; it should be a seamless essay which \ investigates this function and hits the important points mentioned here.\n\n\ ", StyleBox["Exercise 4", FontSize->16, FontWeight->"Bold"], "\n\nConsider the following function:\n\n", Cell[BoxData[ RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", StyleBox[" ", SpanMaxSize->Infinity], RowBox[{ StyleBox[ TagBox[ StyleBox["{", ShowAutoStyles->False], #& ], SpanMaxSize->Infinity], GridBox[{ { RowBox[{ RowBox[{ FractionBox["1", "2"], " ", "y", " ", RowBox[{"Log", "[", RowBox[{ SuperscriptBox["x", "2"], "+", SuperscriptBox["y", "2"]}], "]"}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"if", " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "\[NotEqual]", " ", RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}]}], ";"}]}]}, { RowBox[{"0", ",", " ", RowBox[{ RowBox[{"if", " ", RowBox[{"(", RowBox[{"x", ",", "y"}], ")"}]}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"0", ",", "0"}], ")"}], "."}]}]}]} }]}]}]], FontFamily->"Times", FontSize->16], "\n\nYou may assume that this is a continuous function (although that's not \ easy to show!) Prove that ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " does not satisfy the conditions of the \"Differentiability Theorem\" above \ at the point (0,0)." }], "Text", CellFrame->True, Background->RGBColor[1, 0.501961, 0.501961]], Cell[CellGroupData[{ Cell["Credits", "Subsubsection"], Cell[TextData[{ "This lab has a long history. Originally we had a lab written in ", Cell[BoxData[ StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox["A", BoxBaselineShift->-0.2, BoxMargins->{{-0.36, -0.1}, {0, 0}}], FontSize->Smaller], "T", AdjustmentBox["E", BoxBaselineShift->0.5, BoxMargins->{{-0.075, -0.085}, {0, 0}}], "X"}]]]], " by Cindy Kaus which described all of the pathological examples of things \ that can go wrong -- everything from discontinuous functions to \ differentiable functions whose mixed partials are not equal. Students were \ asked to prove these facts about the functions and were given some guidance \ about how to do it in ", StyleBox["Mathematica", FontSlant->"Italic"], ". In Spring 2002 Dan Drake completely rewrote the entire thing as a ", StyleBox["Mathematica", FontSlant->"Italic"], " notebook, which had two advantages for us: (1) consistency, because now \ all of the labs were in notebook form, and (2) he could include graphing \ commands and other pictures to help make his point. Dan wrote pages and \ pages of terrific explanations which helped a lot; the only overlap with \ Cindy's original lab were the four exercises, although he restated split \ those into steps to help students along.\n\nIt was still a very hard \ assignment. People weren't learning the subtle details in the labs, and we \ weren't using the really pathological examples later on in the course anyway. \ In January 2004 I revamped the lab to be more interactive and \ example-driven. The exercises have been scaled back and are based on the \ examples. Hopefully this version will go over well.\n\nEverything up to \ example 1 was written by Dan, as well as the excellent explanation of the \ \"technical definition\" of differentiability. Example 3 is an expansion of \ an example he added to the lab, and exercise 3 is a slight reworking of ", StyleBox["his", FontSlant->"Italic"], " version of one of Cindy's exercises. There's not much else left of \ Cindy's original lab, I guess. Example 3 is based on her \"Example (i).\"\n\n\ Slight updates in January 2008 for ", StyleBox["Mathematica", FontSlant->"Italic"], " 6.0 compatibility.\n\nThis version is copyright 2004 by Jonathan Rogness \ (rogness@math.umn.edu), with the exception of those parts described above, \ which are copying 2002 by Dan Drake and 2000 by Cindy Kaus. All of us have \ agreed to use the same license, so this lab is protected by the Creative \ Commons Attribution-NonCommercial-ShareAlike License. You can find more \ information on this license at \ http://creativecommons.org/licenses/by-nc-sa/1.0/\n\nAlthough it's not \ specifically required by the license, I'd appreciate it if you let me know if \ you use parts of our labs, just so I can keep track of it. Please send me \ any questions or comments!" }], "Text", CellChangeTimes->{{3.4110931606929283`*^9, 3.411093171081079*^9}}] }, Closed]] }, Open ]] }, Closed]] }, PrintingStyleEnvironment->"Printout", WindowToolbars->{}, WindowSize->{754, 744}, WindowMargins->{{Automatic, 230}, {Automatic, 0}}, PrintingPageRange->{Automatic, Automatic}, PrintingOptions->{"Magnification"->1, "PaperOrientation"->"Portrait", "PaperSize"->{612, 792}, "PostScriptOutputFile":>"", "PrintCellBrackets"->False, "PrintMultipleHorizontalPages"->False, "PrintRegistrationMarks"->True, "PrintingMargins"->{{54, 54}, {72, 72}}}, SpanMaxSize->Infinity, Magnification->1, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (April 20, 2007)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[568, 21, 402, 11, 99, "Text"], Cell[CellGroupData[{ Cell[995, 36, 66, 1, 63, "Section"], Cell[1064, 39, 611, 13, 71, "Text"], Cell[1678, 54, 692, 16, 72, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[2407, 75, 64, 1, 63, "Section"], Cell[2474, 78, 354, 10, 41, "Text"], Cell[2831, 90, 334, 13, 34, "DisplayFormula"], Cell[3168, 105, 26, 0, 26, "Text"], Cell[3197, 107, 435, 17, 34, "DisplayFormula"], Cell[3635, 126, 845, 14, 131, "Text"], Cell[4483, 142, 10277, 542, 275, "Input"], Cell[14763, 686, 350, 7, 56, "Text"], Cell[15116, 695, 10756, 561, 186, "Input"], Cell[25875, 1258, 1408, 43, 116, "Text"], Cell[CellGroupData[{ Cell[27308, 1305, 55, 0, 34, "Subsection"], Cell[27366, 1307, 889, 15, 161, "Text"], Cell[28258, 1324, 843, 25, 43, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[29138, 1354, 91, 2, 34, "Subsection"], Cell[29232, 1358, 566, 15, 56, "Text"], Cell[29801, 1375, 350, 11, 27, "Input"], Cell[30154, 1388, 221, 6, 26, "Text"], Cell[30378, 1396, 77, 2, 27, "Input"], Cell[30458, 1400, 220, 6, 26, "Text"], Cell[30681, 1408, 558, 16, 27, "Input"], Cell[31242, 1426, 479, 10, 86, "Text"], Cell[31724, 1438, 543, 20, 36, "DisplayFormula"], Cell[32270, 1460, 466, 13, 56, "Text"], Cell[32739, 1475, 365, 14, 30, "DisplayFormula"], Cell[33107, 1491, 105, 3, 26, "Text"], Cell[33215, 1496, 1586, 54, 99, "DisplayFormula"], Cell[34804, 1552, 286, 7, 41, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[35127, 1564, 77, 0, 34, "Subsection"], Cell[35207, 1566, 129, 3, 26, "Text"], Cell[35339, 1571, 1522, 51, 100, "DisplayFormula"], Cell[36864, 1624, 561, 19, 41, "Text"], Cell[37428, 1645, 255, 9, 27, "Input"], Cell[37686, 1656, 189, 4, 41, "Text"], Cell[37878, 1662, 558, 16, 27, "Input"], Cell[38439, 1680, 1584, 44, 194, "Text"], Cell[40026, 1726, 796, 27, 36, "DisplayFormula"], Cell[40825, 1755, 439, 7, 56, "Text"], Cell[41267, 1764, 137, 2, 27, "Input"], Cell[41407, 1768, 1891, 56, 73, "Input"], Cell[43301, 1826, 618, 16, 56, "Text"], Cell[43922, 1844, 729, 27, 56, "DisplayFormula"], Cell[44654, 1873, 109, 4, 26, "Text"], Cell[44766, 1879, 77, 2, 27, "Input"], Cell[44846, 1883, 551, 19, 52, "Text"], Cell[45400, 1904, 96, 3, 27, "Input"], Cell[45499, 1909, 627, 19, 78, "Text"], Cell[46129, 1930, 511, 19, 36, "DisplayFormula"], Cell[46643, 1951, 757, 14, 131, "Text"], Cell[47403, 1967, 165, 4, 43, "Input"], Cell[47571, 1973, 250, 11, 26, "Text"], Cell[47824, 1986, 94, 1, 27, "Input"], Cell[47921, 1989, 7293, 228, 744, "Text"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[55263, 2223, 71, 1, 33, "Section"], Cell[55337, 2226, 1009, 36, 58, "Text"], Cell[56349, 2264, 1667, 54, 164, "DisplayFormula"], Cell[58019, 2320, 574, 21, 41, "Text"], Cell[58596, 2343, 1072, 40, 48, "DisplayFormula"], Cell[59671, 2385, 1339, 36, 134, "Text"], Cell[61013, 2423, 283, 10, 27, "Input"], Cell[61299, 2435, 1268, 37, 134, "Text"], Cell[62570, 2474, 191, 6, 27, "Input"], Cell[62764, 2482, 1407, 31, 208, "Text"], Cell[64174, 2515, 596, 18, 63, "Text"], Cell[64773, 2535, 691, 21, 27, "Input"], Cell[65467, 2558, 735, 23, 27, "Input"], Cell[66205, 2583, 515, 12, 56, "Text"], Cell[66723, 2597, 120, 4, 22, "DisplayFormula"], Cell[66846, 2603, 368, 6, 56, "Text"], Cell[67217, 2611, 613, 18, 43, "Input"], Cell[67833, 2631, 100, 2, 26, "Text"], Cell[67936, 2635, 476, 14, 43, "Input"], Cell[68415, 2651, 659, 13, 131, "Text"], Cell[CellGroupData[{ Cell[69099, 2668, 105, 2, 34, "Subsection"], Cell[69207, 2672, 319, 10, 41, "Text"], Cell[69529, 2684, 973, 37, 48, "DisplayFormula"], Cell[70505, 2723, 600, 17, 56, "Text"], Cell[71108, 2742, 1002, 39, 20, "DisplayFormula"], Cell[72113, 2783, 492, 19, 41, "Text"], Cell[72608, 2804, 281, 11, 20, "DisplayFormula"], Cell[72892, 2817, 72, 2, 26, "Text"], Cell[72967, 2821, 741, 29, 47, "DisplayFormula"], Cell[73711, 2852, 897, 23, 116, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[74645, 2880, 62, 0, 26, "Subsection"], Cell[74710, 2882, 1229, 42, 120, "Text"], Cell[75942, 2926, 326, 13, 24, "DisplayFormula"], Cell[76271, 2941, 1639, 51, 137, "Text"], Cell[77913, 2994, 590, 21, 26, "DisplayFormula"], Cell[78506, 3017, 159, 3, 41, "Text"], Cell[78668, 3022, 1142, 44, 78, "Text"], Cell[79813, 3068, 367, 6, 56, "Text"], Cell[80183, 3076, 6830, 216, 722, "Text"], Cell[CellGroupData[{ Cell[87038, 3296, 32, 0, 25, "Subsubsection"], Cell[87073, 3298, 2963, 55, 386, "Text"] }, Closed]] }, Open ]] }, Closed]] } ] *) (* End of internal cache information *)