(************** Content-type: application/mathematica **************
CreatedBy='Mathematica 5.1'
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[ 53673, 1626]*)
(*NotebookOutlinePosition[ 55221, 1678]*)
(* CellTagsIndexPosition[ 55147, 1672]*)
(*WindowFrame->Normal*)
Notebook[{
Cell[BoxData[
\(<< Calculus`VectorAnalysis`\)], "Input",
InitializationCell->True],
Cell[BoxData[
\(<< Graphics`\)], "Input",
InitializationCell->True],
Cell[BoxData[
\(<< RealTime3D`\)], "Input",
InitializationCell->True],
Cell[BoxData[
\(<< Miscellaneous`RealOnly`\)], "Input",
InitializationCell->True],
Cell[CellGroupData[{
Cell["\<\
Calculus IV
Lab 2\
\>", "Title"],
Cell["Non-Cartesian coordinate systems", "Subtitle"],
Cell[CellGroupData[{
Cell["Changing your own coordinate system", "Section"],
Cell[CellGroupData[{
Cell["The basics", "Subsection"],
Cell[TextData[{
"Sometimes, the coordinate system you need to use to work an integral is \
fairly obvious. As an example, consider finding given integral over the \
region between the following sets of curves: \n\n",
Cell[BoxData[
\(TraditionalForm\`\(\(\[Integral]\[Integral]\)\+D\)
x\ y \[DifferentialD]A\)]],
" where ",
StyleBox["D",
FontSlant->"Italic"],
" is the region between the graphs of:",
"\n\t",
Cell[BoxData[
\(TraditionalForm\`3 x - y = 1, \ y = 3 x - 6, x\ y = 1, \
and\ x\ y = 2\)]],
" in the first quadrant.\n\nIf you think about it, this is really the \
region:\n\n\t",
Cell[BoxData[
\(TraditionalForm\`1 \[LessEqual] 3 x - y \[LessEqual]
6\ and\ 1 \[LessEqual] x\ y \[LessEqual] \ 2\)]],
"\n\nwhich looks like:"
}], "Text"],
Cell[BoxData[
\(InequalityPlot[
1 \[LessEqual] 3 x - y \[LessEqual] 6 &&
1 \[LessEqual] x\ y \[LessEqual] 2, {x}, {y}]\)], "Input"],
Cell[TextData[{
"Now, you ",
StyleBox["could",
FontSlant->"Italic"],
" do this using 3 separate integrals. However, by using a change of \
coordinates, with ",
Cell[BoxData[
\(TraditionalForm\`u = 3 x - y\)]],
" and ",
Cell[BoxData[
\(TraditionalForm\`v = x\ y\)]],
", you could work it using a single integral. So, let's set this up as a \
change of coordinates. I'm going to define two transformation:\n\n",
Cell[BoxData[
\(TraditionalForm\`XYtoUV : \[DoubleStruckCapitalR]\^2 \[Rule] \
\[DoubleStruckCapitalR]\^2\)]],
" maps from ",
Cell[BoxData[
\(TraditionalForm\`D \[Rule] \(D\^*\)\)]],
" (takes an input of ",
Cell[BoxData[
\(TraditionalForm\`{x, y}\)]],
" and returns a point in ",
Cell[BoxData[
\(TraditionalForm\`{u, v}\)]],
") \n",
Cell[BoxData[
\(TraditionalForm\`UVtoXY : \[DoubleStruckCapitalR]\^2 \[Rule] \
\[DoubleStruckCapitalR]\^2\)]],
" maps from ",
Cell[BoxData[
\(TraditionalForm\`\(D\^*\) \[Rule] D\)]],
" (takes an input of ",
Cell[BoxData[
\(TraditionalForm\`{u, v}\)]],
" and returns a point in ",
Cell[BoxData[
\(TraditionalForm\`{x, y}\)]],
") \n\n(Remember that you take the Jacobian of UVtoXY; in the notation we \
use in class, XYtoUV would be ",
Cell[BoxData[
\(TraditionalForm\`T\^\(-1\)\)]],
" and UVtoXY would be ",
Cell[BoxData[
\(TraditionalForm\`T\)]],
".)"
}], "Text"],
Cell[BoxData[
\(XYtoUV[{x_, y_}] := {3 x - y, x\ y}\)], "Input"],
Cell[TextData[{
"This says ",
Cell[BoxData[
\(TraditionalForm\`u = \(3 x - y\ and\ v = x\ y\)\)]],
". Now, the function we want to integrate:"
}], "Text"],
Cell[BoxData[
\(f[{x_, y_}] := x\ y\)], "Input"],
Cell[TextData[{
"Now, in order to find ",
Cell[BoxData[
\(TraditionalForm\`T(UVtoXY)\)]],
", we need to solve the system of equations for ",
StyleBox["x",
FontSlant->"Italic"],
" and ",
StyleBox["y",
FontSlant->"Italic"],
" (in terms of ",
StyleBox["u ",
FontSlant->"Italic"],
"and ",
StyleBox["v",
FontSlant->"Italic"],
"). We can do this with the solve command:"
}], "Text"],
Cell[BoxData[
\(solveInverse = Solve[XYtoUV[{x, y}] \[Equal] {u, v}, {x, y}]\)], "Input"],
Cell[TextData[{
"Notice that I gave the solution set a name (solveInverse), so I can refer \
back to it. Also, notice that there are ",
StyleBox["two",
FontSlant->"Italic"],
" sets of solutions. Should this be a surprise? (Hint: Check out the \
graph earlier...) If you look at these carefully, you will see that the \
second set is the one in the first quadrant (for ",
StyleBox["u",
FontSlant->"Italic"],
" and ",
StyleBox["v",
FontSlant->"Italic"],
" in the ranges we nned).\n\nFurther, notice that the solutions are not \
given in the form ",
Cell[BoxData[
\(TraditionalForm\`{x = blah, y = bleh}\)]],
", they are given in the form ",
Cell[BoxData[
\(TraditionalForm\`{x \[Rule] blah, y \[Rule] bleh}\)]],
". These are called \"replacement rules\", which means that they are a set \
of instructions (\"replace ",
StyleBox["x",
FontSlant->"Italic"],
" with ",
StyleBox["blah",
FontSlant->"Italic"],
" and replace ",
StyleBox["y",
FontSlant->"Italic"],
" with ",
StyleBox["bleh",
FontSlant->"Italic"],
"\"). We can use the \"replace all\" operator ",
Cell[BoxData[
\(TraditionalForm\` /. \)]],
" to apply the rules. ",
"So, for example, the following code:"
}], "Text"],
Cell[BoxData[
\(x\^2 + 2 x - y /. x \[Rule] 3\)], "Input"],
Cell[TextData[{
"replaces all the ",
StyleBox["x",
FontSlant->"Italic"],
"'s in the expression ",
Cell[BoxData[
\(TraditionalForm\`x\^2 + 2 x - y\)]],
" with ",
Cell[BoxData[
\(TraditionalForm\`x = 3\)]],
". So, we could assign these solutions to set up our ",
Cell[BoxData[
\(TraditionalForm\`UVtoXY\)]],
" function as follows:"
}], "Text"],
Cell[BoxData[
\(UVtoXY[{u_, v_}] = {x, y} /. solveInverse[\([2]\)]\)], "Input"],
Cell[TextData[{
"This replaces ",
Cell[BoxData[
\(TraditionalForm\`{x, y}\)]],
" with the solutions we found above (called solveInverse). Since we only \
wanted the solution in the first quadrant (the second one), we used ",
Cell[BoxData[
\(TraditionalForm\`solveInverse[\([2]\)]\)]],
".\n\nNow, we also need the Jacobian determinant. In ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", you can find the Jacobian of a function by:\n\n",
Cell[BoxData[
\(TraditionalForm\`D[
function[var1, var2, va3, ... ], {{var1, var2, va3, ... }}]\)]],
"\n\n(Notice the double ",
Cell[BoxData[
\(TraditionalForm\`{]\)]],
"'s enclosing the variables. So, for example:"
}], "Text"],
Cell[BoxData[
\(D[{\(x\^2\) y\^3, x + 3 Sin[y]}, {{x, y}}]\)], "Input"],
Cell["Or, to make it look cooler:", "Text"],
Cell[BoxData[
\(D[{\(x\^2\) y\^3, x + 3 Sin[y]}, {{x, y}}] // MatrixForm\)], "Input"],
Cell["\<\
We then need to take the determinant; so, here we can do the following:\
\>", "Text"],
Cell[BoxData[
\(detJ = Det[D[UVtoXY[{u, v}], {{u, v}}]] // FullSimplify\)], "Input"],
Cell[TextData[{
"(I use the //FullSimplify at the end of the line to make sure ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has simplified it as much as possible before I go on.) Notice, this will \
always be positive, so I don't need to take the absolute value.\n\nNow, we \
need to take the composition of ",
StyleBox["f",
FontSlant->"Italic"],
" and our transform ",
StyleBox["T, ",
FontSlant->"Italic"],
"i.e., ",
Cell[BoxData[
\(TraditionalForm\`f(T(u, v))\)]],
":"
}], "Text"],
Cell[BoxData[
\(fUV[{u_, v_}] = f[UVtoXY[{u, v}]] // FullSimplify\)], "Input"],
Cell[TextData[{
"(Just a kindly word of warning here: In ",
StyleBox["this",
FontSlant->"Italic"],
" problem, ",
Cell[BoxData[
\(TraditionalForm\`f(T(u, v))\)]],
" simplified out really nicely. However, it is often the case that it will \
be much more complicated than ",
Cell[BoxData[
\(TraditionalForm\`f(x, y)\)]],
" was. If it is too complicated, the transformed integral may be too hard \
for ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" to solve and you may have to go back and try something else...)\n\n\
Finally, pull it all together:"
}], "Text"],
Cell[BoxData[
\(\[Integral]\_1\%2\(\[Integral]\_1\%6 fUV[{u, v}]
detJ \[DifferentialD]u \[DifferentialD]v\)\)], "Input"],
Cell[TextData[{
"You could certainly combine several of these steps together, but hopefully \
this gives you an idea how to work your way through one of these. If you ",
StyleBox["really",
FontSlant->"Italic"],
" want to, you could do the integral without using the fUV and detJ \
expressions:"
}], "Text"],
Cell[BoxData[
\(\[Integral]\_1\%2\(\[Integral]\_1\%6 f[UVtoXY[{u, v}]]
Det[D[UVtoXY[{u, v}], {{u,
v}}]] \[DifferentialD]u \[DifferentialD]v\)\)], "Input"],
Cell["\<\
(The real problem with this is that you don't explicitly see what the \
determinant of the Jacobian looks like, so you don't really know whether you \
have the right sign for the Jacobian determinant. If it is negative \
everywhere, then your answer will only be off by a sign, but if it is \
negative in some parts of your domain and positive in others, you have a much \
bigger problem.)\
\>", "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Variation on a theme", "Subsection"],
Cell[TextData[{
"Sometimes, your region of integration is a variant on something you are \
already familiar with. For example, if you wanted to integrate:\n\n",
Cell[BoxData[
\(TraditionalForm\`\(\(\[Integral]\(\[Integral]\[Integral]\)\)\+D\) \
\(\(\(x\)\(\ \)\)\^2\) y\^4 - \(z\^2\) \[DifferentialD]V\)]],
" where ",
StyleBox["D",
FontSlant->"Italic"],
" is the region between the graphs of:\n\t",
Cell[BoxData[
\(TraditionalForm\`2 x\^2 + 4 x + 3 y\^2 + z\^2 -
3 z = \(1\ and\ 2 x\^2 + 4 x + 3 y\^2 + z\^2 - 3 z = 4\)\)]],
"\n\t\nFirst, let's see what this actually looks like:"
}], "Text"],
Cell[BoxData[
RowBox[{"regionD", "=",
RowBox[{"InequalityPlot3D", "[",
RowBox[{
RowBox[{"1", "\[LessEqual]", " ",
FormBox[\(2 x\^2 + 4 x + 3 y\^2 + z\^2 - 3 z\),
"TraditionalForm"], "\[LessEqual]", "4"}], ",", \({x}\),
",", \({y}\), ",", \({z}\)}], "]"}]}]], "Input"],
Cell[TextData[{
"Well, it looks like an elllipsoid (or the region ",
StyleBox["between",
FontSlant->"Italic"],
" two ellipsoids, actually, if you were to cut it open). In fact, if you \
stare at the eqution a bit, this should become obvious to you. We can \
complete the squares to find out what is going on:\n\n",
Cell[BoxData[
\(TraditionalForm\`2 x\^2 + 4 x + 3 y\^2 + z\^2 - 3 z\)]],
"\n",
Cell[BoxData[
\(TraditionalForm\`\(\(=\)\(2 \((x\^2 + 2 x)\) +
3 y\^2 + \((z\^2 - 3 z)\)\)\)\)]],
"\n",
Cell[BoxData[
\(TraditionalForm\`\(\(=\)\(2 \((x + 1)\)\^2 - 2 +
3 y\^2 + \((z - 3\/2)\)\^2 - 9\/4\)\)\)]],
"\nSo we get:\n",
Cell[BoxData[
\(TraditionalForm\`\(\(1\)\(\[LessEqual]\)\(2 \((x + 1)\)\^2 - 2 +
3 y\^2 + \((z - 3\/2)\)\^2 -
9\/4\)\(\[LessEqual]\)\(4\)\(\ \)\)\)]],
"\n",
Cell[BoxData[
\(TraditionalForm\`\(\(21\/4\)\(\[LessEqual]\)\(2 \((x + 1)\)\^2 +
3 y\^2 + \((z - 3\/2)\)\^2\)\(\[LessEqual]\)\(33\/4\)\(\ \)\)\)]],
"\n\n(There is probably a way to make ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" complete the squares for you, but unless I'm missing something, it's \
actually simpler just to do it by hand...) So, what we have is a set of \
nested ellipsoids, centered at ",
Cell[BoxData[
\(TraditionalForm\`\((\(-1\), 0, 3\/2)\)\)]],
". A slightly different way to think of this is as spheres shifted from \
the origin to ",
Cell[BoxData[
\(TraditionalForm\`\((\(-1\), 0, 3\/2)\)\)]],
" and stretched by a factor of ",
Cell[BoxData[
\(TraditionalForm\`\@\(1/2\)\)]],
"in the ",
StyleBox["x",
FontSlant->"Italic"],
" direction and ",
Cell[BoxData[
\(TraditionalForm\`\@\(1/3\)\)]],
"in the ",
StyleBox["y",
FontSlant->"Italic"],
" direction (why?). \n\nSo, one thing we could do here is to take the \
standard coordinate transform for spherical coordinates and \"distort\" it in \
exactly this way. So, if our standard spherical transform is:"
}], "Text"],
Cell[BoxData[
\(mySphere[{\[Rho]_, \[Theta]_, \[Phi]_}] := {\[Rho]\ Cos[\[Theta]]
Sin[\[Phi]], \[Rho]\ Sin[\[Theta]]
Sin[\[Phi]], \[Rho]\ Cos[\[Phi]]}\)], "Input"],
Cell["Our distorted ellipsoidal form would be:", "Text"],
Cell[BoxData[
\(myEllipsoid[{\[Rho]_, \[Theta]_, \[Phi]_}] := {\[Rho]\/\@2\ \
Cos[\[Theta]] Sin[\[Phi]] - 1, \[Rho]\/\@3\ Sin[\[Theta]]
Sin[\[Phi]], \[Rho]\ Cos[\[Phi]] + 3\/2}\)], "Input"],
Cell[TextData[{
"Notice that, in this case:\n\n",
Cell[BoxData[
\(TraditionalForm\`\@\(21\/4\) \[LessEqual] \[Rho] \[LessEqual] \
\@\(33\/4\), \ 0 \[LessEqual] \[Theta] \[LessEqual] 2 \[Pi], \
0 \[LessEqual] \[Phi] \[LessEqual] \[Pi]\)]],
"\n\n(Why did I take the square root of the numbers for \[Rho]?) Let's \
graph this for the outer ellipse to check that we haven't done anything wrong \
here:"
}], "Text"],
Cell[BoxData[
\(testRegion =
ParametricPlot3D[
myEllipsoid[{\@\(33/4\), \[Theta], \[Phi]}], {\[Theta],
0, \[Pi]}, {\[Phi], 0, \[Pi]}]\)], "Input"],
Cell["\<\
Unfortunately, InequalityPlot3D can't handle trig functions, so I had to use \
ParametricPlot3D to draw the outer shell. (Notice that I only used half the \
domain for \[Theta]. This is so when I draw the two graphs together, I can \
see if they really coincide.)\
\>", "Text"],
Cell[BoxData[
\(Show[regionD, testRegion]\)], "Input"],
Cell["From here on out, it's just the usual stuff:", "Text"],
Cell[BoxData[
\(jDet =
Det[D[myEllipsoid[{\[Rho], \[Theta], \[Phi]}], {{\[Rho], \[Theta], \
\[Phi]}}]] // FullSimplify\)], "Input"],
Cell[BoxData[
\(jDet = \(-jDet\)\)], "Input"],
Cell["(This will now be positive everywhere in our domain...)", "Text"],
Cell[BoxData[
RowBox[{\(f[{x_, y_, z_}]\), ":=",
FormBox[\(\(\(\(x\)\(\ \)\)\^2\) y\^4 - z\^2\),
"TraditionalForm"]}]], "Input"],
Cell[BoxData[
\(\[Integral]\_0\%\[Pi]\(\[Integral]\_0\%\(2 \
\[Pi]\)\(\[Integral]\_\(\@\(21/4\)\)\%\(\@\(33/4\)\)f[
myEllipsoid[{\[Rho], \[Theta], \[Phi]}]]
jDet \[DifferentialD]\[Rho] \[DifferentialD]\[Theta] \
\[DifferentialD]\[Phi]\)\)\)], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell["Problems", "Subsection"],
Cell["\<\
Use an appropriate change of coordinates to evaluate the following integrals:\
\
\>", "Text"],
Cell[TextData[{
"\n",
Cell[BoxData[
\(TraditionalForm\`\(\(\[Integral]\[Integral]\)\+D\)
x\ y \[DifferentialD]A\)]],
" where ",
StyleBox["D",
FontSlant->"Italic"],
" is the region between the graphs of:\n\t",
Cell[BoxData[
\(TraditionalForm\`y = \@\(2 - 2 x\^2\)\%3, \ x\^2 = 3 - y\^3\/2, \
y\^3 = 2 x - 1, \ and\ x = 4 + y\^3\/2\)]],
" ",
"for ",
Cell[BoxData[
\(TraditionalForm\`x \[GreaterEqual] 0\)]],
"."
}], "Text",
CellTags->"Problem"],
Cell[TextData[{
Cell[BoxData[
\(TraditionalForm\`\(\(\[Integral]\(\[Integral]\[Integral]\)\)\+D\) \(x(
y\^2 + z\^2)\) \[DifferentialD]V\)]],
" where ",
StyleBox["D",
FontSlant->"Italic"],
" is the region between the graphs of:\n\t",
Cell[BoxData[
\(TraditionalForm\`3 \[LessEqual] y\^2 + 2 y + 4 z\^2 \[LessEqual]
8, \ \(-x\)\ + 2 y + 3 z = \(15\ \ and\ \ x =
y\^2 - 3 z\^2\)\)]],
"\n\t\n(Kindly hint: The coordinate system here is given by the first \
compound inequality.)"
}], "Text",
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData[{
"Using ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"'s built-in coordinate systems"
}], "Section"],
Cell[TextData[{
StyleBox["Mathematica",
FontSlant->"Italic"],
" supports a very wide range of 3-dimensional coordinate systems. \
(Double-click on VectorAnalysis and then hit function key F1 to go to the \
place in the Help Browser where these are discussed.) This can be very \
useful, but it can also be very confusing. How do you know what these \
different coordinate systems \"look like\" and when to use each one?\n\nWell, \
this lab won't teach you that. However, it will show you some techniques to \
investigate this question and how to work with these alternate coordinate \
systems in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
".\n\nFirst, we will work through an investigation of some properties of \
different coordinate systems using the two main non-Cartesian systems that we \
are most familiar with. Then, you will apply these techniques to some less \
familiar ones. (For all the work that follows, you must load the library \
module Calculus`VectorAnalysis`. In this notebook, it is done automatically \
when you execute the first command.)\n\nSince we are in 3 dimensions here, we \
need 3 coordinates to specify a point in space. To find out what names ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" gives to these coordinates by defaulty, use:"
}], "Text"],
Cell[BoxData[
\(Coordinates[Cylindrical]\)], "Input"],
Cell["\<\
So, what are the transformation equations to convert from Cylindrical to \
Cartesian coordinates?\
\>", "Text"],
Cell[BoxData[
\(CoordinatesToCartesian[{r, \[Theta], z}, Cylindrical]\)], "Input"],
Cell["\<\
(Notice that I used my own variable names here. This makes the formulae look \
nicer. It can get you in trouble on occasion, however. More on that later.)
So, what about Spherical coordinates?\
\>", "Text"],
Cell[BoxData[
\(Coordinates[Spherical]\)], "Input"],
Cell["\<\
We can get some further info on the possible ranges of these coordinates:\
\>", "Text"],
Cell[BoxData[
\(CoordinateRanges[Spherical]\)], "Input"],
Cell[BoxData[
\(CoordinatesToCartesian[{\[Rho], \[Phi], \[Theta]},
Spherical]\)], "Input"],
Cell[TextData[{
"Just a warning here: For some reason, ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" reverses the standard roles of \[Theta] and \[Phi] in spherical \
coordinates. In ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", \[Theta] stands for the angle from the Z axis, while \[Phi] is the angle \
of the projection into the XY plane from the X axis. This isn't all that \
hard to deal with (just always remember to enter points in {\[Rho],\[Phi],\
\[Theta]} format, rather than the more usual {\[Rho],\[Theta],\[Phi]} form, \
using our standard \[Theta] and \[Phi]), but you do have to be careful to \
remember it. Also, notice that they have chosen the range for their \[Phi] \
(our \[Theta]) to be ",
Cell[BoxData[
\(TraditionalForm\`\([\(-\[Pi]\), \[Pi]]\)\)]],
" rather than ",
Cell[BoxData[
\(TraditionalForm\`\([0, 2 \[Pi]]\)\)]],
"."
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Visualization", "Section"],
Cell[TextData[{
"So, how can you visualize what these alternate coordinate systems \"look \
like\"? This can be a bit tricky, so I will show you one way to do this. \n\
\nConsider a coordinate system {u,v,w}. If you fix w and let u and v vary, \
you will get a surface (why?). If you do this for different values of w, you \
will get a bunch of surfaces that are \"parallel\" in some sense (literally, \
in Cartesian coordinates). These can be thought of as \"level surfaces\" for \
the coordinate system: everything on one of these surfaces has the same w \
coordinate. You can do the same thing for u and v by letting each of them \
stay constant. Putting all these together give a pretty good picture of how \
the coordinate system behaves. Let's take a look at this for Cartesian and \
Spherical coordinates:\n\nFirst, you use the Table function to generate your \
\"level surfaces\" for each combination of variables. Notice that the Table \
function works like:\n\nTable[ Stuff to do for different values of k, {k, \
kStart, kEnd, kStep}]\n\nwhere:\nkStart = The beginning value to plug in for \
k\nkEnd = The final value to plug in for k\nkStep = The amount to increment k \
by each time\n\nSo, when I use the command:\nTable[ParametricPlot3D[ \
stuff...], {k,-4,4,2}]\n\nI am telling it to make a series of \
ParametricPlot3D's, letting k = -4, -2, 0, 2, 4.\n\n(You can ignore the \
\"spelling error\" messages. ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is trying to be helpful, but not succeeding very well here.)"
}], "Text"],
Cell[BoxData[
\(zSlices =
Table[ParametricPlot3D[{u, v, k}, {u, \(-5\), 5}, {v, \(-5\),
5}], {k, \(-4\), 4, 2}]\)], "Input"],
Cell[BoxData[
\(ySlices =
Table[ParametricPlot3D[{u, k, v}, {u, \(-5\), 5}, {v, \(-5\),
5}], {k, \(-4\), 4, 2}]\)], "Input"],
Cell[BoxData[
\(xSlices =
Table[ParametricPlot3D[{k, u, v}, {u, \(-5\), 5}, {v, \(-5\),
5}], {k, \(-4\), 4, 2}]\)], "Input"],
Cell["\<\
Notice that in each of these, u and v are used as variables for graphing the \
surface, while k always stands for the variable that will get held constant \
for each surface. Now, let's put all this together in a useful picture:\
\>", "Text"],
Cell[BoxData[
\(Show[xSlices, ySlices, zSlices]\)], "Input"],
Cell[TextData[{
"Not surprisingly, we see that Cartesian coordinates can be thought of as a \
bunch of intersecting planes. You locate points at the intersection of the \
three perpindicular planes. This is boring, but makes for a good start.\n\nA \
couple of things you should notice about how I set this up: \n\nI didn't let \
k run over as large a domain as I did u and v. This was so that when I put \
everything together at the end (using the Show command), we could actually \
see the intersecting planes. (If you let k run from -5 to 5, like u and v, \
all you see is a cube. Perfectly correct, but not very informative.) \n\n\
You will probably have to experiment with the domain for u and v, as well as \
the range for k (and the number of slices) in different coordinate systems to \
come up with an informative final graph.\n\nLet's do the same thing for \
Spherical coordinates. Notices that it is very similar, though we have to \
convert to Cartesian coordinates before we can plot anything \
(ParametricPlot3D plots only in Cartesian). Also, notice the use of Evaluate \
before the change of coordinates; this is just to stop ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" complaining (it compiles the function before plotting). "
}], "Text"],
Cell[BoxData[
\(\[Rho]Slices =
Table[ParametricPlot3D[
Evaluate[
CoordinatesToCartesian[{k, \[Phi], \[Theta]},
Spherical]], {\[Phi],
0, \[Pi]}, {\[Theta], \(-\(\(2 \[Pi]\)\/3\)\), \[Pi]}], {k, 1,
5, 2}]\)], "Input"],
Cell["\<\
Notice that I didn't complete the spheres (I restricted \[Theta]). I did \
this so that when we put the graphs together, you can get a \"cut-away\" view \
inside (see below).\
\>", "Text"],
Cell[BoxData[
\(\[Theta]Slices =
Table[ParametricPlot3D[
Evaluate[
CoordinatesToCartesian[{\[Rho], \[Phi], k}, Spherical]], {\[Phi],
0, \[Pi]}, {\[Rho], 0,
6}], {k, \(-\(\(3 \[Pi]\)\/6\)\), \(2 \[Pi]\)\/3, \[Pi]/
3}]\)], "Input"],
Cell[BoxData[
\(\[Phi]Slices =
Table[ParametricPlot3D[
Evaluate[
CoordinatesToCartesian[{\[Rho], k, \[Theta]},
Spherical]], {\[Theta], \(-\(\(2 \[Pi]\)\/3\)\), \[Pi]}, {\
\[Rho], 0, 6}], {k, 0, \[Pi], \[Pi]/6}]\)], "Input"],
Cell[BoxData[
\(Show[\[Rho]Slices, \[Theta]Slices, \[Phi]Slices]\)], "Input"],
Cell["\<\
Again, you locate points at the intersection of the three types of surfaces \
(planes, spheres, and cones).\
\>", "Text"],
Cell[CellGroupData[{
Cell["Problem:", "Subsubsection"],
Cell[TextData[{
"Pick some other non-standard coordinate systems that ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" supports (listed in the Help Browser page I mention above; Cartesian, \
Cylindrical, and Spherical are all out) and generate visualizations of those \
systems like I did above. Also, have ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" give you the formula to translate from these other coordinate systmes \
into Cartesian and find the ranges ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" expects for each coordinate. Choose your domains, etc., so that your \
final picture is easy to interpret.\n\nWarning: Some of the coordinate \
systems in the list seem to have more than 3 coordinates. This isn't really \
true; the first 3 variables listed are always the coordinates. The \"extra\" \
variables are actually constant parameters; you get a slightly different \
coordinate system for each choice of those parameters. You can use the \
default values for each one for this exercise."
}], "Text",
CellMargins->{{87.3125, Inherited}, {Inherited, Inherited}},
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Computations", "Section"],
Cell[TextData[{
"While alternate coordinate systems can be really useful at times \
(especially in integration), you do have to be careful when working with \
them. Standard vector operations work differently in non-Cartesian \
coordinate systems. However, you can always transform everything into \
Cartesian coordinates and do the work there if necessary. Fortunately, ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" automagically does most of the grunt work for you on this. ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" also has special versions of these operations that work in these \
different coordinate systems."
}], "Text"],
Cell[CellGroupData[{
Cell["Vector operations", "Subsection"],
Cell["\<\
So, for example, to take the dot product of two vectors in spherical \
coordinates, we would do the following (warning: remember that these are in {\
\[Rho],\[Phi],\[Theta]} form):\
\>", "Text"],
Cell[BoxData[
\(DotProduct[{1, \[Pi]\/2, \[Pi]\/6}, {2, \[Pi]\/2, \(2 \[Pi]\)\/3},
Spherical]\)], "Input"],
Cell["If we use Cartesian coordinates, we get:", "Text"],
Cell[BoxData[
\(DotProduct[{1, \[Pi]\/2, \[Pi]\/6}, {2, \[Pi]\/2, \(2 \[Pi]\)\/3},
Cartesian]\)], "Input"],
Cell[BoxData[
\(CrossProduct[{1, \[Pi]\/2, \[Pi]\/6}, {2, \[Pi]\/2, \(2 \[Pi]\)\/3},
Spherical]\)], "Input"],
Cell[BoxData[
\(CrossProduct[{1, \[Pi]\/2, \[Pi]\/6}, {2, 0, \(2 \[Pi]\)\/3},
Spherical]\)], "Input"],
Cell[CellGroupData[{
Cell["Problem", "Subsubsection"],
Cell[TextData[{
"Explain why the dot product in spherical coordinates is 0 above. Why is \
the second dot product (in Cartesian coordinates, by default) ",
StyleBox["not",
FontSlant->"Italic"],
" 0? \n\nWhat coordinate system is the answer to the cross product given \
in? (This is ",
StyleBox["important",
FontSlant->"Italic"],
". Don't continue until you have figured this out.) How do you know?"
}], "Text",
CellMargins->{{78.625, Inherited}, {Inherited, Inherited}},
TextAlignment->Left,
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Differentiation operators", "Subsection"],
Cell["\<\
There are also built-in functions to find the gradient, divergence, and curl \
(among other things):\
\>", "Text"],
Cell[BoxData[
\(Grad[x\^2 + y\ Cos[z]]\)], "Input"],
Cell[TextData[{
"Notice, we have a problem here. The gradient of the given functions is \
certainly ",
StyleBox["not",
FontSlant->"Italic"],
" the 0 vector. So, what is going on? This goes back to the issue I \
mentioned in the introduction. This gradient was taken in the default \
coordinate system (Cartesian), but it was taken with the ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" default variables for that coordinate system. Let's find out what those \
are:"
}], "Text"],
Cell[BoxData[
\(CoordinateSystem\)], "Input"],
Cell[BoxData[
\(Coordinates[]\)], "Input"],
Cell[TextData[{
"So, as far as ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is concerned, the variables in this coordinate system are Xx, Yy, and Zz \
(strange but true). That means that when we took the gradient above, it \
treated x, y, and z as ",
StyleBox["constants",
FontSlant->"Italic"],
". There are two ways to fix this:\n\nWe could conform:"
}], "Text"],
Cell[BoxData[
\(Grad[Xx\^2 + Yy\ Cos[Zz]]\)], "Input"],
Cell[TextData[{
"Personally, I find this a bit bizarre to try to read. The other way is to \
tell ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" to use ",
StyleBox["our",
FontSlant->"Italic"],
" preferred variables:"
}], "Text"],
Cell[BoxData[
\(Grad[x\^2 + y\ Cos[z], \ Cartesian[x, y, z]]\)], "Input"],
Cell["\<\
Or, if you need to do a lot of work in Cartesian coordinates with your \
preferred variables, you could set the default coordinate system this way:\
\>", "Text"],
Cell[BoxData[
\(SetCoordinates[Cartesian[x, y, z]]\)], "Input"],
Cell[BoxData[
\(Grad[x\^2 + y\ Cos[z]]\)], "Input"],
Cell[BoxData[
\(Grad[x\^2 + y\ Cos[z], \ Cartesian[x, y, z]]\)], "Input"],
Cell[TextData[{
"Thus, it is extremely important that, before you start doing computations \
in any coordinate system using ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"'s built-in functions, you are aware of what variables ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is expecting (or you set them like you want them).\n\nOf course, a more \
interesting question is, how do these things work in other coordinate \
systems? Let's look at the gradient in spherical coordinates:"
}], "Text"],
Cell[BoxData[
\(Coordinates[Spherical]\)], "Input"],
Cell[BoxData[
\(SetCoordinates[Spherical[\[Rho], \[Phi], \[Theta]]]\)], "Input"],
Cell["\<\
Warning: The default coordinate system is now set to spherical until you \
change it again. The safe thing to do is to always specify the coordinate \
system when you perform a computation. Also, notice that I am taking this \
opportunity to rename the variables so they fit the ones we are used to \
(though they still need to be entered in {\[Rho],\[Phi],\[Theta]} order).\
\>", "Text"],
Cell[BoxData[
\(Grad[\(\[Rho]\^2\) Sin[\[Phi]] Cos[\[Theta]]]\)], "Input"],
Cell["\<\
Or, we can get a general formula for the gradient of a function f[\[Rho],\
\[Phi],\[Theta]] whose coordinates are in spherical coordinates:\
\>", "Text"],
Cell[BoxData[
\(Grad[f[\[Rho], \[Phi], \[Theta]]]\)], "Input"],
Cell[TextData[{
"In this expression, ",
Cell[BoxData[
RowBox[{
SuperscriptBox["f",
TagBox[\((1, 0, 0)\),
Derivative],
MultilineFunction->None], "[", \(\[Rho], \[Phi], \[Theta]\), "]"}]],
"Output"],
" stands for the partial derivative of f with respect to the first \
coordinate (\[Rho]), etc. Notice that, in addition to the expected partial \
derivatives, you get some extra coefficients, in this case ",
Cell[BoxData[
\(TraditionalForm\`1\/\[Rho]\)]],
" and ",
Cell[BoxData[
\(TraditionalForm\`Csc[\[Phi]]\/\[Rho]\)]],
" (usually written as ",
Cell[BoxData[
\(TraditionalForm\`1\/\(\[Rho]\ Sin[\[Phi]]\)\)]],
"). A complete treatment of where these factors come from is beyond the \
scope of this lab, but basically they are the reciprocals of the coefficients \
needed to convert a change in that variable into an actual change in \
arc-length (called the \"Scale Factors\"). So, in other words, if you \
increase \[Rho] by ",
Cell[BoxData[
\(TraditionalForm\`d\[Rho]\)]],
", then it just gets longer by ",
Cell[BoxData[
\(TraditionalForm\`d\[Rho]\)]],
", so the scale factor is 1. However, if you increase \[Phi] by ",
Cell[BoxData[
\(TraditionalForm\`d\[Phi]\)]],
", the actual change in distance (i.e., arc-length) covered is ",
Cell[BoxData[
\(TraditionalForm\`\[Rho]\ d\[Phi]\)]],
", so the scale factor is \[Rho]. (This is easier to see in polar \
coordinates. If you increase \[Theta] by ",
Cell[BoxData[
\(TraditionalForm\`d\[Theta]\)]],
", the actual change in arc-length is ",
Cell[BoxData[
\(TraditionalForm\`r\ d\[Theta]\)]],
", so the scale factor would be ",
Cell[BoxData[
\(TraditionalForm\`r\)]],
".) To see the scale factors for a particular coordinate system, you can \
use:"
}], "Text"],
Cell[BoxData[
\(ScaleFactors[Spherical[\[Rho], \[Phi], \[Theta]]]\)], "Input"],
Cell[BoxData[
\(ScaleFactors[Cylindrical[r, \[Theta], z]]\)], "Input"],
Cell[TextData[{
"Now, you only have to deal with this when you need your output vectors \
given in your non-Cartesian coordinate system. In the cases we looked at \
above, the gradients are given as vectors in ",
StyleBox["spherical coordinates ",
FontSlant->"Italic"],
"(i.e., these are the components of unit vectors in the \[Rho], \[Phi], and \
\[Theta] directions, respecitvely). This is mainly useful if you are doing \
all your work in that coordinate system. (The good news is that all the \
built-in differential operators, like grad, div, and curl, automatically take \
care of this for you, if you specify your coordinate system.)\n\nOn the other \
hand, if you really needed to work with a function from an alternate \
coordinate system in Cartesian coordinates (for example if you wanted to \
actually graph the function or its gradient vector field or tangent plane in \
",
StyleBox["Mathematica",
FontSlant->"Italic"],
"), one way to handle this is to convert the function to Cartesian \
coordintes to begin with.\n\nIf you had the function (in spherical \
coordinates):"
}], "Text"],
Cell[BoxData[
\(f[{\[Rho]_, \[Phi]_, \[Theta]_}] := \(\[Rho]\^2\) Sin[\[Phi]]
Cos[\[Theta]]\)], "Input"],
Cell[TextData[{
"You could first transform it into a function of ",
Cell[BoxData[
\(TraditionalForm\`{x, y, z}\)]],
":"
}], "Text"],
Cell[BoxData[
\(fCart[{x_, y_, z_}] =
f[CoordinatesFromCartesian[{x, y, z}, Spherical]] //
FullSimplify\)], "Input"],
Cell["\<\
From then on, you would treat this as a standard Cartesian function \
(admittedly ugly). Notice the liberal use of FullSimplify in this work; it \
is used to automatically apply things like trig identities, etc.\
\>", "Text"],
Cell[BoxData[
\(Grad[fCart[{x, y, z}], Cartesian[x, y, z]] // FullSimplify\)], "Input"],
Cell[TextData[{
"This gives you the gradient in terms of your standard ",
StyleBox["i, j, ",
FontSlant->"Italic"],
"and ",
StyleBox["k",
FontSlant->"Italic"],
" unit vectors. You can get a much nicer looking gradient by taking it \
directly in spherical:"
}], "Text"],
Cell[BoxData[
\(sphGrad =
Grad[f[{\[Rho], \[Phi], \[Theta]}],
Spherical[\[Rho], \[Phi], \[Theta]]] // FullSimplify\)], "Input"],
Cell[TextData[{
"But this gives you the gradient vector in terms of the unit vectors in the \
\[Rho], \[Phi], and \[Theta] directions (and remember that the unit vectors \
in the \[Phi] and \[Theta] directions ",
StyleBox["rotate",
FontSlant->"Italic"],
", depending on what angle they are at, so they are ",
StyleBox["not",
FontSlant->"Italic"],
" all parallel to each other)",
". Which method you use depends on what you are trying to do. (Of course, \
with spherical and cylindrical coordinates, ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is perfectly capable of graphing them \"as-is\", but that isn't true \
about other more esoteric coordinate systems. Also, if you were working with \
different functions in different coordinate systems, converting everything to \
Cartesian makes it possible to work with them all together.)"
}], "Text"],
Cell[BoxData[
\(SetCoordinates[Cartesian[x, y, z]]\)], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell["Integration operations", "Subsection"],
Cell[TextData[{
"If you are computing a change of variables for a new coordinate system \
(i.e., in a triple integral), ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has some built in functions that are useful for that as well:"
}], "Text"],
Cell[BoxData[
\(JacobianDeterminant[Spherical[\[Rho], \[Phi], \[Theta]]]\)], "Input"],
Cell[BoxData[
\(JacobianDeterminant[Cylindrical]\)], "Input"],
Cell["\<\
As usual, be sure you know what the default variables of your coordinate \
system are before using this:\
\>", "Text"],
Cell[BoxData[
\(JacobianDeterminant[Cylindrical[r, \[Theta], z]]\)], "Input"],
Cell[BoxData[
\(SetCoordinates[Cartesian[x, y, z]]\)], "Input"],
Cell[TextData[{
"Also, if you are doing a path integral, you will need to be able to find \
the \"arc length factor\", which is the factor you have to introduce to \
convert an integral ",
StyleBox["ds",
FontSlant->"Italic"],
" into an integral ",
StyleBox["dt",
FontSlant->"Italic"],
" (or whatever your independent variable is). Of course, since we know \
that ",
Cell[BoxData[
\(TraditionalForm\`ds = \(\(\[VerticalSeparator]\)\(\(c\& \[Rule] \)' \
\((t)\)\)\(\[VerticalSeparator]\)\(dt\)\)\)]],
", this \"arc length factor\" is just ",
Cell[BoxData[
\(TraditionalForm\`\(\(\[VerticalSeparator]\)\(\(c\& \[Rule] \)' \
\((t)\)\)\(\[VerticalSeparator]\)\)\)]],
". Now, you could certainly compute that yourself, but ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has a built-in function for this:"
}], "Text"],
Cell[BoxData[
\(ArcLengthFactor[{2 Sin[t], 2 Cos[t], t}, t] //
FullSimplify\)], "Input"],
Cell[TextData[{
"Now, even though we haven't really discussed this possibility in class, \
there isn't any reason you can't have curves defined in other coordinate \
systems. So, for example, you could define a parametric curve in cylindrical \
coordinates as: ",
Cell[BoxData[
\(TraditionalForm\`r = 1, \ \[Theta] = t, \ z = t\)]],
" or, in vector form:"
}], "Text"],
Cell[BoxData[
\(curveCylindrical = {2, t, t}\)], "Input"],
Cell["\<\
Now, if you just apply the ArcLengthFactor directly to this curve, you get:\
\>", "Text"],
Cell[BoxData[
\(ArcLengthFactor[{2, t, t}, t]\)], "Input"],
Cell[TextData[{
"Notice, that this is actually the ",
StyleBox["same",
FontSlant->"Italic"],
" curve I defined above in Cartesian coordinates, a helix with a radius of \
2 about the z axis (moving at the same \"speed\"). Therefore, they ought to \
have the same factors. The way to fix this, of course, is to tell ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" that your curve is actually specified in cylindrical coordinates (the \
above command assumed Cartesian):"
}], "Text"],
Cell[BoxData[
\(ArcLengthFactor[{2, t, t}, t, Cylindrical]\)], "Input"],
Cell["If you are curious about the actual formula:", "Text"],
Cell[BoxData[
\(ArcLengthFactor[{x[t], y[t], z[t]}, t, Cartesian]\)], "Input"],
Cell[BoxData[
\(ArcLengthFactor[{r[t], \[Theta][t], z[t]}, t, Cylindrical]\)], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell["Graphing", "Subsection"],
Cell[TextData[{
"You can also graph functions and parametric equations in these coordinate \
systems. In Lab 1, you wrote your own translation functions to do this for \
spherical and cylindrical coordinates. Let's look at another way this could \
be done, using the built-in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" coordinate systems.\n\nLet's graph ",
Cell[BoxData[
\(TraditionalForm\`\[Rho] = Sin[\[Theta]] Cos[\[Phi]]\)]],
" (in spherical coordinates):"
}], "Text"],
Cell[BoxData[
\(\[Rho] = Sin[\[Theta]] Cos[\[Phi]]\)], "Input"],
Cell[BoxData[
\(plotSurface =
ParametricPlot3D[
Evaluate[
CoordinatesToCartesian[{\[Rho], \[Phi], \[Theta]},
Spherical]], {\[Phi], 0, \[Pi]}, {\[Theta], 0, 2 \[Pi]},
PlotPoints \[Rule] 40]\)], "Input"],
Cell[TextData[{
"To find the equation of a tangent plane to a surface at a point, remember \
that if you can express the equation as ",
Cell[BoxData[
\(TraditionalForm\`f[x, y, z] = 0\)]],
", you can find the equation of the tangent plane by setting ",
Cell[BoxData[
\(TraditionalForm\`\[Del]f[x\_0, y\_0, z\_0] . {x - x\_0, y - y\_0,
z - z\_0} = 0\)]],
". (The . stands for the dot product in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
".)\n\nSo, for example, the above spherical equation could be written as:"
}], "Text"],
Cell[BoxData[
\(fSpherical[{\[Rho]_, \[Phi]_, \[Theta]_}] := \[Rho] -
Sin[\[Theta]] Cos[\[Phi]]\)], "Input"],
Cell["Converting this in Cartesian coordinates:", "Text"],
Cell[BoxData[
\(fCartesian[{x_, y_, z_}] =
fSpherical[CoordinatesFromCartesian[{x, y, z}, Spherical]]\)], "Input"],
Cell[TextData[{
"So, to find the tangent plane at a point ",
Cell[BoxData[
\(TraditionalForm\`{\@3\/2, \[Pi]\/6, \[Pi]\/2}\)]],
" (in spherical coordinates), you first have to translate the point to \
Cartesian:"
}], "Text"],
Cell[BoxData[
\(ptCartesian =
CoordinatesToCartesian[{\@3\/2, \[Pi]\/6, \[Pi]\/2},
Spherical]\)], "Input"],
Cell["Find the gradient (again, in Cartesian):", "Text"],
Cell[BoxData[
\(gradfCartesian[{x_, y_, z_}] =
Grad[fCartesian[{x, y, z}], Cartesian]\)], "Input"],
Cell[TextData[{
"It is ",
StyleBox["very",
FontSlant->"Italic"],
" important that you use = above and not := or gradCartesian won't work \
correctly. This is a suble difference between = and :=\n\n= evaluates the \
right hand side immediately, so it goes ahead and takes the gradient right \
away (",
StyleBox["before",
FontSlant->"Italic"],
" you plug in any values for ",
Cell[BoxData[
\(TraditionalForm\`x, \ y, \ and\ z\)]],
".\n\n:= doesn't evaluate the right hand side until later, so the gradient \
doesn't get computed until after you plug in for ",
Cell[BoxData[
\(TraditionalForm\`x, \ y, \ and\ z\)]],
", which is a problem since we want to plug in numbers (to evaluate it at a \
point)."
}], "Text"],
Cell[BoxData[
\(gradfCartesian[ptCartesian]\)], "Input"],
Cell["Now find the tangent plane:", "Text"],
Cell[BoxData[
\(tangentPlane = \(gradfCartesian[
ptCartesian] . \(({x, y, z} - ptCartesian)\) // N\) //
FullSimplify\)], "Input"],
Cell["\<\
Let's graph this. There are a number of possibilities here. The easiest way \
is to use ContourPlot3D:\
\>", "Text"],
Cell[BoxData[
\(plotPlane =
ContourPlot3D[
tangentPlane, {x, \(-1\), 1}, {y, \(-1\), 1}, {z, \(-1\),
1}]\)], "Input"],
Cell["\<\
So, if this worked, we should be able to display them together:\
\>", "Text"],
Cell[BoxData[
\(Show[plotSurface, plotPlane]\)], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell["Problems", "Subsection"],
Cell[TextData[{
"Find equations in Cartesian coordinates for planes through the following \
set of points (in the given coordinate systems): ",
Cell[BoxData[
\(TraditionalForm\`{1, 2, 2}\)]],
", ",
Cell[BoxData[
\(TraditionalForm\`{2, 3, 5}\)]],
", ",
Cell[BoxData[
\(TraditionalForm\`{3, 6, 3}\)]],
" (ParabolicCylindrical)"
}], "Text",
CellTags->"Problem"],
Cell[TextData[{
"Graph the following surface: ",
Cell[BoxData[
\(TraditionalForm\`u = v\ Cos[\[Phi] + v]\)]],
" in Paraboloidal coordinates"
}], "Text",
CellTags->"Problem"],
Cell[TextData[{
"Find the equation for the tangent plane to the above surface at the point \
",
Cell[BoxData[
\(TraditionalForm\`{\(\(-7\) \[Pi]\)\/12, \(7 \[Pi]\)\/6, \[Pi]\/6}\ \
in\ {u, v, \[Phi]}\)]],
". Graph that plane and the surface on the same coordinate axes (as I did \
in the example), to make sure you aren't hallucinating."
}], "Text",
CellTags->"Problem"],
Cell[TextData[{
"Graph the following curve:\n\n",
Cell[BoxData[
\(TraditionalForm\`{t\ Sin[t], t\ Cos[t], t}\)]],
"in Paraboloidal and Toroidal coordinates for ",
Cell[BoxData[
\(TraditionalForm\`0.5 \[LessEqual] t \[LessEqual] \[Pi]\)]],
". ",
" (Assume the parameter ",
Cell[BoxData[
\(TraditionalForm\`a = 1\)]],
" in the definition. Warning: you may have to make slight changes in your \
domain for this to work (hint: in Toroidal coordinates, don't let ",
StyleBox["v",
FontSlant->"Italic"],
" go all the way in to 0). ",
Cell[BoxData[
\(TraditionalForm\`\(\(Warning\^2\)\(:\)\)\)]],
" ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" seems a little confused about the order of the coordinates in Toroidal; \
in the Help System, they are listed in the order ",
Cell[BoxData[
\(TraditionalForm\`\(\(\ \)\({u, v, \[Phi]}\)\)\)]],
", but if you do Coordinates[Toroidal], it lists them as ",
Cell[BoxData[
\(TraditionalForm\`\(\(\ \)\({v, u, \[Phi]}\)\)\)]],
". For our purposes, let's use the ordering given in the program, ",
Cell[BoxData[
\(TraditionalForm\`{v, u, \[Phi]}\)]],
".)",
"\n\nFind the arc-length of this curve over this interval in each \
coordinate system. \nShould the two arc-lengths be the same? Why or why \
not? (Hint: use NIntegrate to work the integrals. Trying to work them \
exactly is a really ",
StyleBox["bad",
FontSlant->"Italic"],
" idea...)"
}], "Text",
CellMargins->{{60, Inherited}, {Inherited, Inherited}},
CellTags->"Problem"]
}, Open ]],
Cell[CellGroupData[{
Cell["Integration", "Subsection"],
Cell[CellGroupData[{
Cell["Double and Triple integrals", "Subsubsection"],
Cell[TextData[{
"When working a triple integral, you sometimes have to work in alternate \
coordinate systems. You can use some of the techniques from above to make the \
computations easier.\n\nFor example, if you had to do the following integral:\
\n\n",
Cell[BoxData[
\(\(\(\[Integral]\(\[Integral]\[Integral]\)\)\+R\) \(x\^3\) \(\@\(x\^2 \
+ y\^2\)\) \[DifferentialD]V\)]],
", where R is the region defined by ",
Cell[BoxData[
\(TraditionalForm\`R = {\((u, v, \[Phi]}\) \[VerticalSeparator]
1 \[LessEqual] u \[LessEqual] v\^2,
2 \[LessEqual] v \[LessEqual] 3, \
0 \[LessEqual] \[Phi] \[LessEqual] \[Pi]\/6}\)]],
" in Paraboloidal coordinates.\n\nFirst, let's examine the region by \
graphing each of the boundaries (this is a pain, but I haven't thought of a \
faster method yet):"
}], "Text"],
Cell[BoxData[
\(faceULo =
ParametricPlot3D[
Evaluate[CoordinatesToCartesian[{1, v, \[Phi]}, Paraboloidal]], {v,
2, 3}, {\[Phi], 0, \[Pi]\/6}]\)], "Input"],
Cell[BoxData[
\(faceUHi =
ParametricPlot3D[
Evaluate[
CoordinatesToCartesian[{v\^2, v, \[Phi]}, Paraboloidal]], {v, 2,
3}, {\[Phi], 0, \[Pi]\/6}]\)], "Input"],
Cell[BoxData[
\(faceVLo =
ParametricPlot3D[
Evaluate[CoordinatesToCartesian[{u, 2, \[Phi]}, Paraboloidal]], {u,
1, 9}, {\[Phi], 0, \[Pi]\/6}]\)], "Input"],
Cell[BoxData[
\(faceVHi =
ParametricPlot3D[
Evaluate[CoordinatesToCartesian[{u, 3, \[Phi]}, Paraboloidal]], {u,
1, 9}, {\[Phi], 0, \[Pi]\/6}]\)], "Input"],
Cell[BoxData[
\(face\[Phi]Lo =
ParametricPlot3D[
Evaluate[CoordinatesToCartesian[{u, v, 0}, Paraboloidal]], {u, 1,
9}, {v, 2, 3}]\)], "Input"],
Cell[BoxData[
\(face\[Phi]Hi =
ParametricPlot3D[
Evaluate[CoordinatesToCartesian[{u, v, \[Pi]\/6}, Paraboloidal]], {u,
1, 9}, {v, 2, 3}]\)], "Input"],
Cell[BoxData[
\(Show[faceULo, faceUHi, faceVLo, faceVHi, face\[Phi]Lo, face\[Phi]Hi,
Mesh \[Rule] False]\)], "Input"],
Cell["\<\
Actually, let's leave off one of the sides (which face is that?):\
\>", "Text"],
Cell[BoxData[
\(Show[faceULo, faceUHi, faceVLo, faceVHi, face\[Phi]Lo,
Mesh \[Rule] False]\)], "Input"],
Cell[TextData[{
"So, ",
StyleBox["not",
FontSlant->"Italic"],
" a great candidate for integration in Cartesian coordinates. (It's the \
region on the inside.) Let's convert everything into Paraboloidal:"
}], "Text"],
Cell[BoxData[
\(fCartesian[{x_, y_, z_}] := \(x\^3\) \@\(x\^2 + y\^2\)\)], "Input"],
Cell[BoxData[
\(fParaboloidal[{u_, v_, \[Phi]_}] =
fCartesian[
CoordinatesToCartesian[{u, v, \[Phi]},
Paraboloidal[u, v, \[Phi]]]] // FullSimplify\)], "Input"],
Cell[BoxData[
\(jDet = JacobianDeterminant[Paraboloidal[u, v, \[Phi]]]\)], "Input"],
Cell[BoxData[
\(\[Integral]\_0\%\(\[Pi]/6\)\(\[Integral]\_2\%3\(\[Integral]\_1\%\(v\^2\)\
fParaboloidal[{u, v, \[Phi]}]
jDet \[DifferentialD]u \[DifferentialD]v \[DifferentialD]\[Phi]\)\
\)\)], "Input"]
}, Open ]],
Cell[TextData[{
"Find ",
Cell[BoxData[
\(\(\(\[Integral]\(\[Integral]\[Integral]\)\)\+R\) \(x\^3\) \(\@\(x\^2 \
+ y\^2\)\) \[DifferentialD]V\)]],
", where R is the region defined by ",
Cell[BoxData[
\(TraditionalForm\`R = {\((u, v, z}\) \[VerticalSeparator]
0 \[LessEqual] u \[LessEqual] 1,
2 \[LessEqual] v \[LessEqual] u\^2 + 3, \
0 \[LessEqual] z \[LessEqual] u\ v}\)]],
" in ParabolicCylindrical coordinates. ",
StyleBox["Graph the region of integration as well.",
FontWeight->"Bold"]
}], "Text",
CellMargins->{{60.6875, Inherited}, {Inherited, Inherited}},
CellTags->"Problem"],
Cell[CellGroupData[{
Cell["Path integrals", "Subsubsection"],
Cell[TextData[{
"If you need to integrate a scalar-valued function over a curve, it is \
pretty straight-forward. For example, to integrate ",
Cell[BoxData[
\(TraditionalForm\`f(x, y, z) = \(x\^2\) \(y\^3\) e\^z\)]],
" over the curve ",
Cell[BoxData[
\(TraditionalForm\`\(c\& \[Rule] \)(t) = {t, Sin[t], Tan[t]}, \
0 \[LessEqual] t \[LessEqual] \ \[Pi]\/4\)]],
", you need to simply use ArcLengthFactor to convet ",
StyleBox["ds",
FontSlant->"Italic"],
" to ",
StyleBox["dt",
FontSlant->"Italic"],
" and compose ",
StyleBox["f",
FontSlant->"Italic"],
" and ",
StyleBox["c",
FontSlant->"Italic"],
":"
}], "Text"],
Cell[BoxData[
\(f[{x_, y_, z_}] := \(x\^2\) \(y\^3\) \[ExponentialE]\^z\)], "Input"],
Cell[BoxData[
\(c[t_] := {t, Sin[t], Tan[t]}\)], "Input"],
Cell[BoxData[
\(f[c[t]]\)], "Input"],
Cell[BoxData[
\(ArcLengthFactor[c[t], t, Cartesian]\)], "Input"],
Cell[BoxData[
\(NIntegrate[
f[c[t]] ArcLengthFactor[c[t], t, Cartesian], {t,
0, \[Pi]\/4}]\)], "Input"],
Cell[TextData[{
"If your curve (and function) is in some other coordinate system, you \
simply have to specify that in the ArcLengthFactor term. (Be careful that \
you specify your variables in the order ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" expects them in for your coordinate system, both in ",
StyleBox["f",
FontSlant->"Italic"],
" and in ",
StyleBox["c",
FontSlant->"Italic"],
".)"
}], "Text"]
}, Open ]],
Cell[TextData[{
"Find ",
Cell[BoxData[
\(\[Integral]\+\(c\& \[Rule] \)\(u\^3\) \(\@\(v\^2 +
z\^2\)\) \[DifferentialD]s\)]],
", where ",
Cell[BoxData[
\(TraditionalForm\`\(c\& \[Rule] \)\)]],
"is the curve ",
Cell[BoxData[
\(TraditionalForm\`{t\^2, Sin[t], Cos[t]}, \
0 \[LessEqual] t \[LessEqual] \[Pi]\)]],
", where both the curve and the function are in ParabolicCylindrical \
coordinates. Graph the curve. Work the problem twice, once in Parabolic \
Cylindrical coordinates and once by converting everything to Cartesian. \
Should the answers be the same? (Use NIntegrate to evaulate the integral.)"
}], "Text",
CellMargins->{{59.25, Inherited}, {Inherited, Inherited}},
CellTags->"Problem"]
}, Open ]]
}, Open ]]
}, Open ]]
},
FrontEndVersion->"5.1 for Macintosh",
ScreenRectangle->{{35, 1680}, {0, 1028}},
AutoGeneratedPackage->None,
WindowToolbars->"RulerBar",
CellGrouping->Manual,
WindowSize->{845, 541},
WindowMargins->{{211, Automatic}, {189, Automatic}},
CellLabelAutoDelete->True,
ShowCellTags->True,
Magnification->1.5
]
(*******************************************************************
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->{
"Problem"->{
Cell[16320, 518, 504, 18, 144, "Text",
CellTags->"Problem"],
Cell[16827, 538, 575, 15, 159, "Text",
CellTags->"Problem"],
Cell[25689, 765, 1144, 22, 352, "Text",
CellTags->"Problem"],
Cell[28449, 842, 541, 13, 170, "Text",
CellTags->"Problem"],
Cell[44775, 1343, 393, 13, 92, "Text",
CellTags->"Problem"],
Cell[45171, 1358, 189, 6, 66, "Text",
CellTags->"Problem"],
Cell[45363, 1366, 386, 9, 123, "Text",
CellTags->"Problem"],
Cell[45752, 1377, 1578, 41, 352, "Text",
CellTags->"Problem"],
Cell[50635, 1524, 650, 16, 134, "Text",
CellTags->"Problem"],
Cell[52875, 1603, 758, 18, 168, "Text",
CellTags->"Problem"]}
}
*)
(*CellTagsIndex
CellTagsIndex->{
{"Problem", 54407, 1647}
}
*)
(*NotebookFileOutline
Notebook[{
Cell[1754, 51, 88, 2, 39, "Input",
InitializationCell->True],
Cell[1845, 55, 73, 2, 39, "Input",
InitializationCell->True],
Cell[1921, 59, 75, 2, 39, "Input",
InitializationCell->True],
Cell[1999, 63, 87, 2, 39, "Input",
InitializationCell->True],
Cell[CellGroupData[{
Cell[2111, 69, 42, 3, 204, "Title"],
Cell[2156, 74, 52, 0, 71, "Subtitle"],
Cell[CellGroupData[{
Cell[2233, 78, 54, 0, 104, "Section"],
Cell[CellGroupData[{
Cell[2312, 82, 32, 0, 53, "Subsection"],
Cell[2347, 84, 813, 21, 322, "Text"],
Cell[3163, 107, 151, 3, 39, "Input"],
Cell[3317, 112, 1440, 46, 255, "Text"],
Cell[4760, 160, 69, 1, 39, "Input"],
Cell[4832, 163, 168, 5, 47, "Text"],
Cell[5003, 170, 52, 1, 39, "Input"],
Cell[5058, 173, 421, 17, 73, "Text"],
Cell[5482, 192, 93, 1, 39, "Input"],
Cell[5578, 195, 1269, 38, 255, "Text"],
Cell[6850, 235, 63, 1, 42, "Input"],
Cell[6916, 238, 383, 14, 73, "Text"],
Cell[7302, 254, 83, 1, 39, "Input"],
Cell[7388, 257, 730, 19, 249, "Text"],
Cell[8121, 278, 76, 1, 42, "Input"],
Cell[8200, 281, 43, 0, 47, "Text"],
Cell[8246, 283, 90, 1, 42, "Input"],
Cell[8339, 286, 95, 2, 47, "Text"],
Cell[8437, 290, 88, 1, 39, "Input"],
Cell[8528, 293, 525, 16, 151, "Text"],
Cell[9056, 311, 82, 1, 39, "Input"],
Cell[9141, 314, 602, 17, 177, "Text"],
Cell[9746, 333, 135, 2, 63, "Input"],
Cell[9884, 337, 317, 7, 99, "Text"],
Cell[10204, 346, 188, 3, 63, "Input"],
Cell[10395, 351, 414, 7, 125, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[10846, 363, 42, 0, 53, "Subsection"],
Cell[10891, 365, 642, 14, 218, "Text"],
Cell[11536, 381, 339, 7, 65, "Input"],
Cell[11878, 390, 2072, 53, 530, "Text"],
Cell[13953, 445, 189, 3, 62, "Input"],
Cell[14145, 450, 56, 0, 47, "Text"],
Cell[14204, 452, 204, 3, 100, "Input"],
Cell[14411, 457, 431, 9, 205, "Text"],
Cell[14845, 468, 176, 4, 77, "Input"],
Cell[15024, 474, 289, 5, 99, "Text"],
Cell[15316, 481, 58, 1, 39, "Input"],
Cell[15377, 484, 60, 0, 47, "Text"],
Cell[15440, 486, 142, 3, 39, "Input"],
Cell[15585, 491, 49, 1, 39, "Input"],
Cell[15637, 494, 71, 0, 47, "Text"],
Cell[15711, 496, 147, 3, 42, "Input"],
Cell[15861, 501, 283, 5, 71, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[16181, 511, 30, 0, 53, "Subsection"],
Cell[16214, 513, 103, 3, 47, "Text"],
Cell[16320, 518, 504, 18, 144, "Text",
CellTags->"Problem"],
Cell[16827, 538, 575, 15, 159, "Text",
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[17451, 559, 129, 5, 104, "Section"],
Cell[17583, 566, 1321, 23, 437, "Text"],
Cell[18907, 591, 57, 1, 39, "Input"],
Cell[18967, 594, 121, 3, 47, "Text"],
Cell[19091, 599, 86, 1, 39, "Input"],
Cell[19180, 602, 219, 5, 125, "Text"],
Cell[19402, 609, 55, 1, 39, "Input"],
Cell[19460, 612, 97, 2, 47, "Text"],
Cell[19560, 616, 60, 1, 39, "Input"],
Cell[19623, 619, 101, 2, 39, "Input"],
Cell[19727, 623, 913, 21, 177, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[20677, 649, 32, 0, 104, "Section"],
Cell[20712, 651, 1565, 23, 749, "Text"],
Cell[22280, 676, 148, 3, 85, "Input"],
Cell[22431, 681, 148, 3, 85, "Input"],
Cell[22582, 686, 148, 3, 85, "Input"],
Cell[22733, 691, 253, 4, 99, "Text"],
Cell[22989, 697, 64, 1, 39, "Input"],
Cell[23056, 700, 1281, 19, 489, "Text"],
Cell[24340, 721, 288, 7, 139, "Input"],
Cell[24631, 730, 199, 4, 73, "Text"],
Cell[24833, 736, 302, 7, 139, "Input"],
Cell[25138, 745, 272, 6, 139, "Input"],
Cell[25413, 753, 81, 1, 39, "Input"],
Cell[25497, 756, 131, 3, 73, "Text"],
Cell[CellGroupData[{
Cell[25653, 763, 33, 0, 41, "Subsubsection"],
Cell[25689, 765, 1144, 22, 352, "Text",
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[26882, 793, 31, 0, 104, "Section"],
Cell[26916, 795, 662, 13, 177, "Text"],
Cell[CellGroupData[{
Cell[27603, 812, 39, 0, 53, "Subsection"],
Cell[27645, 814, 204, 4, 73, "Text"],
Cell[27852, 820, 118, 2, 64, "Input"],
Cell[27973, 824, 56, 0, 47, "Text"],
Cell[28032, 826, 118, 2, 64, "Input"],
Cell[28153, 830, 120, 2, 64, "Input"],
Cell[28276, 834, 113, 2, 64, "Input"],
Cell[CellGroupData[{
Cell[28414, 840, 32, 0, 41, "Subsubsection"],
Cell[28449, 842, 541, 13, 170, "Text",
CellTags->"Problem"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[29039, 861, 47, 0, 53, "Subsection"],
Cell[29089, 863, 124, 3, 47, "Text"],
Cell[29216, 868, 55, 1, 42, "Input"],
Cell[29274, 871, 505, 12, 125, "Text"],
Cell[29782, 885, 49, 1, 39, "Input"],
Cell[29834, 888, 46, 1, 39, "Input"],
Cell[29883, 891, 389, 10, 151, "Text"],
Cell[30275, 903, 58, 1, 42, "Input"],
Cell[30336, 906, 251, 9, 73, "Text"],
Cell[30590, 917, 77, 1, 42, "Input"],
Cell[30670, 920, 171, 3, 73, "Text"],
Cell[30844, 925, 67, 1, 39, "Input"],
Cell[30914, 928, 55, 1, 42, "Input"],
Cell[30972, 931, 77, 1, 42, "Input"],
Cell[31052, 934, 519, 11, 177, "Text"],
Cell[31574, 947, 55, 1, 39, "Input"],
Cell[31632, 950, 84, 1, 39, "Input"],
Cell[31719, 953, 401, 6, 125, "Text"],
Cell[32123, 961, 78, 1, 42, "Input"],
Cell[32204, 964, 163, 3, 73, "Text"],
Cell[32370, 969, 66, 1, 39, "Input"],
Cell[32439, 972, 1873, 48, 289, "Text"],
Cell[34315, 1022, 82, 1, 39, "Input"],
Cell[34400, 1025, 74, 1, 39, "Input"],
Cell[34477, 1028, 1118, 20, 359, "Text"],
Cell[35598, 1050, 117, 2, 42, "Input"],
Cell[35718, 1054, 143, 5, 47, "Text"],
Cell[35864, 1061, 136, 3, 85, "Input"],
Cell[36003, 1066, 236, 4, 99, "Text"],
Cell[36242, 1072, 91, 1, 39, "Input"],
Cell[36336, 1075, 286, 9, 73, "Text"],
Cell[36625, 1086, 149, 3, 39, "Input"],
Cell[36777, 1091, 884, 18, 203, "Text"],
Cell[37664, 1111, 67, 1, 39, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[37768, 1117, 44, 0, 53, "Subsection"],
Cell[37815, 1119, 255, 6, 73, "Text"],
Cell[38073, 1127, 89, 1, 39, "Input"],
Cell[38165, 1130, 65, 1, 39, "Input"],
Cell[38233, 1133, 128, 3, 73, "Text"],
Cell[38364, 1138, 81, 1, 39, "Input"],
Cell[38448, 1141, 67, 1, 39, "Input"],
Cell[38518, 1144, 862, 22, 155, "Text"],
Cell[39383, 1168, 101, 2, 39, "Input"],
Cell[39487, 1172, 381, 8, 99, "Text"],
Cell[39871, 1182, 61, 1, 39, "Input"],
Cell[39935, 1185, 99, 2, 47, "Text"],
Cell[40037, 1189, 62, 1, 39, "Input"],
Cell[40102, 1192, 503, 11, 125, "Text"],
Cell[40608, 1205, 75, 1, 39, "Input"],
Cell[40686, 1208, 60, 0, 47, "Text"],
Cell[40749, 1210, 82, 1, 39, "Input"],
Cell[40834, 1213, 91, 1, 39, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[40962, 1219, 30, 0, 53, "Subsection"],
Cell[40995, 1221, 502, 11, 151, "Text"],
Cell[41500, 1234, 67, 1, 39, "Input"],
Cell[41570, 1237, 253, 6, 108, "Input"],
Cell[41826, 1245, 572, 13, 151, "Text"],
Cell[42401, 1260, 121, 2, 39, "Input"],
Cell[42525, 1264, 57, 0, 47, "Text"],
Cell[42585, 1266, 125, 2, 62, "Input"],
Cell[42713, 1270, 236, 6, 82, "Text"],
Cell[42952, 1278, 126, 3, 74, "Input"],
Cell[43081, 1283, 56, 0, 47, "Text"],
Cell[43140, 1285, 109, 2, 62, "Input"],
Cell[43252, 1289, 750, 19, 255, "Text"],
Cell[44005, 1310, 60, 1, 39, "Input"],
Cell[44068, 1313, 43, 0, 47, "Text"],
Cell[44114, 1315, 156, 3, 85, "Input"],
Cell[44273, 1320, 128, 3, 73, "Text"],
Cell[44404, 1325, 147, 4, 62, "Input"],
Cell[44554, 1331, 87, 2, 47, "Text"],
Cell[44644, 1335, 61, 1, 39, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[44742, 1341, 30, 0, 53, "Subsection"],
Cell[44775, 1343, 393, 13, 92, "Text",
CellTags->"Problem"],
Cell[45171, 1358, 189, 6, 66, "Text",
CellTags->"Problem"],
Cell[45363, 1366, 386, 9, 123, "Text",
CellTags->"Problem"],
Cell[45752, 1377, 1578, 41, 352, "Text",
CellTags->"Problem"]
}, Open ]],
Cell[CellGroupData[{
Cell[47367, 1423, 33, 0, 53, "Subsection"],
Cell[CellGroupData[{
Cell[47425, 1427, 52, 0, 41, "Subsubsection"],
Cell[47480, 1429, 854, 17, 301, "Text"],
Cell[48337, 1448, 184, 4, 113, "Input"],
Cell[48524, 1454, 198, 5, 115, "Input"],
Cell[48725, 1461, 184, 4, 113, "Input"],
Cell[48912, 1467, 184, 4, 113, "Input"],
Cell[49099, 1473, 172, 4, 85, "Input"],
Cell[49274, 1479, 179, 4, 120, "Input"],
Cell[49456, 1485, 128, 2, 62, "Input"],
Cell[49587, 1489, 89, 2, 47, "Text"],
Cell[49679, 1493, 114, 2, 62, "Input"],
Cell[49796, 1497, 226, 6, 73, "Text"],
Cell[50025, 1505, 87, 1, 54, "Input"],
Cell[50115, 1508, 193, 4, 85, "Input"],
Cell[50311, 1514, 87, 1, 39, "Input"],
Cell[50401, 1517, 219, 4, 69, "Input"]
}, Open ]],
Cell[50635, 1524, 650, 16, 134, "Text",
CellTags->"Problem"],
Cell[CellGroupData[{
Cell[51310, 1544, 39, 0, 41, "Subsubsection"],
Cell[51352, 1546, 674, 22, 106, "Text"],
Cell[52029, 1570, 88, 1, 42, "Input"],
Cell[52120, 1573, 61, 1, 39, "Input"],
Cell[52184, 1576, 40, 1, 39, "Input"],
Cell[52227, 1579, 68, 1, 39, "Input"],
Cell[52298, 1582, 122, 3, 91, "Input"],
Cell[52423, 1587, 437, 13, 99, "Text"]
}, Open ]],
Cell[52875, 1603, 758, 18, 168, "Text",
CellTags->"Problem"]
}, Open ]]
}, Open ]]
}, Open ]]
}
]
*)
(*******************************************************************
End of Mathematica Notebook file.
*******************************************************************)