(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. 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[ 47936, 1738]*) (*NotebookOutlinePosition[ 48747, 1769]*) (* CellTagsIndexPosition[ 48677, 1763]*) (*WindowFrame->Normal*) Notebook[{ Cell[TextData[{ "Introduction to ", StyleBox["Mathematica \[MathematicaIcon]", FontSlant->"Italic"] }], "Title"], Cell["I. Getting Started", "Subtitle"], Cell["\<\ P. S. Cally, School of Mathematical Sciences, Monash \ University\ \>", "Author"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " is an extremely powerful computing environment in which to do \ mathematics. It excels at both symbolic and numerical mathematics, and also \ contains many powerful graphical utilities. It's great strength is that it \ enables you to do mathematics quickly and easily, and in a way which is close \ to how the \"mathematical mind\" operates, without having to think too much \ about computing issues.\nHowever, ", StyleBox["Mathematica", FontSlant->"Italic"], " is also a very powerful programming language. We will learn more about \ this as we proceed." }], "Text", FontSize->14, FontWeight->"Bold", FontColor->RGBColor[0.117647, 0.141176, 0.643137]], Cell[TextData[{ StyleBox["Before you start", FontSize->14, FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox[" ", FontWeight->"Bold"], "Is this text big enough for you? If not, you may like to adjust the \ magnification. Go to Format > Magnification and set say 150% (125% looks \ rather ragged and isn't recommended)." }], "Text"], Cell[CellGroupData[{ Cell["First Steps", "Section"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " consists of two parts, the ", StyleBox["front end", FontVariations->{"Underline"->True}], " and the ", Cell[BoxData[ FormBox[ StyleBox["kernel", FontVariations->{"Underline"->True}], TraditionalForm]]], ". The kernel is what does the actual work, whilst the front end is what \ displays and controls notebooks like this one. The two don't even have to be \ running on the same computer! Clearly, as I type this, the front end is \ working. However, as yet, the kernel has not been started. I ", StyleBox["could ", FontSlant->"Italic"], "start it by going to the menu item Kernel>Start kernel>Local, but this is \ not necessary. Instead, the first time I try to actually evaluate something, \ the kernel will fire up. To do this, I type a ", StyleBox["Mathematica", FontSlant->"Italic"], " expression in a new cell, ", StyleBox["and evaluate it with ", FontColor->RGBColor[1, 0, 0]], StyleBox["Shift+Enter", FontColor->RGBColor[1, 0, 0], FontVariations->{"Underline"->True}], ":" }], "Text"], Cell[BoxData[ \(3 + 6\)], "Input"], Cell[TextData[{ "As you will have noticed, that took a few seconds. That is not because ", StyleBox["Mathematica", FontSlant->"Italic"], " was having trouble with the sum, but just because it was starting the \ kernel. Other expressions will now be much faster:" }], "Text"], Cell[BoxData[ \(\(100!\)\)], "Input"], Cell[TextData[{ "Notice how there are several (actually many) types of cell in a front end. \ So far, we have seen Text, Input, and Output. Only Input is evaluated (with \ Shift+Enter), producing Output. Text cannot be evaluated, and is there just \ as a \"comment\" for the reader. Input is the default format. You can set \ format type with the menu item Format>Style>Text etc., or with keyboard \ shortcuts (e.g., Mod1+7 for Text, Mod1+9 for Input). See the Format>Style \ menu for details.\n", StyleBox["Just a quick note: Notebooks can take on any one of many ", FontColor->RGBColor[1, 0, 0]], StyleBox["styles", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[". By default, I am writing this in Classroom style. It is good \ for differentiating between cell types, and making notebook structure clear \ to the novice. However, many other styles may be more to your liking in \ practice (\"Default\" is just fine for most). Set notebook style with \ Format>Style Sheet>Classroom say. ", FontColor->RGBColor[1, 0, 0]], StyleBox["Try changing this one to Default and then back again. You might \ note that the Exercises at the end of this notebook seem to disappear in \ Default style. That is because Default does not have an Exercises format, and \ they revert to plain text. This is another reason for using Classroom for \ this notebook. ", FontColor->RGBColor[0, 0, 1]], StyleBox["So, leave the notebook in Classroom.", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]] }], "Text"], Cell["\<\ Alright, that's enough for now. Let's close this section by \ double-clicking on the cell bar at the right which encloses it all. Bye bye \ ..., but don't forget to double click on the next section's cell bar to open \ it. Oh, and by the way, hit File>Save every once in a while (or \ Ctrl+S).\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Basic Numerical Calculations", "Section"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " is obviously a powerful scientific calculator." }], "Text"], Cell[TextData[{ "Here is a simple example; let's evaluate ", Cell[BoxData[ \(TraditionalForm\`\(\(\[ExponentialE]\^2\)\(.\)\)\)]] }], "Text"], Cell[BoxData[ \(Exp[2.0]\)], "Input"], Cell["I could also have written this as", "Text"], Cell[BoxData[ \(\[ExponentialE]\^2.0\)], "Input"], Cell["or even", "Text"], Cell[BoxData[ \(E^2.0\)], "Input"], Cell[TextData[{ "I generally prefer the more \"mathematical\" style ", Cell[BoxData[ \(TraditionalForm\`\[ExponentialE]\^2, \ but\ that' s\ up\ to\ \(\(you\)\(.\)\)\)]] }], "Text"], Cell[TextData[{ StyleBox["Aside: ", FontColor->RGBColor[1, 0, 0]], StyleBox["How the hell did he type ", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(TraditionalForm\`\(\(\[ExponentialE]\^2\)\(?\)\)\)], FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[" Well, you can do it from the various font palettes which ", FontColor->RGBColor[1, 0, 0]], StyleBox["Mathematica", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[" makes available, but it's easier to use the keyboard shortcut \ esc-ee-esc-ctrl+2-ctrl+space.", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[TextData[{ "But why did I write ", Cell[BoxData[ FormBox[ RowBox[{\(\[ExponentialE]\^2.0\), " ", "instead", " ", "of", " ", \(\[ExponentialE]\^2\), " ", "or", " ", \(\(Exp[2]\)?\ Let'\), StyleBox["s", FontSlant->"Plain"], " ", "try", " ", "it"}], TraditionalForm]]], ":" }], "Text"], Cell[BoxData[ \(Exp[2]\)], "Input"], Cell[TextData[{ "See what happens? It stays unevaluated, as ", Cell[BoxData[ FormBox[ RowBox[{\(\[ExponentialE]\^2\), " ", "is", " ", "the", " ", "exact", " ", \(answer . \ If\), " ", StyleBox["I", FontSlant->"Plain"], " ", "want", " ", "to", " "}], TraditionalForm]]], "evailuate it numerically, I can use the function N[..]:" }], "Text"], Cell[BoxData[ \(N[Exp[2]]\)], "Input"], Cell["or equivalently", "Text"], Cell[BoxData[ \(Exp[2] // N\)], "Input"], Cell[TextData[{ "When you ask for Exp[2.0], ", StyleBox["Mathematica", FontSlant->"Italic"], " recognizes that you are giving it numerical input, and so gives you back \ numerical output. But does ", StyleBox["Mathematica", FontSlant->"Italic"], " only give you 6 significant figures? No, by default, it gives you full \ \"double precision\", i.e., around 16. It's just that it displays a shortened \ form unless you ask for the full expression:" }], "Text"], Cell[BoxData[ \(% // FullForm\)], "Input"], Cell["\<\ By the way, % means the output from the last evaluation, %%, the \ second last etc. You can also write %12 say to get the output Out[12], but \ use this feature sparingly, as the next time you open a notebook you may not \ have the same numberings.\ \>", "Text"], Cell["But what if I want more significant figures?", "Text"], Cell[BoxData[ \(N[\[ExponentialE]\^2, 40]\)], "Input"], Cell["or even", "Text"], Cell[BoxData[ \(N[\[ExponentialE]\^2, 200]\)], "Input"], Cell["No problem!", "Text"], Cell["But what if I try this?", "Text"], Cell[BoxData[ \(N[\[ExponentialE]\^2.0, 40] // FullForm\)], "Input"], Cell[TextData[{ "What went wrong? ", StyleBox["You tell me!", FontWeight->"Bold", FontSlant->"Italic"], "\nEver wanted to see \[Pi] to 1000 digits? No! Well tough luck; here it \ is..." }], "Text"], Cell[BoxData[ \(N[\[Pi], 1000]\)], "Input"], Cell["Finally, we note that complex numbers are fine:", "Text"], Cell[BoxData[ \(\[ImaginaryI]\^2\)], "Input"], Cell[BoxData[ \(Solve[x\^4 + x\^2 + x + 3 \[Equal] 0, x] // N\)], "Input"], Cell[TextData[{ "Three different ways to enter ", Cell[BoxData[ \(TraditionalForm\`\@\(-1\)\)]], ": \[ImaginaryI], \[ImaginaryJ], or I. Take your pick." }], "Text"], Cell[BoxData[ \({\[ImaginaryI] \[Equal] I, \[ImaginaryI] \[Equal] \[ImaginaryJ]}\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ = and ==, not to mention >, &&, || etc.\ \>", "Section"], Cell["\<\ We have just seen an \[Equal] sign. What does this mean? Well, = \ represents an assignment, whereas == is used to represent a symbolic \ equation. This sets a to 3:\ \>", "Text"], Cell[BoxData[ \(a = 3\)], "Input"], Cell[BoxData[ \(a\)], "Input"], Cell["This asks if a=3:", "Text"], Cell[BoxData[ \(a \[Equal] 3\)], "Input"], Cell["Is it 6?", "Text"], Cell[BoxData[ \(a \[Equal] 6\)], "Input"], Cell["What does this return?", "Text"], Cell[BoxData[ \(b \[Equal] 4\)], "Input"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " doesn't know, since you haven't told it what b is, so it returns the \ expression unevaluated. If you want to test if b is ", StyleBox["identical", FontSlant->"Italic"], " ", StyleBox["to 4, you can do", FontSlant->"Italic"] }], "Text"], Cell[BoxData[ \(b === 4\)], "Input"], Cell[TextData[StyleBox["Similarly, you can test other expessions:", FontSlant->"Plain"]], "Text", FontSlant->"Italic"], Cell[BoxData[ \(a > 2\)], "Input"], Cell[BoxData[ \(a \[NotEqual] 7\)], "Input"], Cell["\<\ (by the way, you can enter \[NotEqual] as !=). Here we use && to \ represent the logical And operation.\ \>", "Text"], Cell[BoxData[ \(a > 1 && a\^2 < a + 5\)], "Input"], Cell["Here || os the logical Or.", "Text"], Cell[BoxData[ \(a > 1 || a\^2 < a + 5\)], "Input"], Cell[BoxData[ \(Clear[a, b]\)], "Input"], Cell[TextData[{ StyleBox["Important", FontSize->16, FontWeight->"Bold", FontColor->RGBColor[1, 0, 0], FontVariations->{"Underline"->True}], StyleBox[": ", FontSize->16, FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["you will need the == symbol when defining equations to be solved \ by various ", FontSize->16, FontWeight->"Bold"], StyleBox["Mathematica", FontSize->16, FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" routines, e.g.,", FontSize->16, FontWeight->"Bold"] }], "Text"], Cell[BoxData[ \(Solve[{a + 3 b \[Equal] 5, 3 a - 9 b \[Equal] 1}, {a, b}]\)], "Input"], Cell[TextData[{ "This return a list of ", StyleBox["rules. ", FontSlant->"Italic"], "It can be used to replace a and b with their numeric values:" }], "Text"], Cell[BoxData[ \({a, b} /. %\)], "Input"], Cell[TextData[{ "We'll learn more about /. in Chapter 2.\nIf you try to use = instead of == \ in Solve, ", StyleBox["Mathematica", FontSlant->"Italic"], " will complain, since it will think you're trying to set a value." }], "Text"], Cell[BoxData[ \(Solve[{a + 3 b = 5, 3 a - 9 b = 1}, {a, b}]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Basic Symbolic Calculations", "Section"], Cell["Expand a binomial power", "Text"], Cell[BoxData[ \(\((1 + \ x)\)\^10 // Expand\)], "Input"], Cell["and factor it again", "Text"], Cell[BoxData[ \(% // Factor\)], "Input"], Cell["What happens with a negative power?", "Text"], Cell[BoxData[ \(1\/\((1 + x)\)\^10 // Expand\)], "Input"], Cell[TextData[{ "Nothing! Of course, this can be expanded in a binomial series to any given \ extent. We do this here by using Series, and telling it to expand about x=0 \ up to and including the ", Cell[BoxData[ \(TraditionalForm\`x\^14\ \(\(term\)\(.\)\)\)]] }], "Text"], Cell[BoxData[ \(Series[%, {x, 0, 14}]\)], "Input"], Cell[TextData[{ "Note the ", Cell[BoxData[ \(TraditionalForm\`O[x]\^15, \ indicating\ terms\ of\ this\ \(\(order\)\(.\)\(\ \)\)\)]], "If we wish to truncate this series to a polynomial we can" }], "Text"], Cell[BoxData[ \(Normal[%]\)], "Input"], Cell["Or we can expand about another point, say x=1:", "Text"], Cell[BoxData[ \(Series[%%%, {x, 1, 14}]\)], "Input"], Cell["or even about \[Infinity]", "Text"], Cell[BoxData[ \(Series[%%%%, {x, \[Infinity], 14}]\)], "Input"], Cell["How about some trigonometric expressions?", "Text"], Cell[BoxData[ \(TrigExpand[Sin[x + y]]\)], "Input"], Cell["Put it back.", "Text"], Cell[BoxData[ \(TrigReduce[%]\)], "Input"], Cell["Transform to complex exponential form", "Text"], Cell[BoxData[ \(TrigToExp[%]\)], "Input"], Cell["Finally, let's solve a high order polynomial equation.", "Text"], Cell[BoxData[ \(Solve[1 + x + x\^9 + x\^12 \[Equal] 0, x] // N\)], "Input"], Cell["\<\ Notice that all 12 roots, including complex ones, are returned. Of \ course, not all non-polynomial equations can be solved so easily. We will \ learn methods for these in another chapter.\ \>", "Text"], Cell[TextData[{ "A very commonly used utility in ", StyleBox["Mathematica", FontSlant->"Italic"], " is Simplify[\[Ellipsis]]. This tries many rules to get a complicated \ expression into the simplest possible form." }], "Text"], Cell[BoxData[ \(Simplify[ 1\/\(4\ \((\(-1\) + x)\)\) - 1\/\(4\ \((1 + x)\)\) - 1\/\(2\ \((1 + x\^2)\)\)]\)], "Input"], Cell[BoxData[ \(Apart[%]\)], "Input"], Cell["\<\ But of course the number of transformations it tries is limited. \ Many others are tried by FullSimplify[\[Ellipsis]], but beware, it can be \ very slow. Always try Simplify first.\ \>", "Text"], Cell[BoxData[ \(Simplify[Log[z + \@\(z + 1\)\ \@\(z - 1\)]]\)], "Input"], Cell[BoxData[ \(FullSimplify[Log[z + \@\(z + 1\)\ \@\(z - 1\)]]\)], "Input"], Cell["\<\ More control can be exercised with such utilities as Together, \ Expand, Apart, Cancel, Collect, Factor, TrigToExp, ExpToTrig, TrigReduce, \ TrigExpand, FunctionExpand, ComplexExpand, \[Ellipsis] Look these up in \ Help.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Defining Functions", "Section"], Cell[CellGroupData[{ Cell["The = Sign in Definitions", "Subsection"], Cell[TextData[{ "Well, did you find working with %, %%, and %%% a bit awkward? It's \ certainly a nuisance, since you have to make sure all the cells are evaluated \ in the right order. There must be a better way. Of course there is. In \ mathematics, we normally give functions ", StyleBox["names", FontWeight->"Bold"], "." }], "Text"], Cell[BoxData[ \(\(f[x_] = \((1 + Sin[x])\)\^5;\)\)], "Input"], Cell[TextData[{ "Here I have defined the function f. As a general policy, it is a good idea \ to start your function names with lower case letters, as all built-in ", StyleBox["Mathematica", FontSlant->"Italic"], " functions begin with upper case letters. But there are two new things \ here: what is the underscore (x_) for, and why the semicolon at the end?\n", StyleBox["Note: functions use square brackets [..]. ", FontSize->16, FontWeight->"Bold"], StyleBox["Round brackets are reserved for collecting terms in algebraic \ expressions.", FontSize->16], "\nWell, the semicolon simple stops the answer being displayed. Try it \ again without:" }], "Text"], Cell[BoxData[ \(f[x_] = \((1 + Sin[x])\)\^5\)], "Input"], Cell["\<\ See the difference? I didn't want to have my definition echoed back \ at me, so I used \";\". But the underscore is more subtle, and IMPORTANT. \ Let's evaluate f at a couple of values.\ \>", "Text"], Cell[BoxData[ \(f[x]\)], "Input"], Cell["Fine.", "Text"], Cell[BoxData[ \(f[\[Pi]\/2]\)], "Input"], Cell["Fine again! Now, what if we try without the underscore?", "Text"], Cell[BoxData[ \(\(g[x] = x + 2/x;\)\)], "Input"], Cell[BoxData[ \(g[x]\)], "Input"], Cell["OK.", "Text"], Cell[BoxData[ \(g[2]\)], "Input"], Cell[TextData[{ "Wow, what's that???? What has happened is that ", StyleBox["Mathematica", FontSlant->"Italic"], " has no idea what g[2] is. I have only told it what g[x] is! Now you see \ the point of the underscore. It tells ", StyleBox["Mathematica", FontSlant->"Italic"], " that x is a ", StyleBox["variable", FontWeight->"Bold"], " which can take any value. \nNow let's clear the definitions of f and g." }], "Text"], Cell[BoxData[ \(Clear[f, g]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["The := Sign in Definitions", "Subsection"], Cell[TextData[{ "Here we define a function of ", StyleBox["x", FontSlant->"Italic"], " which contains a parameter ", StyleBox["a", FontSlant->"Italic"], "." }], "Text"], Cell[BoxData[ \(a = 1; f[x_] = x + a;\)], "Input"], Cell["Let's see what f(2) is.", "Text"], Cell[BoxData[ \(f[2]\)], "Input"], Cell[TextData[{ "That's right. Now let's change ", StyleBox["a,", FontSlant->"Italic"] }], "Text"], Cell[BoxData[ \(\(a = 5;\)\)], "Input"], Cell["and re-evaluate f(2)", "Text"], Cell[BoxData[ \(f[2]\)], "Input"], Cell[TextData[{ "Alright, so f doesn't know that ", StyleBox["a", FontSlant->"Italic"], " has changed. It is just using its value when the definition of f was \ made. But try this:" }], "Text"], Cell[BoxData[ \(a = 1; f[x_] := x + a\)], "Input"], Cell[BoxData[ \(f[2]\)], "Input"], Cell[TextData[{ "as before. Now change ", StyleBox["a", FontSlant->"Italic"], " again" }], "Text"], Cell[BoxData[ \(\(a = 5;\)\)], "Input"], Cell["and evaluate f(2)", "Text"], Cell[BoxData[ \(f[2]\)], "Input"], Cell[TextData[{ "Aha!! That's different. Now f knows that it's a function of ", StyleBox["a", FontSlant->"Italic"], ", and only calls on ", StyleBox["a", FontSlant->"Italic"], " at evaluation time , rather than at definition time!!!" }], "Text"], Cell[BoxData[ \(\(?f\)\)], "Input"], Cell[TextData[StyleBox["Note that there is no need for the trailing semicolon \ when you make a definition using := as it is not actually evaluated then.", FontWeight->"Bold"]], "Text"], Cell[BoxData[ \(f[y_] := y\^2 + 1\)], "Input"], Cell[TextData[{ "By the way, let's have a look at what ", StyleBox["Mathematica", FontSlant->"Italic"], " thinks about f now. Despite this last definition being for f[y_] rather \ than f[x_] as before, it recognizes that this is a formula for the function \ f, and x or y are just dummies." }], "Text"], Cell[BoxData[ \(\(?f\)\)], "Input"], Cell[BoxData[ \(Clear[f, g]\)], "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Basic Calculus", "Section"], Cell[TextData[{ "A differentiable function of ", StyleBox["x", FontSlant->"Italic"], "." }], "Text"], Cell[BoxData[ \(f[x_] := x + Sin[x\^2]\)], "Input"], Cell["Easy to differentiate:", "Text"], Cell[BoxData[ \(\(f'\)[x]\)], "Input"], Cell["and again", "Text"], Cell[BoxData[ \(\(f''\)[x]\)], "Input"], Cell["The indefinite integral", "Text"], Cell[BoxData[ \(g[x_] = Integrate[f[x], x]\)], "Input"], Cell["Definite integral on (0,1)", "Text"], Cell[BoxData[ \(Integrate[f[x], {x, 0, 1}]\)], "Input"], Cell["Check using the indefinite integral:", "Text"], Cell[BoxData[ \(g[1] - g[0]\)], "Input"], Cell["Plot:", "Text"], Cell[BoxData[ \(\(Plot[f[x], {x, 0, 1}];\)\)], "Input"], Cell["And now the derivative:", "Text"], Cell[BoxData[ \(\(Plot[\(f'\)[x], {x, 0, 1}, PlotRange \[Rule] All];\)\)], "Input"], Cell["and the integral:", "Text"], Cell[BoxData[ \(\(Plot[g[x], {x, 0, 1}];\)\)], "Input"], Cell["\<\ And now all three together, with different colours and dash styles.\ \ \>", "Text"], Cell[BoxData[ \(\(Plot[{g[x], f[x], \(f'\)[x]}, {x, 0, 1}, PlotStyle \[Rule] {{}, {Red, Dashing[{ .05, .02}]}, {Cyan}}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Lists, Tables, Linear Algebra", "Section"], Cell["Here is a list of the first three perfect squares.", "Text"], Cell[BoxData[ \(v = Table[n\^2, {n, 1, 3}]\)], "Input"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " writes its lists between braces {\[Ellipsis]}. We can also regard ", StyleBox["v", FontWeight->"Bold"], " as a vector. Note that ", StyleBox["Mathematica", FontSlant->"Italic"], " does not distinguish between row and column vectors. We can also make \ matrices:" }], "Text"], Cell[BoxData[ \(m = Table[m + 2 n + KroneckerDelta[m, n], {m, 1, 3}, {n, 1, 3}]\)], "Input"], Cell[TextData[{ "Thus, a matrix is a ", StyleBox["list of lists", FontSlant->"Italic"], ". It doesn't ", StyleBox["look", FontSlant->"Italic"], " much like a matrix though! Well, does this help?" }], "Text"], Cell[BoxData[ \(m // MatrixForm\)], "Input"], Cell[BoxData[ \(Det[m]\)], "Input"], Cell["\<\ Alternatively, we can enter matrices using the Input>Create \ Table/Matrix/Palette menu item. Just select that item, choose the matrix size \ in the dialog box, and enter the elements directly (using tab to move between \ entries).\ \>", "Text"], Cell[BoxData[ RowBox[{"(", GridBox[{ {"1", "2"}, {"3", "4"} }], ")"}]], "Input"], Cell[TextData[{ StyleBox["You try it!", FontWeight->"Bold"], "\nSo, what can we do with these things? How about a dot product?" }], "Text"], Cell[BoxData[ \(v . v\)], "Input"], Cell["\<\ Check that that is right. But what about premultiplying a (column) \ vector by a matrix? Try this.\ \>", "Text"], Cell[BoxData[ \(m . v\)], "Input"], Cell["Does this give you what you want? And what about this?", "Text"], Cell[BoxData[ \(v . m\)], "Input"], Cell["It's different! What did it do mathematically? Now try", "Text"], Cell[BoxData[ \(v . Transpose[m]\)], "Input"], Cell["Does that make sense?", "Text"], Cell[TextData[{ "Finally, what if I want to solve a matrix equation ", StyleBox["mx", FontWeight->"Bold"], "=", StyleBox["v", FontWeight->"Bold"], ", where ", StyleBox["m", FontWeight->"Bold"], " is a square matrix and ", StyleBox["v", FontWeight->"Bold"], " a given vector?" }], "Text"], Cell[BoxData[ \(x = LinearSolve[m, v]\)], "Input"], Cell["Let's check:", "Text"], Cell[BoxData[ \(m . x \[Equal] v\)], "Input"], Cell[TextData[{ "Now let's find the ", StyleBox["eigenvalues", FontWeight->"Bold"], " of the 3\[Times]3 matrix ", StyleBox["m", FontWeight->"Bold"], ":" }], "Text"], Cell[BoxData[ \(Eigenvalues[m]\)], "Input"], Cell["or if we want both the eigenvalues and eigenvectors:", "Text"], Cell[BoxData[ \({eval, evec} = Eigensystem[m]\)], "Input"], Cell["Check:", "Text"], Cell[BoxData[ \(m . Transpose[evec] // Simplify\)], "Input"], Cell[BoxData[ \(Transpose[evec] . DiagonalMatrix[eval] // Simplify\)], "Input"], Cell[BoxData[ \(% \[Equal] %%\)], "Input"], Cell["Yes! Finally, let's clear our variables:", "Text"], Cell[BoxData[ \(Clear[m, x, v, evec, eval]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Plotting", "Section"], Cell[CellGroupData[{ Cell["Plot and Show", "Subsection"], Cell[TextData[{ "We might wish to plot the first 11 Chebyshev Polynomials ", Cell[BoxData[ \(TraditionalForm\`\(\(T\_1\)\(,\)\(\ \)\(\[Ellipsis]\)\(,\)\(T\_10\)\(\ \ \)\)\)]], "over -1\[LessEqual]x\[LessEqual]1. We ", StyleBox["could", FontSlant->"Italic"], " do this, but what a pain!" }], "Text"], Cell[BoxData[ \(\(Plot[{ChebyshevT[0, x], ChebyshevT[1, x], ChebyshevT[2, x], ChebyshevT[3, x], ChebyshevT[4, x], ChebyshevT[5, x], ChebyshevT[6, x], ChebyshevT[7, x], ChebyshevT[8, x], ChebyshevT[9, x], ChebyshevT[10, x]}, {x, \(-1\), 1}, PlotStyle \[Rule] Table[{Hue[n/10]}, {n, 0, 10}], AxesLabel \[Rule] {"\", \*"\"\<\!\(T\_n\)\>\""}];\)\)], "Input"], Cell["This is far more convenient.", "Text"], Cell[BoxData[ \(\(chebPlot = Plot[Evaluate[Table[ChebyshevT[n, x], {n, 0, 10}]], {x, \(-1\), 1}, PlotStyle \[Rule] Table[{Hue[n/10]}, {n, 0, 10}], AxesLabel \[Rule] {"\", \*"\"\<\!\(T\_n\)\>\""}];\)\)], "Input"], Cell["\<\ What is the purpose of Evaluate[\[Ellipsis]]? Try it without.\ \>", \ "Text"], Cell[BoxData[ \(\(Plot[Table[ChebyshevT[n, x], {n, 0, 10}], {x, \(-1\), 1}, PlotStyle \[Rule] Table[{Hue[n/10]}, {n, 0, 10}], AxesLabel \[Rule] {"\", \*"\"\<\!\(T\_n\)\>\""}];\)\)], "Input"], Cell[TextData[{ "What went wrong? Well, Plot takes as its first argument a single function \ or a list of functions. Table[\[Ellipsis]], makes such a list, ", StyleBox["but only when it is evaluated", FontSlant->"Italic"], ". By default, Plot holds its arguments unevaluated until numerical values \ of ", StyleBox["x", FontSlant->"Italic"], " are inserted. By using Evaluate[\[Ellipsis]], we cause the table to be \ contructed first. By the way, it is normally a good idea to Evaluate[\ \[Ellipsis]] all functions inside Plot (though there are cases where this is \ not advisable)." }], "Text"], Cell[TextData[{ "Other important graphics utilities: Plot3D, ListPlot, ContourPlot, \ DensityPlot, ParametricPlot, ParametricPlot3D, \[Ellipsis] We will see more \ of these as we go on. However, one utility, ", StyleBox["Show", FontWeight->"Bold"], ", is worth mentioning here. Above, we created the graph chebPlot; say we \ wanted to see it again without re-evaluating the functions:" }], "Text"], Cell[BoxData[ \(\(Show[chebPlot];\)\)], "Input"], Cell["\<\ Perhaps we want to superimpose some points on this graph, at (\ \[PlusMinus]0.5,\[PlusMinus]0.5) say:\ \>", "Text"], Cell[BoxData[ \(pts = Flatten[Table[{a, b}, {a, \(- .5\), .5}, {b, \(- .5\), .5}], 1]\)], "Input"], Cell[BoxData[ \(\(Show[chebPlot, Graphics[{PointSize[ .03], Point /@ pts}]];\)\)], "Input"], Cell["\<\ There are ways to do this within the original plotting process, but \ often it is very convenient to add extra features to a graph after it is \ drawn. The use of Map (or /@) will be discussed in Chapter 2, but for the moment, \ all you need to know is that it applies a function independently to each \ element of a list: f /@ {a,b,c} = {f[a],f[b],f[c]}. So Point /@ pts simply \ applies Point to each of our four points. You need Graphics[ ] around the \ points, since otherwise they don't form Graphics objects, and can't be \ plotted.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Colours", "Subsection"], Cell["\<\ Hue[h] can be used to specify colours for \ 0\[LessEqual]h\[LessEqual]1.\ \>", "Text"], Cell[BoxData[ \(n = \[Pi]\/128; Show[Graphics[\(({Hue[#1\/\(2\ \[Pi] - n\)], Disk[{0, 0}, 1, {#1, #1 + n}]} &)\) /@ Range[0, 2\ \[Pi] - n, n], AspectRatio \[Rule] Automatic]]; Clear[n]\)], "Input", CellTags->"Hue"], Cell["\<\ Note that Hue repeats cyclically. Or more generally, Hue[h,s,b] \ with 0 \[LessEqual] h,s,b \[LessEqual] 1 specifies hue, saturation, and \ brightness:\ \>", "Text"], Cell[BoxData[ \(\(Show[ Graphics[ RasterArray[ Table[Hue[h, s, 1], {s, 0, 1, .05}, {h, 0, 1, .05}]]], AspectRatio \[Rule] Automatic, Background \[Rule] Black];\)\)], "Input"], Cell[BoxData[ \(\(Show[ Graphics[ RasterArray[ Table[Hue[h, 1, b], {b, 0, 1, .05}, {h, 0, 1, .05}]]], AspectRatio \[Rule] Automatic, Background \[Rule] Black];\)\)], "Input"], Cell["\<\ You can also use RGBColor, CMYKColor, or GrayLevel to set colours. \ \ \>", "Text"], Cell[BoxData[ \(\(Show[ Graphics[ RasterArray[ Table[RGBColor[r, g, 0], {g, 0, 1, .05}, {r, 0, 1, .05}]]], AspectRatio \[Rule] Automatic, Background \[Rule] Black];\)\)], "Input"], Cell["\<\ As of Version 5.1, these colour names are also defined \ automatically:\ \>", "Text"], Cell[BoxData[ FormBox[GridBox[{ {Cell[TextData[StyleBox["Black", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["Blue", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Brown", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["Cyan", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Gray", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["Green", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Magenta", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["Orange", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Pink", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["Purple", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Red", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], Cell[TextData[StyleBox["White", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}]}, {Cell[TextData[StyleBox["Yellow", GridBoxOptions->{RowSpacings->0.4, RowLines->False}]], GridBoxOptions->{RowSpacings->0.4, RowLines->False}], " "} }, ColumnAlignments->{Left}], TraditionalForm]], "Text"], Cell[BoxData[ \(\(Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}, PlotStyle \[Rule] {{Red}, {Cyan}}, Background \[Rule] Yellow];\)\)], "Input"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Multivariable Calculus", "Section"], Cell["Here we define a function of two variables.", "Text"], Cell[BoxData[ \(f[x_, y_] := \((x\^2 - y\^2)\) Exp[\(-\((x\^2 + y\^2)\)\)]\)], "Input"], Cell["Plot it as a surface plot.", "Text"], Cell[BoxData[ \(\(sp = Plot3D[f[x, y], {x, \(-3\), 3}, {y, \(-3\), 3}, AxesLabel \[Rule] {"\", "\", "\"}, PlotRange \[Rule] All];\)\)], "Input"], Cell["Or with more points (and without the mesh):", "Text"], Cell[BoxData[ \(\(Plot3D[f[x, y], {x, \(-3\), 3}, {y, \(-3\), 3}, AxesLabel \[Rule] {"\", "\", "\"}, PlotRange \[Rule] All, PlotPoints \[Rule] 70, Mesh \[Rule] False];\)\)], "Input"], Cell["And as a contour plot.", "Text"], Cell[BoxData[ \(\(cp = ContourPlot[f[x, y], {x, \(-3\), 3}, {y, \(-3\), 3}, FrameLabel \[Rule] {"\", "\"}];\)\)], "Input"], Cell["And as a density plot.", "Text"], Cell[BoxData[ \(\(dp = DensityPlot[f[x, y], {x, \(-3\), 3}, {y, \(-3\), 3}, FrameLabel \[Rule] {"\", "\"}];\)\)], "Input"], Cell["\<\ If you have a plot in one of these forms, it is easy to display it \ in another without recalculating the graphics points:\ \>", "Text"], Cell[BoxData[ \(\(Show[SurfaceGraphics[dp], PlotRange \[Rule] All];\)\)], "Input"], Cell["\<\ There are several was to enter partial derivatives. One uses the \ familiar \[PartialD] symbol (from a palette or using pd):\ \>", \ "Text"], Cell[BoxData[ \(\[PartialD]\_x\ f[x, y]\)], "Input"], Cell["A mixed partial derivative", "Text"], Cell[BoxData[ \(\[PartialD]\_\(x, y\)f[x, y]\)], "Input"], Cell["Here is another way:", "Text"], Cell[BoxData[ \(D[f[x, y], x]\)], "Input"], Cell[BoxData[ \(D[f[x, y], x, y]\)], "Input"], Cell[TextData[{ "This one calculates ", Cell[BoxData[ \(TraditionalForm\`\[PartialD]\^4 f/\[PartialD]x \[PartialD]\^3 y\)]] }], "Text"], Cell[BoxData[ \(D[f[x, y], x, {y, 3}] // Simplify\)], "Input"], Cell[TextData[{ "Now, what if I want \[PartialD]f/\[PartialD]x at ", StyleBox["x", FontSlant->"Italic"], "=1, ", StyleBox["y", FontSlant->"Italic"], "=2?" }], "Text"], Cell[BoxData[ \(D[f[1, 2], x]\)], "Input"], Cell["That's not right!! Nor is", "Text"], Cell[BoxData[ \(\[PartialD]\_x f[1, 2]\)], "Input"], Cell[TextData[{ "It is clear why; you are differentiating a ", StyleBox["constant", FontWeight->"Bold"], ". So, how do we enter the partial derivative at a particular point? This \ will do the trick:" }], "Text"], Cell[BoxData[ \(\(\(Derivative[1, 0]\)[f]\)[1, 2]\)], "Input"], Cell["Note that", "Text"], Cell[BoxData[ \(\(Derivative[1, 0]\)[f]\)], "Input"], Cell[TextData[{ "is a pure function (the first partial ", StyleBox["x", FontSlant->"Italic"], " derivative of ", StyleBox["f", FontSlant->"Italic"], "), and then this is evaluated at (1,2)." }], "Text"], Cell[BoxData[ \(Clear[f]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Exercises", "ExerciseMain"], Cell["\<\ Do not look at the solution until you have completed the \ exercise!\ \>", "Text", TextAlignment->Center, FontFamily->"Helvetica", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], Cell[CellGroupData[{ Cell["Numbers", "Exercise"], Cell[TextData[{ "Type in ", Cell[BoxData[ \(\[ExponentialE]\^\(\[ImaginaryI]\ \[DoubledPi]/2\)\)]], " using either palettes or keyboard shortcuts, and evaluate it numerically \ (you should know the answer)." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Summation", "Exercise"], Cell[TextData[{ "Consider the sum ", Cell[BoxData[ \(TraditionalForm\`\(\(\(q\_n\)(x)\)\(=\)\)\)]], " ", Cell[BoxData[ \(TraditionalForm\`\[Sum]\+\(k = 1\)\%n\+\(k\ odd\)\(sin\ k\ \ x\)\/k\)]], " for odd integer ", StyleBox["n\[GreaterEqual]1", FontSlant->"Italic"], ". Evaluate it exactly using Sum[\[Ellipsis]] for n=\[Infinity]. Plot, on \ the same axes, ", Cell[BoxData[ \(TraditionalForm\`\(\(\(q\_1\)(x)\)\(,\)\(\ \)\(\(q\_3\)( x)\)\(,\)\(\[Ellipsis]\)\(,\)\(\(q\_9\)(x)\)\(\ \)\)\)]], "and ", Cell[BoxData[ \(TraditionalForm\`\(q\_\[Infinity]\)(x)\)]], " for -5", \*"\"\<\!\(q\_n\)\>\""}, ImageSize \[Rule] 400];\)\)], "Input"], Cell[BoxData[ \(Clear[q]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Gamma Function", "Exercise"], Cell[TextData[{ "Plot 1/\[CapitalGamma](x) for -3.5 < x < 5.5, where \[CapitalGamma](x) \ represents the gamma function, represented in ", StyleBox["Mathematica", FontSlant->"Italic"], " by Gamma[x]. Label the axes." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Solve", "Exercise"], Cell[TextData[{ "Use Solve[] to find where the curve ", Cell[BoxData[ \(TraditionalForm\`x\^2 + 3 y\^2 = \(1\ cuts\ x\^3 - \(x\^2\) y - y\^3 = \(\(1\/4\)\(.\)\)\)\)]], " Only give real solutions. Plot the two curves first to see graphically \ where they cross. You could do this either using ContourPlot (twice), or by \ using ImplicitPlot from the standard Add-on package Graphics`ImplicitPlot` \ (see Add-ons&Links > StandardPackage > Graphics > ImplicitPlot from the Help \ menu). Check your solutions by superimposing the points you find on your \ graph." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Solution", "Subsubsection"], Cell[BoxData[ \(<< Graphics`ImplicitPlot`\)], "Input"], Cell[BoxData[ \(\(imp = ImplicitPlot[{x\^2 + 3 y\^2 \[Equal] 1, x\^3 - \(x\^2\) y - y\^3 \[Equal] 1/4}, {x, \(-2\), 2}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input"], Cell[TextData[{ "All solutions. Since these are polynomial equations, the solutions are \ returned in terms of Root objects, where Root[f,k] represnts the ", Cell[BoxData[ \(TraditionalForm\`k\^th\)]], "root of the polynomial f[x]." }], "Text"], Cell[BoxData[ \(allsols = {x, y} /. Solve[{x\^2 + 3 y\^2 \[Equal] 1, x\^3 - \(x\^2\) y - y\^3 \[Equal] 1/4}, {x, y}]\)], "Input"], Cell["But we can easily evaluate these numerically:", "Text"], Cell[BoxData[ \(N[allsols]\)], "Input"], Cell["Some are complex. Select only the real ones:", "Text"], Cell[BoxData[ \(realsols = Select[N[allsols], Im[#\[LeftDoubleBracket]1\[RightDoubleBracket]] \[Equal] 0 && Im[#\[LeftDoubleBracket]2\[RightDoubleBracket]] \[Equal] 0 &]\)], "Input"], Cell["Check these by superimposing on the graph.", "Text"], Cell[BoxData[ \(\(Show[imp, Graphics[{Red, PointSize[ .025], Point /@ realsols}]];\)\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Integration", "Exercise"], Cell[TextData[{ "Evaluate ", Cell[BoxData[ \(TraditionalForm\`\[Integral]\_0\%1\( \[ExponentialE]\^\(-x\^2\)\) sinh\ x\ \[DifferentialD]x\)]], " exactly. Then evaluate the answer numerically. Now try ", Cell[BoxData[ \(TraditionalForm\`\[Integral]\_0\%1\( \[ExponentialE]\^\(-x\^4\)\) sinh\ x\ \[DifferentialD]x\)]], ". Beware: not all integrals can be done analytically. You will need \ NIntegrate[\[Ellipsis]] for this last one." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Solution", "Subsubsection"], Cell["\<\ Straightforward integral gives an answer in terms of the error \ function,\ \>", "Text"], Cell[BoxData[ \(Integrate[Sinh[x]\ \[ExponentialE]\^\(-x\^2\), {x, 0, 1}]\)], "Input"], Cell["which can be numerically evaluated.", "Text"], Cell[BoxData[ \(% // N\)], "Input"], Cell["Now let's try it using numerical integration", "Text"], Cell[BoxData[ \(NIntegrate[Sinh[x]\ \[ExponentialE]\^\(-x\^2\), {x, 0, 1}]\)], "Input"], Cell["Excellent. Now for the second integral.", "Text"], Cell[BoxData[ \(Integrate[Sinh[x]\ \[ExponentialE]\^\(-x\^4\), {x, 0, 1}]\)], "Input"], Cell["\<\ Woops, it couldn't do it analytically. But numerically \ \[Ellipsis]\ \>", "Text"], Cell[BoxData[ \(NIntegrate[Sinh[x]\ \[ExponentialE]\^\(-x\^4\), {x, 0, 1}]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Matrix Equation", "Exercise"], Cell[TextData[{ "Construct the 8\[Times]8 matrix\n", StyleBox["w", FontWeight->"Bold"], "=", Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "0", "0", "4", "0", "0", "0", "0"}, {"0", \(-1\), "0", "0", "5", "0", "0", "0"}, {"0", "0", "1", "0", "0", "6", "0", "0"}, {"4", "0", "0", \(-1\), "0", "0", "7", "0"}, {"0", "5", "0", "0", "1", "0", "0", "8"}, {"0", "0", "6", "0", "0", \(-1\), "0", "0"}, {"0", "0", "0", "7", "0", "0", "1", "0"}, {"0", "0", "0", "0", "8", "0", "0", \(-1\)} }, RowSpacings->1, ColumnSpacings->1, ColumnAlignments->{Left}], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]]], "\nusing Table[\[Ellipsis]] and KroneckerDelta[\[Ellipsis]] (look it up in \ the help facility). Find its determinant and inverse. Construct the vector ", StyleBox["r", FontWeight->"Bold"], "={1,2,\[Ellipsis],8} (use Range[\[Ellipsis]]), and solve ", StyleBox["wx", FontWeight->"Bold"], "=", StyleBox["r", FontWeight->"Bold"], " for ", StyleBox["x", FontWeight->"Bold"], ". ", StyleBox["Never", FontWeight->"Bold"], " use the inverse for solving a matrix equation! Check your answer." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Solution", "Subsubsection"], Cell[BoxData[ \(w = Table[i*KroneckerDelta[i, j + 3] + j*KroneckerDelta[i, j - 3] + \((\(-1\))\)\^\(i + 1\)\ KroneckerDelta[i, j], {i, 8}, {j, 8}]\)], "Input"], Cell[BoxData[ \(MatrixForm[w]\)], "Input"], Cell[BoxData[ \(Det[w]\)], "Input"], Cell[BoxData[ \(Inverse[w] // MatrixForm\)], "Input"], Cell[BoxData[ \(r = Range[8]\)], "Input"], Cell[BoxData[ \(x = LinearSolve[w, r]\)], "Input"], Cell[BoxData[ \(w . x \[Equal] r\)], "Input"], Cell[BoxData[ \(Clear[w, r, x]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Multiple Plots", "Exercise"], Cell[TextData[{ "Plot the Bessel functions ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[\(\(J\_0\)(x), \ \(J\_1\)(x), \ \[Ellipsis]\), "TraditionalForm"], ",", \(\(J\_6\)(x)\), " "}], TraditionalForm]]], "for 0"Bold"], "note that g is not defined where ", Cell[BoxData[ \(TraditionalForm\`1 + x\^2 - y\^2 = 0\)]], ". However, this is a removable singularity. Use If[ ] to make a definition \ applicable everywhere. You will learn another way to do this in Chapter 2.]" }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Solution", "Subsubsection"], Cell[BoxData[ \(Clear[g]\)], "Input"], Cell[BoxData[ \(g[x_, y_] := If[1 + x\^2 - y\^2 == 0, 1, Sin[1 + x\^2 - y\^2]\/\(1 + x\^2 - y\^2\)]\)], "Input"], Cell[BoxData[ \(\(Plot3D[ Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}];\)\)], "Input"], Cell["More points to make it look smoother. ", "Text"], Cell[BoxData[ \(\(Plot3D[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 200];\)\)], "Input"], Cell["The mesh is now too dense, so try this.", "Text"], Cell[BoxData[ \(\(Plot3D[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 200, Mesh \[Rule] False];\)\)], "Input"], Cell[BoxData[ \(\(Plot3D[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 200, Mesh \[Rule] False, Lighting \[Rule] False];\)\)], "Input"], Cell[BoxData[ \(\(Plot3D[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 50, Shading \[Rule] False];\)\)], "Input"], Cell[BoxData[ \(\(Plot3D[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 50, Shading \[Rule] False, MeshStyle \[Rule] {Blue}];\)\)], "Input"], Cell[BoxData[ \(\(ContourPlot[ Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}];\)\)], "Input"], Cell[BoxData[ \(\(ContourPlot[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 100];\)\)], "Input"], Cell[BoxData[ \(\(ContourPlot[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 100, ContourShading \[Rule] False];\)\)], "Input"], Cell[BoxData[ \(\(ContourPlot[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, PlotPoints \[Rule] 100, ContourShading \[Rule] False, ContourStyle \[Rule] {Hue[0], Dashing[{0.01, 0.01}]}];\)\)], "Input"], Cell[BoxData[ \(\(DensityPlot[ Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}];\)\)], "Input"], Cell[BoxData[ \(Options[DensityPlot]\)], "Input"], Cell[BoxData[ \(\(DensityPlot[Evaluate[g[x, y]], {x, \(-3\), 3}, {y, \(-3\), 3}, ColorFunction \[Rule] Hue];\)\)], "Input"], Cell[BoxData[ \(\(\(Derivative[2, 1]\)[g]\)[\(-1\), 1]\)], "Input"], Cell[BoxData[ \(% // N\)], "Input"] }, Closed]] }, Open ]] }, FrontEndVersion->"5.2 for X", ScreenRectangle->{{0, 1280}, {0, 1024}}, WindowSize->{897, 938}, WindowMargins->{{1, Automatic}, {Automatic, 0}}, ShowSelection->True, Magnification->1, StyleDefinitions -> "Classroom.nb" ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{ "Hue"->{ Cell[29259, 1086, 258, 6, 114, "Input", CellTags->"Hue"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Hue", 48583, 1756} } *) (*NotebookFileOutline Notebook[{ Cell[1754, 51, 122, 4, 70, "Title"], Cell[1879, 57, 38, 0, 41, "Subtitle"], Cell[1920, 59, 91, 3, 39, "Author"], Cell[2014, 64, 738, 16, 117, "Text"], Cell[2755, 82, 365, 10, 47, "Text"], Cell[CellGroupData[{ Cell[3145, 96, 30, 0, 64, "Section"], Cell[3178, 98, 1132, 29, 76, "Text"], Cell[4313, 129, 38, 1, 63, "Input"], Cell[4354, 132, 284, 6, 43, "Text"], Cell[4641, 140, 41, 1, 63, "Input"], Cell[4685, 143, 1543, 28, 151, "Text"], Cell[6231, 173, 317, 6, 43, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[6585, 184, 47, 0, 44, "Section"], Cell[6635, 186, 131, 4, 28, "Text"], Cell[6769, 192, 151, 4, 28, "Text"], Cell[6923, 198, 41, 1, 47, "Input"], Cell[6967, 201, 49, 0, 28, "Text"], Cell[7019, 203, 53, 1, 49, "Input"], Cell[7075, 206, 23, 0, 28, "Text"], Cell[7101, 208, 38, 1, 47, "Input"], Cell[7142, 211, 197, 5, 28, "Text"], Cell[7342, 218, 658, 18, 28, "Text"], Cell[8003, 238, 362, 11, 28, "Text"], Cell[8368, 251, 39, 1, 47, "Input"], Cell[8410, 254, 402, 10, 28, "Text"], Cell[8815, 266, 42, 1, 47, "Input"], Cell[8860, 269, 31, 0, 28, "Text"], Cell[8894, 271, 44, 1, 47, "Input"], Cell[8941, 274, 476, 11, 46, "Text"], Cell[9420, 287, 46, 1, 47, "Input"], Cell[9469, 290, 272, 5, 46, "Text"], Cell[9744, 297, 60, 0, 28, "Text"], Cell[9807, 299, 58, 1, 51, "Input"], Cell[9868, 302, 23, 0, 28, "Text"], Cell[9894, 304, 59, 1, 51, "Input"], Cell[9956, 307, 27, 0, 28, "Text"], Cell[9986, 309, 39, 0, 28, "Text"], Cell[10028, 311, 72, 1, 51, "Input"], Cell[10103, 314, 211, 7, 58, "Text"], Cell[10317, 323, 47, 1, 47, "Input"], Cell[10367, 326, 63, 0, 28, "Text"], Cell[10433, 328, 49, 1, 49, "Input"], Cell[10485, 331, 78, 1, 51, "Input"], Cell[10566, 334, 176, 5, 29, "Text"], Cell[10745, 341, 106, 2, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[10888, 348, 66, 2, 44, "Section"], Cell[10957, 352, 189, 4, 28, "Text"], Cell[11149, 358, 38, 1, 47, "Input"], Cell[11190, 361, 34, 1, 47, "Input"], Cell[11227, 364, 33, 0, 28, "Text"], Cell[11263, 366, 45, 1, 47, "Input"], Cell[11311, 369, 24, 0, 28, "Text"], Cell[11338, 371, 45, 1, 47, "Input"], Cell[11386, 374, 38, 0, 28, "Text"], Cell[11427, 376, 45, 1, 47, "Input"], Cell[11475, 379, 322, 10, 28, "Text"], Cell[11800, 391, 40, 1, 47, "Input"], Cell[11843, 394, 122, 2, 28, "Text"], Cell[11968, 398, 38, 1, 47, "Input"], Cell[12009, 401, 48, 1, 47, "Input"], Cell[12060, 404, 127, 3, 28, "Text"], Cell[12190, 409, 54, 1, 49, "Input"], Cell[12247, 412, 42, 0, 28, "Text"], Cell[12292, 414, 54, 1, 49, "Input"], Cell[12349, 417, 44, 1, 47, "Input"], Cell[12396, 420, 566, 21, 36, "Text"], Cell[12965, 443, 93, 1, 47, "Input"], Cell[13061, 446, 168, 5, 28, "Text"], Cell[13232, 453, 44, 1, 47, "Input"], Cell[13279, 456, 242, 6, 58, "Text"], Cell[13524, 464, 79, 1, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[13640, 470, 46, 0, 44, "Section"], Cell[13689, 472, 39, 0, 28, "Text"], Cell[13731, 474, 60, 1, 49, "Input"], Cell[13794, 477, 35, 0, 28, "Text"], Cell[13832, 479, 44, 1, 47, "Input"], Cell[13879, 482, 51, 0, 28, "Text"], Cell[13933, 484, 61, 1, 67, "Input"], Cell[13997, 487, 282, 6, 28, "Text"], Cell[14282, 495, 54, 1, 47, "Input"], Cell[14339, 498, 223, 6, 28, "Text"], Cell[14565, 506, 42, 1, 47, "Input"], Cell[14610, 509, 62, 0, 28, "Text"], Cell[14675, 511, 56, 1, 47, "Input"], Cell[14734, 514, 41, 0, 28, "Text"], Cell[14778, 516, 67, 1, 47, "Input"], Cell[14848, 519, 57, 0, 28, "Text"], Cell[14908, 521, 55, 1, 47, "Input"], Cell[14966, 524, 28, 0, 28, "Text"], Cell[14997, 526, 46, 1, 47, "Input"], Cell[15046, 529, 53, 0, 28, "Text"], Cell[15102, 531, 45, 1, 47, "Input"], Cell[15150, 534, 70, 0, 28, "Text"], Cell[15223, 536, 79, 1, 51, "Input"], Cell[15305, 539, 212, 4, 28, "Text"], Cell[15520, 545, 237, 6, 28, "Text"], Cell[15760, 553, 136, 3, 66, "Input"], Cell[15899, 558, 41, 1, 47, "Input"], Cell[15943, 561, 204, 4, 28, "Text"], Cell[16150, 567, 76, 1, 53, "Input"], Cell[16229, 570, 80, 1, 53, "Input"], Cell[16312, 573, 245, 5, 28, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[16594, 583, 37, 0, 44, "Section"], Cell[CellGroupData[{ Cell[16656, 587, 47, 0, 53, "Subsection"], Cell[16706, 589, 346, 8, 46, "Text"], Cell[17055, 599, 65, 1, 49, "Input"], Cell[17123, 602, 686, 15, 114, "Text"], Cell[17812, 619, 60, 1, 49, "Input"], Cell[17875, 622, 209, 4, 28, "Text"], Cell[18087, 628, 37, 1, 47, "Input"], Cell[18127, 631, 21, 0, 28, "Text"], Cell[18151, 633, 44, 1, 60, "Input"], Cell[18198, 636, 71, 0, 28, "Text"], Cell[18272, 638, 52, 1, 47, "Input"], Cell[18327, 641, 37, 1, 47, "Input"], Cell[18367, 644, 19, 0, 28, "Text"], Cell[18389, 646, 37, 1, 47, "Input"], Cell[18429, 649, 447, 12, 58, "Text"], Cell[18879, 663, 44, 1, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[18960, 669, 48, 0, 37, "Subsection"], Cell[19011, 671, 186, 8, 28, "Text"], Cell[19200, 681, 54, 1, 47, "Input"], Cell[19257, 684, 39, 0, 28, "Text"], Cell[19299, 686, 37, 1, 47, "Input"], Cell[19339, 689, 106, 4, 28, "Text"], Cell[19448, 695, 43, 1, 47, "Input"], Cell[19494, 698, 36, 0, 28, "Text"], Cell[19533, 700, 37, 1, 47, "Input"], Cell[19573, 703, 203, 6, 28, "Text"], Cell[19779, 711, 54, 1, 47, "Input"], Cell[19836, 714, 37, 1, 47, "Input"], Cell[19876, 717, 108, 5, 28, "Text"], Cell[19987, 724, 43, 1, 47, "Input"], Cell[20033, 727, 33, 0, 28, "Text"], Cell[20069, 729, 37, 1, 47, "Input"], Cell[20109, 732, 263, 8, 28, "Text"], Cell[20375, 742, 39, 1, 47, "Input"], Cell[20417, 745, 187, 2, 28, "Text"], Cell[20607, 749, 50, 1, 49, "Input"], Cell[20660, 752, 312, 7, 28, "Text"], Cell[20975, 761, 39, 1, 47, "Input"], Cell[21017, 764, 44, 1, 47, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[21110, 771, 33, 0, 44, "Section"], Cell[21146, 773, 110, 5, 28, "Text"], Cell[21259, 780, 55, 1, 51, "Input"], Cell[21317, 783, 38, 0, 28, "Text"], Cell[21358, 785, 42, 1, 47, "Input"], Cell[21403, 788, 25, 0, 28, "Text"], Cell[21431, 790, 43, 1, 47, "Input"], Cell[21477, 793, 39, 0, 28, "Text"], Cell[21519, 795, 59, 1, 47, "Input"], Cell[21581, 798, 42, 0, 28, "Text"], Cell[21626, 800, 59, 1, 47, "Input"], Cell[21688, 803, 52, 0, 28, "Text"], Cell[21743, 805, 44, 1, 47, "Input"], Cell[21790, 808, 21, 0, 28, "Text"], Cell[21814, 810, 59, 1, 47, "Input"], Cell[21876, 813, 39, 0, 28, "Text"], Cell[21918, 815, 87, 1, 47, "Input"], Cell[22008, 818, 33, 0, 28, "Text"], Cell[22044, 820, 59, 1, 47, "Input"], Cell[22106, 823, 93, 3, 28, "Text"], Cell[22202, 828, 212, 3, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[22451, 836, 48, 0, 44, "Section"], Cell[22502, 838, 66, 0, 28, "Text"], Cell[22571, 840, 59, 1, 51, "Input"], Cell[22633, 843, 362, 11, 28, "Text"], Cell[22998, 856, 104, 2, 47, "Input"], Cell[23105, 860, 225, 8, 28, "Text"], Cell[23333, 870, 48, 1, 47, "Input"], Cell[23384, 873, 39, 1, 47, "Input"], Cell[23426, 876, 255, 5, 28, "Text"], Cell[23684, 883, 114, 4, 65, "Input"], Cell[23801, 889, 147, 4, 58, "Text"], Cell[23951, 895, 38, 1, 47, "Input"], Cell[23992, 898, 122, 3, 28, "Text"], Cell[24117, 903, 38, 1, 47, "Input"], Cell[24158, 906, 70, 0, 28, "Text"], Cell[24231, 908, 38, 1, 47, "Input"], Cell[24272, 911, 70, 0, 28, "Text"], Cell[24345, 913, 49, 1, 47, "Input"], Cell[24397, 916, 37, 0, 28, "Text"], Cell[24437, 918, 321, 14, 28, "Text"], Cell[24761, 934, 54, 1, 47, "Input"], Cell[24818, 937, 28, 0, 28, "Text"], Cell[24849, 939, 49, 1, 47, "Input"], Cell[24901, 942, 182, 8, 28, "Text"], Cell[25086, 952, 47, 1, 47, "Input"], Cell[25136, 955, 68, 0, 28, "Text"], Cell[25207, 957, 62, 1, 47, "Input"], Cell[25272, 960, 22, 0, 28, "Text"], Cell[25297, 962, 64, 1, 47, "Input"], Cell[25364, 965, 83, 1, 47, "Input"], Cell[25450, 968, 46, 1, 47, "Input"], Cell[25499, 971, 56, 0, 28, "Text"], Cell[25558, 973, 59, 1, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[25654, 979, 27, 0, 44, "Section"], Cell[CellGroupData[{ Cell[25706, 983, 35, 0, 53, "Subsection"], Cell[25744, 985, 318, 9, 28, "Text"], Cell[26065, 996, 413, 6, 63, "Input"], Cell[26481, 1004, 44, 0, 28, "Text"], Cell[26528, 1006, 250, 4, 47, "Input"], Cell[26781, 1012, 87, 3, 28, "Text"], Cell[26871, 1017, 216, 3, 47, "Input"], Cell[27090, 1022, 613, 13, 46, "Text"], Cell[27706, 1037, 407, 8, 46, "Text"], Cell[28116, 1047, 52, 1, 47, "Input"], Cell[28171, 1050, 125, 3, 28, "Text"], Cell[28299, 1055, 120, 3, 47, "Input"], Cell[28422, 1060, 104, 2, 47, "Input"], Cell[28529, 1064, 562, 10, 76, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[29128, 1079, 29, 0, 37, "Subsection"], Cell[29160, 1081, 96, 3, 28, "Text"], Cell[29259, 1086, 258, 6, 114, "Input", CellTags->"Hue"], Cell[29520, 1094, 175, 4, 28, "Text"], Cell[29698, 1100, 228, 6, 63, "Input"], Cell[29929, 1108, 228, 6, 63, "Input"], Cell[30160, 1116, 93, 3, 28, "Text"], Cell[30256, 1121, 233, 6, 63, "Input"], Cell[30492, 1129, 95, 3, 28, "Text"], Cell[30590, 1134, 2758, 62, 175, "Text"], Cell[33351, 1198, 158, 3, 47, "Input"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[33558, 1207, 41, 0, 64, "Section"], Cell[33602, 1209, 59, 0, 28, "Text"], Cell[33664, 1211, 91, 1, 51, "Input"], Cell[33758, 1214, 42, 0, 28, "Text"], Cell[33803, 1216, 191, 4, 47, "Input"], Cell[33997, 1222, 59, 0, 28, "Text"], Cell[34059, 1224, 216, 3, 47, "Input"], Cell[34278, 1229, 38, 0, 28, "Text"], Cell[34319, 1231, 154, 3, 47, "Input"], Cell[34476, 1236, 38, 0, 28, "Text"], Cell[34517, 1238, 154, 3, 47, "Input"], Cell[34674, 1243, 146, 3, 28, "Text"], Cell[34823, 1248, 86, 1, 47, "Input"], Cell[34912, 1251, 160, 4, 28, "Text"], Cell[35075, 1257, 56, 1, 47, "Input"], Cell[35134, 1260, 42, 0, 28, "Text"], Cell[35179, 1262, 61, 1, 47, "Input"], Cell[35243, 1265, 36, 0, 28, "Text"], Cell[35282, 1267, 46, 1, 47, "Input"], Cell[35331, 1270, 49, 1, 47, "Input"], Cell[35383, 1273, 145, 4, 28, "Text"], Cell[35531, 1279, 66, 1, 47, "Input"], Cell[35600, 1282, 184, 8, 28, "Text"], Cell[35787, 1292, 46, 1, 47, "Input"], Cell[35836, 1295, 41, 0, 28, "Text"], Cell[35880, 1297, 55, 1, 47, "Input"], Cell[35938, 1300, 222, 6, 28, "Text"], Cell[36163, 1308, 66, 1, 47, "Input"], Cell[36232, 1311, 25, 0, 28, "Text"], Cell[36260, 1313, 56, 1, 47, "Input"], Cell[36319, 1316, 220, 8, 28, "Text"], Cell[36542, 1326, 41, 1, 47, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[36620, 1332, 33, 0, 46, "ExerciseMain"], Cell[36656, 1334, 214, 8, 35, "Text"], Cell[CellGroupData[{ Cell[36895, 1346, 27, 0, 48, "Exercise"], Cell[36925, 1348, 231, 6, 28, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[37193, 1359, 29, 0, 48, "Exercise"], Cell[37225, 1361, 689, 20, 60, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[37951, 1386, 33, 0, 48, "Subsubsection"], Cell[37987, 1388, 77, 1, 62, "Input"], Cell[38067, 1391, 50, 1, 45, "Input"], Cell[38120, 1394, 313, 7, 61, "Input"], Cell[38436, 1403, 41, 1, 45, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[38514, 1409, 34, 0, 34, "Exercise"], Cell[38551, 1411, 238, 6, 28, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[38826, 1422, 25, 0, 48, "Exercise"], Cell[38854, 1424, 608, 12, 68, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[39499, 1441, 33, 0, 48, "Subsubsection"], Cell[39535, 1443, 58, 1, 45, "Input"], Cell[39596, 1446, 211, 4, 49, "Input"], Cell[39810, 1452, 256, 6, 44, "Text"], Cell[40069, 1460, 156, 3, 49, "Input"], Cell[40228, 1465, 61, 0, 26, "Text"], Cell[40292, 1467, 43, 1, 45, "Input"], Cell[40338, 1470, 60, 0, 26, "Text"], Cell[40401, 1472, 230, 5, 45, "Input"], Cell[40634, 1479, 58, 0, 26, "Text"], Cell[40695, 1481, 110, 2, 45, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[40842, 1488, 31, 0, 34, "Exercise"], Cell[40876, 1490, 487, 11, 48, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[41400, 1506, 33, 0, 48, "Subsubsection"], Cell[41436, 1508, 98, 3, 26, "Text"], Cell[41537, 1513, 90, 1, 52, "Input"], Cell[41630, 1516, 51, 0, 26, "Text"], Cell[41684, 1518, 39, 1, 45, "Input"], Cell[41726, 1521, 60, 0, 26, "Text"], Cell[41789, 1523, 91, 1, 52, "Input"], Cell[41883, 1526, 55, 0, 26, "Text"], Cell[41941, 1528, 90, 1, 52, "Input"], Cell[42034, 1531, 92, 3, 26, "Text"], Cell[42129, 1536, 91, 1, 52, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[42257, 1542, 35, 0, 34, "Exercise"], Cell[42295, 1544, 1381, 39, 215, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[43713, 1588, 33, 0, 48, "Subsubsection"], Cell[43749, 1590, 207, 5, 68, "Input"], Cell[43959, 1597, 46, 1, 45, "Input"], Cell[44008, 1600, 39, 1, 45, "Input"], Cell[44050, 1603, 57, 1, 45, "Input"], Cell[44110, 1606, 45, 1, 45, "Input"], Cell[44158, 1609, 54, 1, 45, "Input"], Cell[44215, 1612, 49, 1, 45, "Input"], Cell[44267, 1615, 47, 1, 45, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[44351, 1621, 34, 0, 34, "Exercise"], Cell[44388, 1623, 308, 9, 28, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[44733, 1637, 42, 0, 48, "Exercise"], Cell[44778, 1639, 786, 18, 64, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[45601, 1662, 33, 0, 48, "Subsubsection"], Cell[45637, 1664, 41, 1, 45, "Input"], Cell[45681, 1667, 132, 3, 67, "Input"], Cell[45816, 1672, 104, 2, 45, "Input"], Cell[45923, 1676, 54, 0, 26, "Text"], Cell[45980, 1678, 128, 2, 45, "Input"], Cell[46111, 1682, 55, 0, 26, "Text"], Cell[46169, 1684, 148, 2, 45, "Input"], Cell[46320, 1688, 181, 3, 45, "Input"], Cell[46504, 1693, 150, 2, 45, "Input"], Cell[46657, 1697, 185, 3, 61, "Input"], Cell[46845, 1702, 109, 2, 45, "Input"], Cell[46957, 1706, 133, 2, 45, "Input"], Cell[47093, 1710, 163, 2, 45, "Input"], Cell[47259, 1714, 226, 3, 61, "Input"], Cell[47488, 1719, 109, 2, 45, "Input"], Cell[47600, 1723, 53, 1, 45, "Input"], Cell[47656, 1726, 136, 2, 45, "Input"], Cell[47795, 1730, 71, 1, 45, "Input"], Cell[47869, 1733, 39, 1, 45, "Input"] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)