(***********************************************************************
Mathematica-Compatible Notebook
This notebook can be used on any computer system with Mathematica 3.0,
MathReader 3.0, or any compatible application. The data for the notebook
starts with the line of 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[ 49325, 1599]*)
(*NotebookOutlinePosition[ 50449, 1636]*)
(* CellTagsIndexPosition[ 50405, 1632]*)
(*WindowFrame->Normal*)
Notebook[{
Cell[TextData["Programming Paradigms via Mathematica"], "Title",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"The Mathematica labs in this course are the collaborative creations of Rich \
Neidinger, John Swallow, and Todd Will and are organized into nine numbered \
chapters. The first section of the first chapter follows."], "SmallText",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Chapter I. Introduction to Mathematica and to Programming"], "Title",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"1. Arithmetic: Syntax, Data Types, Operators, and Expressions"], "Title",
Evaluatable->False,
AspectRatioFixed->True],
Cell["Last revision: January 13 1998", "SmallText",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"In this section we explain how Mathematica can act as a graphing calculator, \
considering the evaluation and plotting of a variety of expressions."], "Text",\
Evaluatable->False,
AspectRatioFixed->True],
Cell[CellGroupData[{
Cell["Front End: Working, Saving, Printing", "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
Congratulations! You have successfully opened a Mathematica \
Notebook.\
\>", "Text",
Evaluatable->False,
AspectRatioFixed->True,
Background->GrayLevel[0.900008]],
Cell[TextData[{
StyleBox[
"Before we may begin, we must cover a few basics of using Mathematica The \
term ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["front end",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
" refers to the user interface of a computer application; in our case, the \
\"front end\" of Mathematica is the layout of the windows, the menu bar, and \
the ways in which we input and output data under the operating system. In \
this section we cover how to save and print your work.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[CellGroupData[{
Cell[TextData["Working in and Saving a Mathematica Notebook"], "Subsection",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"You should always personalize a Mathematica document with which you are \
working so that it may be easily identified. To do so, you should write your \
name (and the name of any of your partners) at the top of the document. \
Right now, click in the tiny space above the \"Programming Paradigms...\" \
title above---so that you see a horizontal line---and begin typing your \
names. Then scroll back to this cell, if necessary, and read on."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
To save your work, you will need an appropriate place to save it. \
You can save your work either to a disk or to a space on the network for \
which you have the appropriate privileges. Since possibility always exists \
that the network connection will encounter difficulties, and since anyone is \
free to delete student files from the hard disk on this computer, please buy \
an formatted, double-sided, double-density disk, write your name on it, and \
always bring such a disk, with free space, to class. You then retain, at all \
times, the opportunity to save your work. \
\>", "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"The procedure to save your work is as follows. Pull down the \"File\" \
menu to \"Save As\", indicate into which disk and folder you wish to save the \
file, and save the file under a name which will distinguish it from other \
notebooks. For instance, John Doe might want to save the file as \"",
StyleBox["L01Doe.nb",
FontFamily->"Courier"],
"\", indicating John Doe's lesson one. If you have a disk, try to save \
this notebook there. (You can save two copies, one for each partner.) \
Otherwise, go through the motions of saving but choose \"Cancel\" rather than \
typing a file name, and take notes on anything in this section that you type. \
(You will always be able to get a fresh copy of this document from the \
network.)"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Printing a Mathematica Notebook"], "Subsection",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
To print a notebook, pull down \"File\" to \"Print\", choose \"OK\" \
or \"Print\" (right now choose \"Cancel\") and wait a few minutes for it to \
appear at a local printer. To print only selected parts of a notebook, drag \
the cursor across the brackets on the right side of the screen. Try this now \
and get several brackets marked with a dark bar. After doing this, use \
\"Print Selection\" or, if this command is unavailable, pull down \"File\" to \
\"Print\" and you should see \"Selection\" marked in the box.\
\>", "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
You will be asked to print your responses to the homework assigment \
associated with this lesson to demonstrate your facility with printing.\
\>",
"Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Cells and Evaluation"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"The primary structural principle of Mathematica notebooks is their \
division into cells. Notice that this cell's innermost brackets (on the \
right-hand side of your screen) have a second bar on top. This second bar \
indicates that Mathematica is prevented from trying to interpret its contents \
as instructions; the cell is simply a ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["text cell",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
". Cells which we want Mathematica to look at and evaluate should not be \
text cells, but instead ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["input cells",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
". The first input cell below appears in blue\[LongDash]although it is \
possible to change the colors and background of all of the cells, both text \
and input. First we will execute some input cells which are embeed in the \
notebook already, and then we will have you start making your own input \
cells.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
To execute a cell, which means to ask Mathematica to evaluate it, \
use the mouse to place the cursor anywhere in the cell and click once. You \
should then see a blinking cursor. Then press the \"Enter\" key. \
(Alternatively, hold down the shift key and press the \"Return\" key.) Then \
Mathematica will execute the cell.\
\>", "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Let's see if Mathematica can do anything. Execute the following cell:"],
"Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["4*5^2+13", "Input",
AspectRatioFixed->True,
FontColor->RGBColor[0, 0, 1]],
Cell[TextData[
"You may have noticed that Mathematica took some time figuring this \
expression out. If so, don't be worried. The first time a Mathematica \
session executes an input cell, the computer has to launch a separate \
program, called the Mathematica Kernel, and starting up programs simply takes \
time. Now that you have successfully executed a cell, read on through the \
notebook and execute every input cell that you see."], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Arithmetic Operations "], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"In this section we explain how Mathematica operates as a simple scientific \
calculator, evaluating expressions. We will describe ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["operators",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[", which are usually symbols such as \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["+",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\" which indicate to Mathematica that a certain sort of task, or",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox[" operation",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[" (in this case, addition), must be performed.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox["The arithmetic operators have standard calculator form (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["+",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["-",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier New"],
StyleBox["\", \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["*",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["/",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", and \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["^",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\") and have standard mathematical ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["precedence",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
", meaning for instance that multiplication and division are executed \
before addition and subtraction. Exponentiation has more precedence than \
multiplication and division, which have the same level of precedence, and \
these have more precedence than addition and subtraction, which have the same \
level of precedence. The expression \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["4*5^2+13",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" should execute \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["5^2",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" first, followed by \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["4*(5^2)",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", finally followed by adding the \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["13",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\".",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["4*5^2+13"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"Mathematica accepts some non-standard input forms for arithmetic. For \
instance, the ",
StyleBox["*",
FontFamily->"Courier"],
" may be omitted so that the multiplication is implied. Of course, you \
still need a space so that Mathematica realizes that you do not intend the \
number 45. Execute the following cells:"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["4 5^2+13"], "Input",
AspectRatioFixed->True],
Cell[BoxData[
\(4\ 5\^2 + 13\)], "Input"],
Cell[TextData[{
"Mathematica also allows variables, for which we can use a letter (\"",
StyleBox["x",
FontFamily->"Courier"],
"\") or a string of letters and numbers beginning with a letter (\"",
StyleBox["my3rdvariable",
FontFamily->"Courier"],
"\"). If you want to tell Mathematica to multiply a variable by a number, \
you don't need to use a space between them if the number comes first."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["3x + 5x"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"However, \"",
StyleBox["x3",
FontFamily->"Courier"],
"\" and \"",
StyleBox["x5",
FontFamily->"Courier"],
"\" are interpreted as two different variables (as if the 3 and 5 were \
subscripts) and so the two are not combined. While the cell above gives \"",
StyleBox["8x",
FontFamily->"Courier"],
"\" when executed, the cell below simply returns \"",
StyleBox["x3+x5",
FontFamily->"Courier"],
"\"."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["x3 + x5"], "Input",
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell["Boolean Operations", "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"Mathematica also has some functions which do not return a numeric value \
but instead return either true or false. Since \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" and \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["False",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\" are considered boolean values, these functions are called boolean (for \
\"boolean-valued\") functions, and you know many of them: less than, greater \
than, and so on. ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Relational operators",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[" compare two arithmetic expressions, and include equals (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["==",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["two",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
" equals signs being necessary to ask if two expressions are equal), \
non-equal (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["!=",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), greater (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox[">",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), less (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["<",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), greater-than-or-equal (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox[">=",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), and less-than-or-equal (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["<=",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"). ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Logical operators",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
", on the other hand, manipulate true and false values, determining for \
instance whether both values are \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\". Mathematica's set of logical operators includes \"and\" (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["&&",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), which returns \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" if and only if both values are \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\", and \"or\" (\"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["||",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\"), which returns \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" if either one or both values are \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\". Let's explore a few boolean operators:",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text"],
Cell[BoxData[{
\(3\ > \ 5\t\),
\(5\ > \ 5\),
\(5\ >= \ 5\),
\(5\ == \ 5\),
\(5\ != \ 5\),
\(\((\ 3\ > \ 6\ )\)\ || \ \((\ 4\ < \ 5\ )\)\)}], "Input"],
Cell["\<\
Note a few pitfalls: the equality test has two equals signs, and \
the exclamation point means \"not\". Note also that we may combine many \
operators into one expression, as in the following examples. \
\>", "Text"],
Cell[BoxData[
\(\((\ 2\ > \ 1\ )\)\ && \ \((\ 3\ > \ 4\ )\)\)], "Input"],
Cell[TextData[{
"In this case the parenthesized expressions evaluate to \"",
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\" and \"",
StyleBox["False",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\", respectively, and then the \"",
StyleBox["and",
FontFamily->"Courier"],
"\" operator returns a \"",
StyleBox["False",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\", since the boolean values were not both \"",
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\"."
}], "Text"],
Cell[BoxData[
\(\(\((\ 2\ > \ 1\ )\)\ || \ \((\ 3\ > \ 4\ )\)\n\)\)], "Input"],
Cell[TextData[{
"In this case the parenthesized expressions evaluate to \"",
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\" and \"",
StyleBox["False",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\", respectively, and then the \"or\" operator returns a \"",
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\", since at least one boolean value was \"",
StyleBox["True",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
"\".\nWhat if Mathematica can't decide if one value is less than another? \
In that case, it simply gives you your expression back (\"unevaluated\"). \
Try"
}], "Text"],
Cell[BoxData[{
\(Pi\ < \ 22/7\),
\(x\ < \ 22/7\)}], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Operator Precedence"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"We have already seen the precedence of arithmetic operations. How does \
Mathematica decide in which order to perform other operations? Mathematica \
has rules which determine the relative precedence of ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["all",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
" of its operators, meaning that it knows which should precede the others \
in evaluating pieces of an expression. ",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"For the operations we've seen, we explain the relative precedences. First, \
arithmetic operations have higher precedence than relational and logical \
operations. "], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["3 > 2 + 2"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"The expression above returns \"",
StyleBox["False",
FontFamily->"Courier"],
"\". Note that since \"",
StyleBox["+",
FontFamily->"Courier"],
"\" has higher precedence, the 2 and 2 were added together to get 4, and \
then the expression \"",
StyleBox["3>4",
FontFamily->"Courier"],
"\" was tested. "
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Then, within the category of boolean operations, relational operations have \
higher precedence than logical operations."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["5 > 4 && 1 > 2"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"Here, each of the \"greater-than\" expressions was evaluated first, so \
that the expression becomes\n\"",
StyleBox["True && False",
FontFamily->"Courier"],
"\"; then the \"and\" takes over, and returns a \"",
StyleBox["False",
FontFamily->"Courier"],
"\". "
}], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Exact vs. Approximate Values"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox["In Mathematica, there are two important sorts of values, ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["exact",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[" and ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["approximate",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
". Exact values usually take more space to store inside the computer, and \
calculations with exact values require more time to insure an exact answer. \
Approximate values usually take less space to store inside the computer, and \
calculations with approximations require less time, since an approximate \
answer is all that is required (or possible!). In these two sorts of values \
we see an initial tradeoff in programming: we may exchange computational \
time and storage space for precision. In some cases, however, we might \
rather have exact answers and pay the price of time and space.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"Exact values may either be (a) integers or fractions, in which case \
Mathematica keeps as many digits as necessary to express the value exactly, \
or (b) symbolic names for constants such as ",
StyleBox["E",
FontFamily->"Courier"],
", ",
StyleBox["Pi",
FontFamily->"Courier"],
", and ",
StyleBox["Sqrt[2]",
FontFamily->"Courier"],
", from which Mathematica knows how to find as many digits as necessary in \
any computation. Approximate values are most typically numeric expressions \
containing a decimal point. "
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"If an expression contains only exact values, Mathematica will never \
approximate it and will instead leave the expression in a simple exact \
form."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["2^100/6"], "Input",
AspectRatioFixed->True],
Cell[TextData[
"If an expression contains at least one approximate value, Mathematica will \
approximate at least a portion of the expression."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["2^100/6."], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"If we wish to convert an exact, or partially exact, expression to an \
approximate value, we use the function \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\". (Note again that functions in Mathematica typically have a name \
followed by brackets, not parentheses. Between the brackets we write the \
input values of the function, separated by commas, if there are two or more.) \
The output of \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\" is an approximate value, containing several digits in scientific \
notation. The value is actually converted internally to a representation \
with 16 significant decimal digits."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["2^100/(6. Pi)"], "Input",
AspectRatioFixed->True],
Cell[TextData["N[2^100/(6. Pi)]"], "Input",
AspectRatioFixed->True],
Cell[TextData[
"It is very important to realize the distinction between the approximation \
and the exact value. Approximations, once used in an expression, force the \
expression to be approximated, so that it will then be precise only to a \
certain number of significant digits. Once an approximation is presented \
(or computed) with some number of significant digits, no further significant \
digits can be coaxed from that resulting expression. Only exact expressions \
retain their validity throughout any calculation. "], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"We can illustrate the difference between exact and approximate values by \
using the \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\" function. Remember, the \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\" function takes a value and tries to find an approximation with some \
desired number of digits (16 digits if only one expression is between the \
brackets after ",
StyleBox["N",
FontFamily->"Courier"],
", or, if there are two expressions separated by a comma between the \
brackets, then the number of digits specified by the second expression). \
The \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\" function should work best if the expression is exact, since we can find \
as many significant digits as we like, but a problem may occur if we ask \"",
StyleBox["N[]",
FontFamily->"Courier"],
"\" to extract more digits from an approximation which only has a certain \
number of significant digits."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"Let's take a look at two cases. First, we'll ask for the value of \"",
StyleBox["2^100/(6*Pi)",
FontFamily->"Courier"],
"\" to 50 significant digits."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["N[2^100/(6 Pi),50]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
StyleBox["This answer is exactly what we wanted, the value of \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["2^100/(6*Pi)",
FontFamily->"Courier"],
StyleBox[
"\" approximated to 50 significant digits. Now we will ask for 16 digits \
of \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["2^100/(6*Pi)",
FontFamily->"Courier"],
StyleBox["\", and then ask Mathematica to find 50 significant digits of ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["that",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[" number.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["N[N[2^100/(6 Pi),16],50]"], "Input",
AspectRatioFixed->True],
Cell[TextData["We can't draw water from a stone."], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Before Proceeding: Cell Grouping and Cell Styles"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
You will notice that certain cells below are multiply bracketed on \
the right side, and that some cell brackets have a peculiar arrow at the \
bottom. Consecutive cells in Mathematica can be grouped together, and they \
can be \"closed\" and \"opened\", operations which, if nothing else, make a \
Mathematica notebook neater and more organized. If you double-click on a \
rightmost bracket which does not have a lower arrow, you will open the group \
of cells bounded by that bracket, and if you double-click on a bracket \
without an arrow (and which bounds several cells inside), then you will close \
the group. Try it out on this first group, headed by the section title \
\"Exact vs. Approximate Values\". What you should notice is that the topmost \
cell stays around while the other ones close up. The cells below are closed, \
and you will need to open them up to read them!\
\>", "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["\<\
Each cell has a style, and you have seen several already. Text \
cells have the double bar on the top of their bracket, and input cells are in \
bold Courier font. There are many kinds of cell styles, including \
\"Section\" (the type of the \"Exact vs. Approximate Values\" cell above), \
\"Output\" (the usually red cells Mathematica returns to you after you \
evaluate a cell), as well as others like \"Title\", \"Subtitle\", and so on. \
To find out which style a cell has, make sure your ruler is showing at the \
top of the screen (you can toggle it on and off under the Format menu), \
select a cell, and investigate its style at the left of the ruler.\
\>",
"Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Data Types"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[CellGroupData[{
Cell[TextData["Data Types of Arithmetic Expressions"], "Subsection",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"While the notions of exact and numeric values are most important in using \
Mathematica to calculate expressions, what is more important for programming \
purposes is to understand a finer distinction. Mathematica, like many \
computer languages, has many ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["data types",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[", the most basic of which are ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Integer",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[", ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Rational",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier New"],
StyleBox[", and ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Real",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
". Any Mathematica expression must have some data type, as we will see \
below, and, further, any arithmetic value must have one of the three types ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Integer",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[", ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Rational",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier New"],
StyleBox[", or ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Real",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
". To find out the type, simply put the value into the function \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Head[]",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\".",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Head[5]"], "Input",
AspectRatioFixed->True],
Cell[TextData["Head[7/3]"], "Input",
AspectRatioFixed->True],
Cell[TextData["Head[0.78]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"Mathematica uses different data types for different sorts of values. For \
integers and fractions which should remain exact, Mathematica uses the data \
types ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Integer",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[" and ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Rational",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[". These data types are ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["arbitrary-precision",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
", meaning that Mathematica will keep as many digits of the integer or \
numerator and denominator as necessary to represent the value exactly. There \
will be no decimal points in arbitrary-precision values. On the other hand, \
the ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Real",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[" data type, sometimes termed ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["floating-point",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
", is indicated for the value by the presence of a decimal point, and \
Mathematica does not insist on keeping an exact representation of the value. \
For instance, \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["1.5 * 10^100",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" is a ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Real",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
" value, since it contains a decimal point, and Mathematica will treat it \
as an approximate value. This distinction between exact and approximate \
value, as we've seen above, is important, since any expression containing at \
least one approximate value is in essence only a approximation and cannot \
ever be converted to an exact value.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Data Types of General Expressions"], "Subsection",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"In fact, Mathematica's internal representation of expressions gives ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["every",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
" piece of an expression a data type. In Mathematica, this type is called \
a \"head\", and we can use the function \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["Head[]",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\" to determine the head of any expression. For complicated expressions, \
the head typically describes the outermost operation in the expression.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Head[2+Sin[x]]"], "Input",
AspectRatioFixed->True],
Cell[TextData["Head[Sin[x+7]]"], "Input",
AspectRatioFixed->True],
Cell[TextData["Head[3 * (Tan[2] + 2)]"], "Input",
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Data Types and Functions"], "Subsection",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"When we study a function, an important piece of information to know is the \
data type(s) of the input value(s) and the data type of the output value. \
Some functions take in a different data type from the one which they return. \
One example is the function \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["N[]",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\" discussed above; the function always returns a value of type Real, \
while you might put in a value of type Integer or Rational. The function \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["N[]",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox["\" is an example of a ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["conversion function",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
", which is a function that converts a value from one type to another.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Standard Scientific Functions"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"By now it should be apparent that all functions supplied by Mathematica \
use FirstLetterCap case and square brackets ",
StyleBox["[]",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
". What we usually write as \"sin(x)\", then, will now be \"",
StyleBox["Sin[x]",
FontFamily->"Courier"],
"\". Some standard functions are \"",
StyleBox["Sqrt[]",
FontFamily->"Courier"],
"\", \"",
StyleBox["Exp[]",
FontFamily->"Courier"],
"\" (or \"",
StyleBox["E^()",
FontFamily->"Courier"],
"\"), \"",
StyleBox["Log[]",
FontFamily->"Courier"],
"\" (for the natural logarithm ln), \"",
StyleBox["Log[b, ]",
FontFamily->"Courier"],
"\" (for logarithm to the base b), \"",
StyleBox["Sin[]",
FontFamily->"Courier"],
"\", \"",
StyleBox["Cos[]",
FontFamily->"Courier"],
"\", \"",
StyleBox["Tan[]",
FontFamily->"Courier"],
"\", \"",
StyleBox["ArcSin[]",
FontFamily->"Courier"],
"\", \"",
StyleBox["ArcCos[]",
FontFamily->"Courier"],
"\", and \"",
StyleBox["ArcTan[]",
FontFamily->"Courier"],
"\"."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Exp[-2] Sin[3 Pi/4]"], "Input",
AspectRatioFixed->True],
Cell[TextData["N[Exp[-2] Sin[3 Pi/4]]"], "Input",
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Plotting"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Mathematica does a very good job of plotting many functions. We introduce \
plotting in this section and in the next cover some of the details."], "Text",\
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"The following cell asks Mathematica to plot the function x^2 on the \
interval [0,1], with the syntax as follows. The first expression between the \
brackets (called the first ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["argument",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[") is the function. The second expression, or argument, is a ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["list",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
" (several items which are inside curly braces and are separated by \
commas). The first element of this list is the variable which will be varied \
along the horizontal axis; the second element is the starting value of this \
value for the plot; and the last element is the ending value.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Plot[x^2,{x,0,1}]"], "Input",
AspectRatioFixed->True],
Cell[TextData[
"Let's plot several functions, using the fact that braces can indicate \
several functions or data that all fall in a certain position in the argument \
list. The following cell plots the functions x^2 and x together on the \
interval [0,3]."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell["Plot[{x^2,x},{x,0,3}]", "Input",
AspectRatioFixed->True],
Cell[TextData[{
StyleBox["This shows that for x's between zero and one, ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["x^2",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox[" is smaller than x. A few more examples, with some extra ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["options",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[", which we consider in the next section, follow.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Plot[Exp[-Sqrt[x]] Sin[2^x], {x,0,2Pi}, PlotRange->All]"], "Input",
AspectRatioFixed->True],
Cell[TextData[
"Plot[Exp[-Sqrt[x]] Sin[2^x], {x,0,2Pi}, PlotRange->All, PlotDivision->100]"],
"Input",
AspectRatioFixed->True]
}, Open ]],
Cell[CellGroupData[{
Cell[TextData["Plot Options"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["In this section we present some of the plot options."], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Plot[Exp[-Sqrt[x]] Sin[2^x], {x,0,2Pi}]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
StyleBox[
"The graph above is acceptable, but we can make it more to our liking using \
plot ",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["options",
Evaluatable->False,
AspectRatioFixed->True,
FontSlant->"Italic"],
StyleBox[
". There are, in fact, a myriad of options, and while you are not expected \
to know them all, you will be expected to be able to use a reference or the \
Mathematica help function \"",
Evaluatable->False,
AspectRatioFixed->True],
StyleBox["?",
Evaluatable->False,
AspectRatioFixed->True,
FontFamily->"Courier"],
StyleBox[
"\" to learn more about them. Let's experiment with some options.",
Evaluatable->False,
AspectRatioFixed->True]
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"The plot above does not show the beginning of the graph. To see it all, \
we add an option, \"",
StyleBox["PlotRange->All",
FontFamily->"Courier"],
"\", indicating that we want the vertical axis to extend far enough to \
include all of the \"y-values\" of the plotted points:"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Plot[Exp[-Sqrt[x]] Sin[2^x], {x,0,2Pi}, PlotRange->All]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"The plot looks jagged, however, around x=5.8, and we suspect that the \
reason is that Mathematica is connecting too few dots in the graph. We add \
another option, \"",
StyleBox["PlotDivision->100",
FontFamily->"Courier"],
"\", to insist that Mathematica use 100 x-values to plot before connecting \
them with lines or curves."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Plot[Exp[-Sqrt[x]] Sin[2^x], {x,0,2Pi}, \n PlotRange->All, \
PlotDivision->100\n]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"Whenever you are curious about a Mathematica command, preceding it by \"",
StyleBox["?",
FontFamily->"Courier"],
"\" and executing that command will instruct Mathematica to provide some \
information. Try executing the following. (You can also pull-down the menu \
\"Help\" and search.)"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["?PlotDivision"], "Input",
AspectRatioFixed->True],
Cell[TextData["?PlotRange"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"The two options we have considered above pertain to the size of the graph \
and the number of points actually plotted. Other options pertain to the \
\"style\" of the curves drawn. Sometimes such options are very helpful, as \
for instance in the following plot of two functions, in which it is hard to \
distinguish between the two functions \"",
StyleBox["x^E",
FontFamily->"Courier"],
"\" and \"",
StyleBox["E^x",
FontFamily->"Courier"],
"\"."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Plot[{x^E, E^x}, {x,0,4}]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"We can distinguish different curves by dashing, color, or thickness, using \
the option \"",
StyleBox["PlotStyle",
FontFamily->"Courier"],
"\". To use the option, place a list of (at least) two lists after the \
arrow (\"",
StyleBox["->",
FontFamily->"Courier"],
"\") following \"",
StyleBox["PlotStyle",
FontFamily->"Courier"],
"\", as follows. The first list should contain features we wish to apply \
to the first function, and the second list should contain features which we \
wish to apply to the second function, and so forth. "
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"Plot[{x^E, E^x}, {x,0,4},\n PlotStyle->{\n {Dashing[{.03}]},\n {}\n \
}\n]"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"We can add color to a plot, though we must remember that printouts may not \
contain the colors that appear on the screen. Before trying to use colors, \
execute the following \"",
StyleBox["Needs",
FontFamily->"Courier"],
"\" command. This loads in a \"package\" which allows us to use the names \
of particular colors instead of being forced to specify them using the more \
cryptic \"",
StyleBox["RGBColor",
FontFamily->"Courier"],
"\" command. "
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Needs[\"Graphics`Colors`\"];"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"Study the following cell, which also contains an option to frame the plot, \
to see how to add colors in the context of a \"",
StyleBox["PlotStyle",
FontFamily->"Courier"],
"\" option."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[
"\nPlot[{x^E,E^x},{x,0,4},\n PlotStyle->{\n {Red, Dashing[{.02}]},\n \
{Blue}\n },\n Frame->True\n]"], "Input",
AspectRatioFixed->True],
Cell[TextData[
"(Note that if you want a bigger graph, you may click inside the graph, grab \
a corner, and drag it to the desired size.)"], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"Many students find interesting the complete list of all of colors for \
which Mathematica knows names. If the \"",
StyleBox["Needs[ ]",
FontFamily->"Courier"],
"\" command above has been executed, we need only evaluate the command \"",
StyleBox["AllColors",
FontFamily->"Courier"],
"\":"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["AllColors"], "Input",
AspectRatioFixed->True],
Cell[TextData[{
"To suggest other ways in which Mathematica may alter the final form of a \
plot, let's look at one more overwhelming list, namely all of the default \
options for the \"",
StyleBox["Plot[ ]",
FontFamily->"Courier"],
"\" function."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData["Options[Plot]"], "Input",
AspectRatioFixed->True]
}, Open ]],
Cell[TextData[{
"You can explore the ",
StyleBox["Plot",
FontFamily->"Courier"],
" command more fully by accessing the Help facility (in the menu at the top \
of the screen). Try it!"
}], "Text",
Evaluatable->False,
AspectRatioFixed->True],
Cell[CellGroupData[{
Cell[TextData["Exercise"], "Section",
Evaluatable->False,
AspectRatioFixed->True],
Cell[TextData[{
"See the file \"",
StyleBox["Hw01.nb",
FontFamily->"Courier"],
"\". Answer the questions there and hand your results in at the next \
class."
}], "Text",
Evaluatable->False,
AspectRatioFixed->True]
}, Open ]]
},
FrontEndVersion->"Macintosh 3.0",
ScreenRectangle->{{0, 832}, {0, 604}},
WindowToolbars->"EditBar",
CellGrouping->Manual,
WindowSize->{520, 509},
WindowMargins->{{12, Automatic}, {Automatic, 16}},
PrintingCopies->1,
PrintingPageRange->{3, 4},
PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
ShowCellLabel->True,
ShowCellTags->False,
RenderingOptions->{"ObjectDithering"->True,
"RasterDithering"->False},
Magnification->1,
MacintoshSystemPageSetup->"\<\
00<0004/0B`000003809T?o>old"
]
(***********************************************************************
Cached data follows. If you edit this Notebook file directly, not using
Mathematica, you must remove the line containing CacheID at the top of
the file. The cache data will then be recreated when you save this file
from within Mathematica.
***********************************************************************)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[1709, 49, 112, 2, 136, "Title",
Evaluatable->False],
Cell[1824, 53, 294, 5, 40, "SmallText",
Evaluatable->False],
Cell[2121, 60, 134, 3, 174, "Title",
Evaluatable->False],
Cell[2258, 65, 137, 3, 174, "Title",
Evaluatable->False],
Cell[2398, 70, 99, 2, 26, "SmallText",
Evaluatable->False],
Cell[2500, 74, 224, 5, 46, "Text",
Evaluatable->False],
Cell[CellGroupData[{
Cell[2749, 83, 103, 2, 50, "Section",
Evaluatable->False],
Cell[2855, 87, 179, 6, 46, "Text",
Evaluatable->False],
Cell[3037, 95, 685, 19, 80, "Text",
Evaluatable->False],
Cell[CellGroupData[{
Cell[3747, 118, 124, 2, 46, "Subsection",
Evaluatable->False],
Cell[3874, 122, 519, 8, 94, "Text",
Evaluatable->False],
Cell[4396, 132, 653, 11, 110, "Text",
Evaluatable->False],
Cell[5052, 145, 825, 15, 143, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[5914, 165, 111, 2, 46, "Subsection",
Evaluatable->False],
Cell[6028, 169, 594, 10, 110, "Text",
Evaluatable->False],
Cell[6625, 181, 216, 6, 46, "Text",
Evaluatable->False]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[6890, 193, 97, 2, 50, "Section",
Evaluatable->False],
Cell[6990, 197, 1238, 32, 146, "Text",
Evaluatable->False],
Cell[8231, 231, 400, 8, 78, "Text",
Evaluatable->False],
Cell[8634, 241, 148, 4, 30, "Text",
Evaluatable->False],
Cell[8785, 247, 83, 2, 27, "Input"],
Cell[8871, 251, 498, 8, 94, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[9406, 264, 99, 2, 50, "Section",
Evaluatable->False],
Cell[9508, 268, 931, 30, 66, "Text",
Evaluatable->False],
Cell[10442, 300, 2360, 81, 131, "Text",
Evaluatable->False],
Cell[12805, 383, 61, 1, 27, "Input"],
Cell[12869, 386, 407, 10, 63, "Text",
Evaluatable->False],
Cell[13279, 398, 61, 1, 27, "Input"],
Cell[13343, 401, 45, 1, 29, "Input"],
Cell[13391, 404, 471, 11, 80, "Text",
Evaluatable->False],
Cell[13865, 417, 60, 1, 27, "Input"],
Cell[13928, 420, 507, 17, 65, "Text",
Evaluatable->False],
Cell[14438, 439, 60, 1, 27, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[14535, 445, 85, 2, 50, "Section",
Evaluatable->False],
Cell[14623, 449, 4020, 140, 186, "Text"],
Cell[18646, 591, 186, 6, 107, "Input"],
Cell[18835, 599, 229, 4, 62, "Text"],
Cell[19067, 605, 79, 1, 27, "Input"],
Cell[19149, 608, 677, 25, 48, "Text"],
Cell[19829, 635, 85, 1, 43, "Input"],
Cell[19917, 638, 777, 24, 80, "Text"],
Cell[20697, 664, 71, 2, 43, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[20805, 671, 96, 2, 50, "Section",
Evaluatable->False],
Cell[20904, 675, 631, 18, 80, "Text",
Evaluatable->False],
Cell[21538, 695, 241, 5, 46, "Text",
Evaluatable->False],
Cell[21782, 702, 62, 1, 27, "Input"],
Cell[21847, 705, 401, 14, 48, "Text",
Evaluatable->False],
Cell[22251, 721, 195, 4, 46, "Text",
Evaluatable->False],
Cell[22449, 727, 67, 1, 27, "Input"],
Cell[22519, 730, 353, 11, 47, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[22909, 746, 105, 2, 50, "Section",
Evaluatable->False],
Cell[23017, 750, 1144, 28, 128, "Text",
Evaluatable->False],
Cell[24164, 780, 620, 17, 96, "Text",
Evaluatable->False],
Cell[24787, 799, 223, 5, 46, "Text",
Evaluatable->False],
Cell[25013, 806, 60, 1, 27, "Input"],
Cell[25076, 809, 201, 4, 46, "Text",
Evaluatable->False],
Cell[25280, 815, 61, 1, 27, "Input"],
Cell[25344, 818, 720, 16, 112, "Text",
Evaluatable->False],
Cell[26067, 836, 66, 1, 27, "Input"],
Cell[26136, 839, 69, 1, 27, "Input"],
Cell[26208, 842, 589, 9, 110, "Text",
Evaluatable->False],
Cell[26800, 853, 1028, 26, 147, "Text",
Evaluatable->False],
Cell[27831, 881, 238, 7, 47, "Text",
Evaluatable->False],
Cell[28072, 890, 71, 1, 27, "Input"],
Cell[28146, 893, 760, 25, 66, "Text",
Evaluatable->False],
Cell[28909, 920, 77, 1, 27, "Input"],
Cell[28989, 923, 107, 2, 30, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[29133, 930, 126, 2, 50, "Section",
Evaluatable->False],
Cell[29262, 934, 961, 15, 158, "Text",
Evaluatable->False],
Cell[30226, 951, 737, 13, 126, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[31000, 969, 87, 2, 50, "Section",
Evaluatable->False],
Cell[CellGroupData[{
Cell[31112, 975, 116, 2, 46, "Subsection",
Evaluatable->False],
Cell[31231, 979, 2033, 69, 131, "Text",
Evaluatable->False],
Cell[33267, 1050, 60, 1, 27, "Input"],
Cell[33330, 1053, 62, 1, 27, "Input"],
Cell[33395, 1056, 63, 1, 27, "Input"],
Cell[33461, 1059, 2327, 70, 197, "Text",
Evaluatable->False]
}, Open ]],
Cell[CellGroupData[{
Cell[35825, 1134, 113, 2, 46, "Subsection",
Evaluatable->False],
Cell[35941, 1138, 818, 25, 82, "Text",
Evaluatable->False],
Cell[36762, 1165, 67, 1, 27, "Input"],
Cell[36832, 1168, 67, 1, 27, "Input"],
Cell[36902, 1171, 75, 1, 27, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[37014, 1177, 104, 2, 46, "Subsection",
Evaluatable->False],
Cell[37121, 1181, 1171, 35, 113, "Text",
Evaluatable->False]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[38341, 1222, 106, 2, 50, "Section",
Evaluatable->False],
Cell[38450, 1226, 1189, 46, 98, "Text",
Evaluatable->False],
Cell[39642, 1274, 72, 1, 27, "Input"],
Cell[39717, 1277, 75, 1, 27, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[39829, 1283, 85, 2, 50, "Section",
Evaluatable->False],
Cell[39917, 1287, 221, 5, 46, "Text",
Evaluatable->False],
Cell[40141, 1294, 1009, 27, 114, "Text",
Evaluatable->False],
Cell[41153, 1323, 70, 1, 27, "Input"],
Cell[41226, 1326, 316, 6, 62, "Text",
Evaluatable->False],
Cell[41545, 1334, 64, 1, 27, "Input"],
Cell[41612, 1337, 601, 19, 48, "Text",
Evaluatable->False],
Cell[42216, 1358, 109, 2, 42, "Input"],
Cell[42328, 1362, 131, 3, 42, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[42496, 1370, 89, 2, 50, "Section",
Evaluatable->False],
Cell[42588, 1374, 126, 2, 30, "Text",
Evaluatable->False],
Cell[42717, 1378, 92, 1, 27, "Input"],
Cell[42812, 1381, 813, 26, 81, "Text",
Evaluatable->False],
Cell[43628, 1409, 364, 9, 63, "Text",
Evaluatable->False],
Cell[43995, 1420, 109, 2, 42, "Input"],
Cell[44107, 1424, 416, 10, 79, "Text",
Evaluatable->False],
Cell[44526, 1436, 137, 3, 57, "Input"],
Cell[44666, 1441, 376, 9, 63, "Text",
Evaluatable->False],
Cell[45045, 1452, 66, 1, 27, "Input"],
Cell[45114, 1455, 63, 1, 27, "Input"],
Cell[45180, 1458, 543, 14, 79, "Text",
Evaluatable->False],
Cell[45726, 1474, 78, 1, 27, "Input"],
Cell[45807, 1477, 641, 17, 96, "Text",
Evaluatable->False],
Cell[46451, 1496, 136, 3, 102, "Input"],
Cell[46590, 1501, 548, 14, 80, "Text",
Evaluatable->False],
Cell[47141, 1517, 81, 1, 27, "Input"],
Cell[47225, 1520, 272, 8, 47, "Text",
Evaluatable->False],
Cell[47500, 1530, 159, 3, 132, "Input"],
Cell[47662, 1535, 196, 4, 46, "Text",
Evaluatable->False],
Cell[47861, 1541, 383, 11, 64, "Text",
Evaluatable->False],
Cell[48247, 1554, 62, 1, 27, "Input"],
Cell[48312, 1557, 318, 9, 47, "Text",
Evaluatable->False],
Cell[48633, 1568, 66, 1, 27, "Input"]
}, Open ]],
Cell[48714, 1572, 254, 8, 47, "Text",
Evaluatable->False],
Cell[CellGroupData[{
Cell[48993, 1584, 85, 2, 50, "Section",
Evaluatable->False],
Cell[49081, 1588, 228, 8, 31, "Text",
Evaluatable->False]
}, Open ]]
}
]
*)
(***********************************************************************
End of Mathematica Notebook file.
***********************************************************************)