(************** Content-type: application/mathematica **************
CreatedBy='Mathematica 5.0'
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[ 34832, 1127]*)
(*NotebookOutlinePosition[ 35801, 1162]*)
(* CellTagsIndexPosition[ 35695, 1155]*)
(*WindowFrame->Normal*)
Notebook[{
Cell[CellGroupData[{
Cell["PtolemyChordTable.m", "Title"],
Cell[TextData[{
"Functions for the",
StyleBox[" Almagest",
FontSlant->"Italic"],
" I 11\nby Nathan Sidoli"
}], "Subtitle"],
Cell[CellGroupData[{
Cell["\<\
This package calls in a number of functions which facilitate \
working with Ptolemy's trigonometry. It was written for the student of \
Ptolemy's astronomy.\
\>", "Section 1"],
Cell[CellGroupData[{
Cell["Introduction", "Subsection"],
Cell[TextData[{
"The main benefit of PtolemyChordTable.m is that it saves one the tedium of \
repeatedly referring to the chord table while working through Ptolemy's \
calculations. Most of the functions are trivial from a mathematical \
perspective. They are all based on, and make use of, the chord table itself. \
Thus, the most important component of this package is the chord table found \
in ",
StyleBox["Almagest",
FontSlant->"Italic"],
" I 11. The chord table has 3 columns of rational numbers in 365 rows. The \
first column contains angles from .5 to 180 in steps of .5. The second column \
contains the chords that correspond to these angles in sexagesimal fractions, \
under the assumption that Chord(180) = 120. The third column contains the \
modifiers to the chords in the second column for each additional sixtieth of \
degree between the actual angle and the angle that we use to determine the \
chord (the greatest entry in column 1 which <= actual angle). See Pedersen \
[1974, 63 - 5] for a formal description.\n\nI have used the chord table in \
Toomer [1984, 57 - 60] which is the most accurate in print. There may, \
however, still be some errors in the table as it stands. I have included some \
functions for checking suspect entries \
(ChordTableElement(Inverse)[angle(chord)]). If an error is found please \
contact the ",
ButtonBox["author.",
ButtonData:>"Author",
ButtonStyle->"Hyperlink"]
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Ptolemy's Trigonometry", "Subsection"],
Cell[TextData[{
"For the purpose of trigonometric mensuration, Ptolemy employs a single \
function: the chord. This strategy goes back at least as far as his \
predecessor Hipparchus, who is reported to have composed a work on chords \
which was probably somewhat simpler than what we find in ",
StyleBox["Almagest",
FontSlant->"Italic"],
" I 11. I will not here go into the details of Ptolemy's trigonometry. This \
subject has been treated quite well by both Neugebauer [1975, 21 - 25] and \
Pederson [1974, 65 - 69]\n\nPtolemy derives his chord table from the \
properties of regular polygons and the application of areas, under the \
assumption that the diameter of the circle in which the chords are situated \
is 120. All of the propositions that he uses can be found in Euclid's ",
StyleBox["Elements",
FontSlant->"Italic"],
" (II, IV, VI, & XIII), and his reasoning is very clearly layed out in ",
StyleBox["Almagest",
FontSlant->"Italic"],
" I 10, Toomer [1984, 47 - 56].\n\t\nPtolemy is not explicit about how the \
chord table is to be used, but it is easy enough to infer the proceedure \
based on the form of the table and the examples we have in the text."
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["The Package", "Subsection"],
Cell[TextData[{
"With no further ado, we call in PtolemyChordTable.m. (Note that, in order \
for PtolemyChordTable.m to be loaded by the following command, the file \
PtolemyChordTable.m should be placed in the AddOns/Applications subdirectory \
of the main ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" directory. Alternatively, the directory where PtolemyChordTable.m is \
located should be added to the $Path variable using ",
StyleBox["AppendTo[$Path, \"DirectoryPath\"\:f3b5]", "InlineInput"],
".)"
}], "Text"],
Cell[BoxData[
\(Needs["\"]\)], "Input"],
Cell["\<\
The basic function in PtolemyChordTable.m is \
ChordTable[angle].\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?ChordTable\)\)], "Input"],
Cell[BoxData[
\("ChordTable[angle] takes an angle at the center of a circle as argument \
and returns the length of the chord under the assumption that the diameter of \
the circle is 120. NB: The angle is taken modulo 180 (Mod[angle, 180]) so a \
value will always be returned, however, if the argument > 180 this may be \
meaningless."\)], "Print"]
}, Open ]],
Cell["\<\
This is done by scanning the chord table for the greatest \
half-angle that is <= the argument. The chord which corresponds to this \
half-angle is used as the basis for the returned value. This basis-chord is \
augmented as the actual angle is greater than the half-angle found in the \
chord table by intervals of 1/60th. In order to find the augmentation number, \
I have elected to simply round the number of 1/60ths between the actual angle \
and the nearest table entry which is <= the actual angle. The total \
augmentation to the basis-chord is the augmentation number * column 3. Thus \
if the angle in question is 35;37,37, the line in the chord table that will \
interest us is found by \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(ChordTableElement[35 + 37/60 + 37/60^2]\)], "Input"],
Cell[BoxData[
\({{35.4999999999999982`}, {36, 35, 1}, {0, 0, 59, 48}}\)], "Output"]
}, Open ]],
Cell["\<\
The basis-chord will be 36;35,1 and the augmentation number will be \
(35;37;37 - 35;30) * 60 = 7.6166... which rounds to 8. So we add 8 * \
0;0;59,48 = 0.132889 to our basis-chord. This gives 36.5836 + 0.132889 = \
36.7165. All of this is simplified in the above mentioned function:\
\>", \
"Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(ChordTable[35 + 37/60 + 37/60^2]\)], "Input"],
Cell[BoxData[
\(36.7165000000000052`\)], "Output"]
}, Open ]],
Cell["\<\
In order to view the result in a manner that would have pleased \
Ptolemy, we have the following function:\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(PtolemyForm[%]\)], "Input"],
Cell[BoxData[
\({36, 42, 59, 24, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
PtolemyForm[x] returns integers followed by six sexagesimal places. \
For Ptolemy's practice of \"casting out by circles\" we have a function which \
\"neglects whole circles\" in its integer part. \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(PtolemyFormMod360[736 + 34/60 + 15/60^2]\)], "Input"],
Cell[BoxData[
\({16, 34, 15, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
This function gives the integer part modulo 360, but leaves the \
sexagesimal fractions unaffected.\
\>", "Text"],
Cell[CellGroupData[{
Cell["Right Triangles", "Subsubsection"],
Cell[TextData[{
"To determine the side of a right triangle, where an angle is known and the \
hypotenuse is assumed to be 120, Ptolemy makes use of the fact that on a \
given chord the angle at the center of the circle is double an angle on the \
circumference (",
StyleBox["Elements",
FontSlant->"Italic"],
" III 20). This is really just a modification of ChordTable[angle].\n\nThus \
if 23.465672 is an angle in a right triangle, then its chord, where the \
hypotenuse is 120, is given by"
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(RightTriangleSide[23.465672]\)], "Input"],
Cell[BoxData[
\(47.7857685185185143`\)], "Output"]
}, Open ]],
Cell["We use the inverse function to find an angle given a side.", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(RightTriangleAngle[%]\)], "Input"],
Cell[BoxData[
\(23.4666666666666667`\)], "Output"]
}, Open ]],
Cell["\<\
Notice that these functions are not true inverses. This is due to \
the necessity of rounding and the use of augmentation by steps of \
1/60ths.\
\>", "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["General Triangles", "Subsubsection"],
Cell[TextData[{
"Ptolemy has two procedures for working with general triangles that roughly \
correspond to applications of the cosine rule and sine rules; he uses these \
infrequently and rarely respectively. I have followed Ptolemy very exactly in \
writing these functions and the curious reader can consult the ",
StyleBox["Almagest",
FontSlant->"Italic"],
" and PtolemyChordTable.m for the details. In what follows, I have in each \
case included the relevant trigonometric rule. Ptolemy, of course, makes no \
use of the trigonometric functions to achieve the same end."
}], "Text"],
Cell["\<\
Cosine Rule (a): (side3)^2 = (side1)^2 + (side2)^2 - \
2(side1)(side2) (Cos[angle3]) \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?PtolemyCosRuleSide\)\)], "Input"],
Cell[BoxData[
\("PtolemyCosRuleSide[angle3, side1, side2] takes angle3 and the two \
adjacent sides of a triangle as arguments and returns the other side, side3."\
\)], "Print"]
}, Open ]],
Cell["\<\
.Cosine Rule (b): (Cos[angle3]) = [(side1)^2 + (side2)^2 - \
(side3)^2] / 2(side1)(side2) \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?PtolemyCosRuleAngle\)\)], "Input"],
Cell[BoxData[
\("PtolemyCosRuleSide[side1, side2, side3] takes three sides of a \
triangle as arguments and returns the angle between the first two sides, \
angle3."\)], "Print"]
}, Open ]],
Cell["Sine Rule: (side1) / Sin[angle1] = (side2) / Sin[angle2]", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?PtolemySinRule\)\)], "Input"],
Cell[BoxData[
\("PtolemySinRule[side1, angle1, angle2] takes two angles and one of the \
opposite sides as arguments and returns the other opposite side, side2."\)], \
"Print"]
}, Open ]]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["An Example", "Subsection"],
Cell[TextData[{
"In order to show the usefulness of PtolemyChordTable.m for the purpose of \
reading the ",
StyleBox["Almagest",
FontSlant->"Italic"],
" we will work through the first calculation used to determine the ratio of \
the epicycle to the deferent for the first, simple anomaly of the moon, ",
StyleBox["Almagest",
FontSlant->"Italic"],
" IV 6. A modern reading of this procedure can be found in Neugebauer \
[1975, 74 - 77], but these calculations will best be followed by referring to \
Ptolemy's own methods, Toomer [1984, 191 - 198].\n\nThe determination of the \
lunar epicycle is based on three \"ancient\" eclipse observations taken in \
Babylon. These are as follows:\n \n I \t-720 March 19/20, \"an hour after \
moonrise,\" in Virgo 24.5 degrees\n II\t-719 March 8/9, \"exactly at \
midnight,\" in Virgo 13.75 degrees\n III\t-719 September, 1/2. \"after \
moonrise,\" in Pisces 3.24 degrees\n \n From these we can determine the time \
intervals between two different sets of eclipses, namely I to II and II to \
III. The interval between the first and the second is"
}], "Text"],
Cell[BoxData[
\(\(t1\ \ = \ 354 + \((2 + 17/30)\)/24;\)\)], "Input"],
Cell["\<\
\"reckoned in mean solar days.\" And the interval between the \
second and the third, in the same units, is\
\>", "Text"],
Cell[BoxData[
\(\(t2\ = \ 176 + \((20 + 1/5)\)/24;\)\)], "Input"],
Cell[TextData[{
"Ptolemy has, at this point in his argument, already derived a mean motion \
table for the moon's motion in both longitude and anomaly, ",
StyleBox["Almagest",
FontSlant->"Italic"],
" IV 4, and he, in essence, takes figures from this table to find the \
change in longitude and anomaly over the two given time intervals: "
}], "Text"],
Cell[BoxData[{
\(\(deltameanlongitude1 = \ 345 + 51/60;\)\), "\n",
\(\(deltaanomaly1\ = \ 306 + 25/60;\)\), "\n",
\(\(deltameanlongitude2\ = \ 170 + 7/60;\)\), "\n",
\(\(deltaanomaly2 = \ 150 + 26/60;\)\)}], "Input"],
Cell["\<\
These figures allow us to imagine all of these eclipses as \
occurring on a single position of the moon's epicycle (or eccentric). This is \
done by allowing the arc which corresponds to change in anomaly over the \
first interval to specify an arbitrary starting point for angular \
measurements and setting the other intervals relative to this. The positions \
of the eclipses on the imaginary epicycle (or eccentric) are then A, B, and \
C.\
\>", "Text"],
Cell[BoxData[{
\(\(arcBA = 360 - deltaanomaly1;\)\), "\n",
\(\(arcBG = deltaanomaly2;\)\), "\n",
\(\(arcAG = deltaanomaly2 - arcBA;\)\)}], "Input"],
Cell[TextData[{
"In order to determine the apparent positions of the eclipses on the \
imaginary epicycle (or eccentric) it will be sufficient to find the \
difference between the angular span between the true zodiacal appearances of \
two eclipses and the changes in mean longitude that have occurred between the \
two observations.\n\nThe angular span is found by considering the Zodiac \
itself.\n\nI to II is Virgo 24.5 to Virgo 13.75, or 349.25 degrees.\nII to \
III is Virgo 13.75 to Pisces 3.25. or 169.5 degrees.\n\nPtolemy provides two \
different figures for the epicyclic and eccentric hypotheses (fig. 4.4 & fig. \
4.5, pp. 193 - 194) and he will have us understand that his reasoning can \
readily be transferred between the two, however, he only carries out \
calculations for the epicyclic hypothesis. The apparent positions of the \
eclipses on the imaginary epicycle (or eccentric) marks the first difference \
between the two hypotheses, because in the case of the epicyclic hypothesis \
the earth is outside the circle upon which the moon travels while in the case \
of the eccentric hypothesis it is inside of it.\n\nAt this point it becomes \
necessary for the persevering readers to avail themselves of the figures for \
",
StyleBox["Almagest",
FontSlant->"Italic"],
" IV 6. "
}], "Text"],
Cell[CellGroupData[{
Cell["The Epicycle", "Subsubsection"],
Cell["\<\
The epicyclic hypothesis distinguishes itself from the eccentric in \
that the angles between the apparent eclipses are quite small. They are found \
by taking the difference between the angular span between the zodiacal \
positions of the eclipses and the change in mean longitude over the time \
interval between them, Toomer [1984, 193].\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[{
\(\(angleADB = 349 + 15/60 - deltameanlongitude1;\)\), "\n",
\(PtolemyForm[angleADB]\)}], "Input"],
Cell[BoxData[
\({3, 24, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[{
\(\(angleBDG\ = \
Abs[169 + 30/60\ - \ deltameanlongitude2];\)\), "\n",
\(PtolemyForm[angleBDG]\)}], "Input"],
Cell[BoxData[
\({0, 37, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
Now, E is a point on the circumference of the epicycle so the \
angles at E will be half of their arcs.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[{
\(\(angleBEA = arcBA/2;\)\), "\n",
\(PtolemyForm[angleBEA]\)}], "Input"],
Cell[BoxData[
\({26, 47, 30, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleBEG = arcBG/2; \nPtolemyForm[angleBEG]\)], "Input"],
Cell[BoxData[
\({75, 13, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleAEG = arcAG/2; \nPtolemyForm[angleAEG]\)], "Input"],
Cell[BoxData[
\({48, 25, 30, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
AngleBEA is an external angle for triangleDEA, angleBEG is an \
external angle for triangleDEG, and angleTGE one of the acute angles in right \
triangleTGE, thus:\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(angleEAZ = angleBEA - angleADB; \nPtolemyForm[angleEAZ]\)], "Input"],
Cell[BoxData[
\({23, 23, 30, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleEGD = angleBEG + angleBDG; \nPtolemyForm[angleEGD]\)], "Input"],
Cell[BoxData[
\({75, 50, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleTGE = 90 - angleAEG; \nPtolemyForm[angleTGE]\)], "Input"],
Cell[BoxData[
\({41, 34, 30, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["The chordAG, where the diameter of the epicycle is 120, is", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(AG\ = \ ChordTable[arcAG]; \nPtolemyForm[AG]\)], "Input"],
Cell[BoxData[
\({89, 46, 13, 45, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
In the right triangleEZD, where DE is 120, EZ will be found as \
follows:\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(EZonDE\ = \ RightTriangleSide[angleADB]; \nPtolemyForm[EZonDE]\)],
"Input"],
Cell[BoxData[
\({7, 6, 59, 53, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
In the right triangleEAZ we can find EZ, where AE is 120, from \
whence we can express AE in the same units as DE. \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(EZonAE\ = \ RightTriangleSide[angleEAZ]; \n
AEonDE\ = \ 120*EZonDE/EZonAE; \nPtolemyForm[AEonDE]\)], "Input"],
Cell[BoxData[
\({17, 55, 31, 38, 23, 10, 32}\)], "Output"]
}, Open ]],
Cell["\<\
EH is found in right triangleDEH and right triangleGEH and EH and \
GE are expressed in the same units as DE.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(EHonDE\ = \ RightTriangleSide[angleBDG]; \nPtolemyForm[EHonDE]\)],
"Input"],
Cell[BoxData[
\({1, 17, 29, 39, 0, 59, 59}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(EHonGE\ = \ RightTriangleSide[angleEGD]; \n
GEonDE\ = \ 120*EHonDE/EHonGE; \nPtolemyForm[GEonDE]\)], "Input"],
Cell[BoxData[
\({1, 19, 55, 30, 55, 39, 34}\)], "Output"]
}, Open ]],
Cell["\<\
GT and ET are found in the right triangleGTE and both of these are \
expressed in the same units as DE.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(GTonGE\ = \ RightTriangleSide[angleAEG]; \n
GTonDE\ = \ GEonDE*GTonGE/120; \nPtolemyForm[GTonDE]\)], "Input"],
Cell[BoxData[
\({0, 59, 47, 27, 52, 37, 21}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(ETonGE\ = \ RightTriangleSide[90 - angleAEG]; \n
ETonDE\ = \ GEonDE*ETonGE/120; \nPtolemyForm[ETonDE]\)], "Input"],
Cell[BoxData[
\({0, 53, 2, 17, 54, 38, 3}\)], "Output"]
}, Open ]],
Cell["TA and AG are now known in the same units as DE.", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(TAonDE\ = \ \ AEonDE\ - \ ETonDE; \nPtolemyForm[TAonDE]\)], "Input"],
Cell[BoxData[
\({17, 2, 29, 20, 28, 32, 28}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(AGonDE\ = \ Sqrt[TAonDE^2\ + \ GTonDE^2]; \nPtolemyForm[AGonDE]\)],
"Input"],
Cell[BoxData[
\({17, 4, 14, 8, 31, 23, 40}\)], "Output"]
}, Open ]],
Cell["\<\
With this we can now find DE and GE where the diameter of the \
epicycle is 120, because AG is known in these units.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DE\ = \ 120*AG/AGonDE; \nPtolemyForm[DE]\)], "Input"],
Cell[BoxData[
\({631, 3, 12, 30, 57, 51, 26}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(GE\ = \ DE*GEonDE/120; \nPtolemyForm[GE]\)], "Input"],
Cell[BoxData[
\({7, 0, 18, 33, 21, 7, 27}\)], "Output"]
}, Open ]],
Cell["\<\
BE, in the same units is found by calculating arcBE and finding its \
chord.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(arcGE\ = \ ChordTableInverse[GE]; \narcBE\ = \ arcGE\ + \ arcBG; \n
BE\ = \ ChordTable[arcBE]; \nPtolemyForm[BE]\)], "Input"],
Cell[BoxData[
\({117, 37, 7, 12, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[TextData[{
"DK, in the same units, is found through the Pythagorean theorem (",
StyleBox["Elements",
FontSlant->"Italic"],
" I 47) and the length of the radius of the epicycle can now be expressed \
where the radius of the deferent is 60."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DK\ = \ Sqrt[3600\ + \ \((\((BE + DE)\)*DE)\)]; \n
epicycleradius\ = \ 60^2/DK; \nPtolemyForm[epicycleradius]\)], "Input"],
Cell[BoxData[
\({5, 13, 3, 33, 8, 50, 11}\)], "Output"]
}, Open ]],
Cell["\<\
To follow through with Ptolemy's considerations we find the angle \
between the second eclipse, B, and the moon's apogee, L, by dropping a \
perpendicular to from the center of the moon's epicycle to the line which \
joins the observer to the second eclipse. We use this length to work \
backwards to arcLB. \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DN\ = \ \((BE/2)\) + DE; \nDNonDK\ = \ DN*120/DK; \n
arcDN\ = \ ChordTableInverse[DNonDK]; \n
arcLB\ = \ 180\ - \ \((arcDN/2)\) - \ \((arcBE/2)\); \n
PtolemyForm[arcLB]\)], "Input"],
Cell[BoxData[
\({12, 25, 29, 59, 59, 59, 59}\)], "Output"]
}, Open ]],
Cell["\<\
The careful reader will have noticed that the preceeding numbers \
have been, all along, in good agreement with Ptolemy, but it is still \
gratifying to note that our final figures are remarkably close to Ptolemy's. \
For the ratio, Ptolemy gives 5;13 where we have 5;13,3; and, for the angle to \
the apogee, Ptolemy has 12;24 where we find 12;25,29. All this goes to show \
what no one ever actually doubted; whatever the real means of calculation \
employed, or commanded, by Ptolemy, they were sufficiently precise. \
\>",
"Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["The Eccentric", "Subsubsection"],
Cell[TextData[{
"Although Ptolemy does not provide the calculations necessary to see the \
numeric agreement between the two hypotheses in ",
StyleBox["Almagest ",
FontSlant->"Italic"],
"IV 6, he is aware of this possibility and provides two figures. Now, Theon \
when he chanced upon this gap, in the course of his ",
StyleBox["Commentary on the Almagest,",
FontSlant->"Italic"],
" felt compelled to fill it. Theon's work has not yet been graced with a \
modern translation, however, Neugebauer discusses these calculations in the \
course of a dubious argument concerning the possibility that the equivalence \
of the hypotheses for the moon goes back to Apollonius of Perga, Neugebauer \
[1975, 265 - 267]. The reasoning that follows corresponds very closely to \
what Theon actually puts forward, as found in the commentary, Rome [1931, \
1053 - 1060]. \n\nI will be very brief in laying out Theon's calculations, \
since the geometric argument follows almost exactly the same reasoning as \
that found in Ptolemy. The points of departure, however minor, will be noted \
by blue input.\n\nThe observations dictate that the initial givens will be \
the same, hence the time intervals, the changes in longitude and anomaly, and \
the arcs on the circle of the moon's orbit will be identical. The first \
difference is in the angles at which the observer would have seen the \
eclipses had they all occurred on a single position of the eccentric circle. \
Now the observer is inside the circle of the moon's orbit and these apparent \
angles must be much greater. (See fig 4.5 in Toomer [1984, 194].) These \
angles are found by considering that, if the eclipses had been observed on a \
single position of the eccentric circle, then they would have appeared to be \
distant from each other by their actual zodiacal distances less the change in \
the position of the center of the moon's eccentric circle. The change in the \
position of the moon's eccentric circle is really just the mean longitude \
corrected by the anomaly, or the difference between these two."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(deltacentertheon1 = deltameanlongitude1 - deltaanomaly1; \n
deltacentertheon2 = deltameanlongitude2 - deltaanomaly2; \n
deltatheon1 = 349.25 - deltacentertheon1; \nPtolemyForm[deltatheon1]\)],
"Input"],
Cell[BoxData[
\({309, 48, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(deltatheon2 = 169.5 - deltacentertheon2; \nPtolemyForm[deltatheon2]\)],
"Input"],
Cell[BoxData[
\({149, 48, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
The apparent angles on a single position of the eccentric are found \
by allowing the first interval to specify an arbitrary starting point for \
angular measurements and setting the other intervals relative to this.\
\>",
"Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(angleBDAtheon = 360 - deltatheon1; \nPtolemyForm[angleBDAtheon]\)],
"Input"],
Cell[BoxData[
\({50, 11, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleADGtheon = deltatheon2 - angleBDAtheon; \n
PtolemyForm[angleADGtheon]\)], "Input"],
Cell[BoxData[
\({99, 37, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(angleBDGtheon = angleBDAtheon + angleADGtheon; \n
PtolemyForm[angleBDGtheon]\)], "Input"],
Cell[BoxData[
\({149, 48, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
The geometry follows Ptolemy's, and these figures are all the same \
as those given for the epicycle.\
\>", "Text"],
Cell[BoxData[
RowBox[{
\(angleBEAtheon = arcBA/2\), ";", "\n", \(angleBEGtheon = arcBG/2\), ";",
"\n", \(angleAEGtheon = arcAG/2\), ";", "\n", "\n",
\(angleEAZtheon = angleBDAtheon - angleBEAtheon\), ";", "\n",
\(angleEGDtheon = angleBDGtheon - angleBEGtheon\), ";", "\n",
StyleBox[\(angleTGEtheon = 90 - angleAEGtheon\),
FontColor->GrayLevel[0]],
StyleBox[";",
FontColor->GrayLevel[0]], "\n", "\n",
StyleBox[\(AGtheon\ = \ ChordTable[arcAG]\),
FontColor->GrayLevel[0]],
StyleBox[";",
FontColor->GrayLevel[0]]}]], "Input"],
Cell["\<\
In right triangles DEZ and AEZ the geometry is the same although \
the lengths are different. \
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(EZonDEtheon\ = \ RightTriangleSide[angleBDAtheon]; \n
PtolemyForm[EZonDEtheon]\)], "Input"],
Cell[BoxData[
\({92, 10, 18, 14, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(EZonAEtheon\ = \ RightTriangleSide[angleEAZtheon]; \n
AEonDEtheon\ = \ 120*EZonDEtheon/EZonAEtheon; \n
PtolemyForm[AEonDEtheon]\)], "Input"],
Cell[BoxData[
\({232, 9, 46, 49, 5, 25, 29}\)], "Output"]
}, Open ]],
Cell["\<\
The displacement of D, the observer, dictates a minor change in the \
geometry for right triangle DEH.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(EHonDEtheon\ = \ RightTriangleSide[180 - angleBDGtheon]; \n
PtolemyForm[EHonDEtheon]\)], "Input"],
Cell[BoxData[
\({60, 19, 55, 42, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(EHonGEtheon\ = \ RightTriangleSide[angleEGDtheon]; \n
GEonDEtheon\ = \ 120*EHonDEtheon/EHonGEtheon; \n
PtolemyForm[GEonDEtheon]\)], "Input"],
Cell[BoxData[
\({62, 34, 44, 33, 47, 9, 6}\)], "Output"]
}, Open ]],
Cell["\<\
Finding AG in the same units as DE requires no changes in the \
geometric reasoning.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(GTonGEtheon\ = \ RightTriangleSide[angleAEGtheon]; \n
GTonDEtheon\ = \ GEonDEtheon*GTonGEtheon/120; \n
PtolemyForm[GTonDEtheon]\)], "Input"],
Cell[BoxData[
\({46, 48, 52, 32, 22, 16, 41}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(ETonGEtheon\ = \ RightTriangleSide[90 - angleAEGtheon]; \n
ETonDEtheon\ = \ GEonDEtheon*ETonGEtheon/120; \n
PtolemyForm[ETonDEtheon]\)], "Input"],
Cell[BoxData[
\({41, 31, 38, 34, 31, 10, 19}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(\(\nTAonDEtheon\ = \ \ AEonDEtheon\ - \ ETonDEtheon; \n
PtolemyForm[TAonDEtheon]\)\)], "Input"],
Cell[BoxData[
\({190, 38, 8, 14, 34, 15, 9}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(AGonDEtheon\ = \ Sqrt[TAonDEtheon^2\ + \ GTonDEtheon^2]; \n
PtolemyForm[AGonDEtheon]\)], "Input"],
Cell[BoxData[
\({196, 17, 58, 41, 19, 32, 22}\)], "Output"]
}, Open ]],
Cell["\<\
All chords are converted to the those units wherein the diameter of \
the eccentric circle is 120, and BE is found in these units.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DEtheon\ = \ 120*AGtheon/AGonDEtheon; \nPtolemyForm[DEtheon]\)],
"Input"],
Cell[BoxData[
\({54, 52, 39, 27, 35, 15, 38}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(GEtheon\ = \ DEtheon*GEonDEtheon/120; \nPtolemyForm[GEtheon]\)],
"Input"],
Cell[BoxData[
\({28, 37, 5, 41, 11, 32, 49}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(\(\tarcGEtheon\ = \ ChordTableInverse[GEtheon]; \n\t
arcBEtheon\ = \ arcGEtheon\ + \ arcBG; \n
BEtheon\ = \ ChordTable[arcBEtheon]; \nPtolemyForm[BEtheon]\)\)], "Input"],
Cell[BoxData[
\({119, 58, 56, 54, 0, 0, 0}\)], "Output"]
}, Open ]],
Cell["\<\
A line is dropped perpendicular from the center of the eccentric \
circle to the line which joins the observer and the second eclipse, and the \
Pythagorean theorem is used to find the length between the observer and the \
center of the eccentric circle where the radius of the eccentric circle is \
60.\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DNtheon\ = \ Abs[BEtheon/2 - DEtheon]; \n
KNtheon\ = \ Sqrt[60^2 - \((BEtheon/2)\)^2]; \n
epicycleradiustheon\ = \ Sqrt[DNtheon^2\ + \ KNtheon^2]; \n
PtolemyForm[epicycleradiustheon]\)], "Input"],
Cell[BoxData[
\({5, 12, 55, 30, 11, 57, 27}\)], "Output"]
}, Open ]],
Cell["\<\
The angle between the second eclipse and the apogee of the moon's \
eccentric circle is found following the same sort of reasoning we used above.\
\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(DNonDKtheon\ = \ 120*DNtheon/DKtheon; \n
angleDKNtheon\ = \ RightTriangleAngle[DNonDKtheon]; \n
angleBKNtheon\ = \ ChordTableInverse[BEtheon]/2; \n
arcLBtheon\ = \ 180\ - \((\ angleDKNtheon + angleBKNtheon)\); \n
PtolemyForm[arcLBtheon]\)], "Input"],
Cell[BoxData[
\({12, 19, 29, 59, 59, 59, 59}\)], "Output"]
}, Open ]],
Cell["\<\
By these means we find figures somewhat in agreement with Theon's. \
In all fairness, however, it should be remembered that Theon's intent was to \
show that the two models are numerically equivalent, so he may have allowed \
his numbers to slide somewhat in the direction of Ptolemy's. For this ratio \
he has 5;12,43 which he rounds to 5;13, while we find 5;12,55 which would \
even more happily round; for the arc he has 12;24 where we find 12;19,29. The \
hypotheses, then, are very close and they differ only in this:\
\>", "Text"],
Cell[CellGroupData[{
Cell[BoxData[{
\(\(differenceinratio\ = \
Abs[epicycleradius\ - \ epicycleradiustheon];\)\), "\n",
\(PtolemyForm[differenceinratio]\ \ \)}], "Input"],
Cell[BoxData[
\({0, 0, 8, 2, 56, 52, 43}\)], "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(\(differenceinarc\ = Abs[arcLB\ - arcLBtheon]; \n
PtolemyForm[differenceinarc]\ \)\)], "Input"],
Cell[BoxData[
\({0, 6, 0, 0, 0, 0, 0}\)], "Output"]
}, Open ]]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Bibliography", "Subsection",
CellTags->"Bibliography"],
Cell["\<\
Neugebauer and Paderson are have complete discussions of Ptolemy's \
methods, however, Toomer's introduction is both concise and valuable. \
Toomer's translation is the best in any language.\
\>", "Text"],
Cell[TextData[{
StyleBox["\[Bullet] O. Neugebauer, ",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox["A History of Ancient Mathematical Astronomy",
FontSlant->"Italic",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[
", 3 vols. (Berlin etc.: Springer-Verlag, 1975).\n\n\[Bullet] O. Pedersen, \
",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox["A Survey of the Almagest",
FontSlant->"Italic",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[" (Odense University Press, 1974).",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
"\n\n",
StyleBox["\[Bullet] Ptolemy, ",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox["Ptolemy's Almagest",
FontSlant->"Italic",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[
", trans. G. J. Toomer (London: Duckworth, 1984). (Reprinted by Princton, \
1998, with some corrections)\n\t\n\[Bullet] Ptolemy, ",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[
"Claudii Ptolemaei Opera quae exstant omnia.Vol. I, Syntaxis Mathematica",
FontSlant->"Italic",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[
", ed. J. L Heiberg, 2 vols. (Liepzig: Teubner, 1898, 1903).\n\t\t\n\
\[Bullet] M. Abb\[EAcute] A. Rome, ed., ",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[
"Commentaries de Pappus et Th\[EAcute]on d'Alexandrie sur l'Almagest",
FontSlant->"Italic",
FontColor->RGBColor[0.0901961, 0.00172427, 0]],
StyleBox[" (Roma: Biblioteca Apostolica Vaticana, 1931).",
FontColor->RGBColor[0.0901961, 0.00172427, 0]]
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Contacting the Author", "Subsection",
CellTags->"Author"],
Cell["\<\
If you have any questions about, or encounter any errors in, \
PtolemyChordTable.m please let me know.
Nathan Sidoli
nathan.sidoli@utoronto.ca\
\>", "Text"]
}, Open ]]
}, Open ]]
}, Open ]]
},
FrontEndVersion->"5.0 for X",
ScreenRectangle->{{0, 1024}, {0, 720}},
WindowToolbars->"EditBar",
WindowSize->{799, 743},
WindowMargins->{{24, Automatic}, {Automatic, 0}},
CellLabelAutoDelete->True,
StyleDefinitions -> "Report.nb"
]
(*******************************************************************
Cached data follows. If you edit this Notebook file directly, not
using Mathematica, you must remove the line containing CacheID at
the top of the file. The cache data will then be recreated when
you save this file from within Mathematica.
*******************************************************************)
(*CellTagsOutline
CellTagsIndex->{
"Bibliography"->{
Cell[32597, 1060, 62, 1, 39, "Subsection",
CellTags->"Bibliography"]},
"Author"->{
Cell[34556, 1113, 65, 1, 39, "Subsection",
CellTags->"Author"]}
}
*)
(*CellTagsIndex
CellTagsIndex->{
{"Bibliography", 35500, 1145},
{"Author", 35595, 1148}
}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[1776, 53, 36, 0, 86, "Title"],
Cell[1815, 55, 132, 5, 66, "Subtitle"],
Cell[CellGroupData[{
Cell[1972, 64, 185, 4, 93, "Section 1"],
Cell[CellGroupData[{
Cell[2182, 72, 34, 0, 39, "Subsection"],
Cell[2219, 74, 1450, 25, 204, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[3706, 104, 44, 0, 39, "Subsection"],
Cell[3753, 106, 1209, 21, 188, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[4999, 132, 33, 0, 39, "Subsection"],
Cell[5035, 134, 535, 11, 76, "Text"],
Cell[5573, 147, 64, 1, 32, "Input"],
Cell[5640, 150, 89, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[5754, 157, 48, 1, 32, "Input"],
Cell[5805, 160, 354, 5, 86, "Print"]
}, Open ]],
Cell[6174, 168, 722, 11, 108, "Text"],
Cell[CellGroupData[{
Cell[6921, 183, 72, 1, 32, "Input"],
Cell[6996, 186, 87, 1, 47, "Output"]
}, Open ]],
Cell[7098, 190, 309, 6, 60, "Text"],
Cell[CellGroupData[{
Cell[7432, 200, 65, 1, 32, "Input"],
Cell[7500, 203, 54, 1, 47, "Output"]
}, Open ]],
Cell[7569, 207, 130, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[7724, 214, 47, 1, 32, "Input"],
Cell[7774, 217, 59, 1, 47, "Output"]
}, Open ]],
Cell[7848, 221, 222, 4, 44, "Text"],
Cell[CellGroupData[{
Cell[8095, 229, 73, 1, 32, "Input"],
Cell[8171, 232, 58, 1, 47, "Output"]
}, Open ]],
Cell[8244, 236, 123, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[8392, 243, 40, 0, 30, "Subsubsection"],
Cell[8435, 245, 514, 10, 92, "Text"],
Cell[CellGroupData[{
Cell[8974, 259, 61, 1, 32, "Input"],
Cell[9038, 262, 54, 1, 47, "Output"]
}, Open ]],
Cell[9107, 266, 74, 0, 28, "Text"],
Cell[CellGroupData[{
Cell[9206, 270, 54, 1, 32, "Input"],
Cell[9263, 273, 54, 1, 47, "Output"]
}, Open ]],
Cell[9332, 277, 168, 4, 44, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[9537, 286, 42, 0, 30, "Subsubsection"],
Cell[9582, 288, 598, 10, 76, "Text"],
Cell[10183, 300, 109, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[10317, 307, 56, 1, 32, "Input"],
Cell[10376, 310, 181, 3, 54, "Print"]
}, Open ]],
Cell[10572, 316, 114, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[10711, 323, 57, 1, 32, "Input"],
Cell[10771, 326, 182, 3, 54, "Print"]
}, Open ]],
Cell[10968, 332, 72, 0, 28, "Text"],
Cell[CellGroupData[{
Cell[11065, 336, 52, 1, 32, "Input"],
Cell[11120, 339, 180, 3, 54, "Print"]
}, Open ]]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[11361, 349, 32, 0, 39, "Subsection"],
Cell[11396, 351, 1115, 19, 220, "Text"],
Cell[12514, 372, 73, 1, 32, "Input"],
Cell[12590, 375, 131, 3, 28, "Text"],
Cell[12724, 380, 70, 1, 32, "Input"],
Cell[12797, 383, 360, 7, 60, "Text"],
Cell[13160, 392, 237, 4, 80, "Input"],
Cell[13400, 398, 467, 8, 76, "Text"],
Cell[13870, 408, 161, 3, 64, "Input"],
Cell[14034, 413, 1321, 21, 268, "Text"],
Cell[CellGroupData[{
Cell[15380, 438, 37, 0, 30, "Subsubsection"],
Cell[15420, 440, 364, 6, 60, "Text"],
Cell[CellGroupData[{
Cell[15809, 450, 122, 2, 48, "Input"],
Cell[15934, 454, 56, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[16027, 460, 144, 3, 48, "Input"],
Cell[16174, 465, 56, 1, 47, "Output"]
}, Open ]],
Cell[16245, 469, 127, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[16397, 476, 96, 2, 48, "Input"],
Cell[16496, 480, 58, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[16591, 486, 76, 1, 48, "Input"],
Cell[16670, 489, 57, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[16764, 495, 76, 1, 48, "Input"],
Cell[16843, 498, 58, 1, 47, "Output"]
}, Open ]],
Cell[16916, 502, 186, 4, 44, "Text"],
Cell[CellGroupData[{
Cell[17127, 510, 88, 1, 48, "Input"],
Cell[17218, 513, 58, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[17313, 519, 88, 1, 48, "Input"],
Cell[17404, 522, 57, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[17498, 528, 82, 1, 48, "Input"],
Cell[17583, 531, 58, 1, 47, "Output"]
}, Open ]],
Cell[17656, 535, 74, 0, 28, "Text"],
Cell[CellGroupData[{
Cell[17755, 539, 78, 1, 48, "Input"],
Cell[17836, 542, 59, 1, 47, "Output"]
}, Open ]],
Cell[17910, 546, 97, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[18032, 553, 99, 2, 48, "Input"],
Cell[18134, 557, 57, 1, 47, "Output"]
}, Open ]],
Cell[18206, 561, 139, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[18370, 568, 135, 2, 64, "Input"],
Cell[18508, 572, 62, 1, 47, "Output"]
}, Open ]],
Cell[18585, 576, 133, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[18743, 583, 99, 2, 48, "Input"],
Cell[18845, 587, 60, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[18942, 593, 135, 2, 64, "Input"],
Cell[19080, 597, 61, 1, 47, "Output"]
}, Open ]],
Cell[19156, 601, 127, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[19308, 608, 135, 2, 64, "Input"],
Cell[19446, 612, 61, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[19544, 618, 140, 2, 64, "Input"],
Cell[19687, 622, 59, 1, 47, "Output"]
}, Open ]],
Cell[19761, 626, 64, 0, 28, "Text"],
Cell[CellGroupData[{
Cell[19850, 630, 90, 1, 48, "Input"],
Cell[19943, 633, 61, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[20041, 639, 101, 2, 48, "Input"],
Cell[20145, 643, 60, 1, 47, "Output"]
}, Open ]],
Cell[20220, 647, 140, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[20385, 654, 74, 1, 48, "Input"],
Cell[20462, 657, 62, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[20561, 663, 74, 1, 48, "Input"],
Cell[20638, 666, 59, 1, 47, "Output"]
}, Open ]],
Cell[20712, 670, 100, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[20837, 677, 153, 2, 80, "Input"],
Cell[20993, 681, 59, 1, 47, "Output"]
}, Open ]],
Cell[21067, 685, 266, 6, 44, "Text"],
Cell[CellGroupData[{
Cell[21358, 695, 149, 2, 64, "Input"],
Cell[21510, 699, 59, 1, 47, "Output"]
}, Open ]],
Cell[21584, 703, 332, 6, 60, "Text"],
Cell[CellGroupData[{
Cell[21941, 713, 218, 4, 96, "Input"],
Cell[22162, 719, 62, 1, 47, "Output"]
}, Open ]],
Cell[22239, 723, 547, 9, 76, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[22823, 737, 38, 0, 30, "Subsubsection"],
Cell[22864, 739, 2098, 31, 300, "Text"],
Cell[CellGroupData[{
Cell[24987, 774, 232, 4, 80, "Input"],
Cell[25222, 780, 58, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[25317, 786, 103, 2, 48, "Input"],
Cell[25423, 790, 58, 1, 47, "Output"]
}, Open ]],
Cell[25496, 794, 243, 5, 44, "Text"],
Cell[CellGroupData[{
Cell[25764, 803, 99, 2, 48, "Input"],
Cell[25866, 807, 57, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[25960, 813, 111, 2, 48, "Input"],
Cell[26074, 817, 57, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[26168, 823, 113, 2, 48, "Input"],
Cell[26284, 827, 58, 1, 47, "Output"]
}, Open ]],
Cell[26357, 831, 125, 3, 28, "Text"],
Cell[26485, 836, 612, 13, 160, "Input"],
Cell[27100, 851, 119, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[27244, 858, 116, 2, 48, "Input"],
Cell[27363, 862, 59, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[27459, 868, 170, 3, 64, "Input"],
Cell[27632, 873, 61, 1, 47, "Output"]
}, Open ]],
Cell[27708, 877, 126, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[27859, 884, 122, 2, 48, "Input"],
Cell[27984, 888, 59, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[28080, 894, 170, 3, 64, "Input"],
Cell[28253, 899, 60, 1, 47, "Output"]
}, Open ]],
Cell[28328, 903, 108, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[28461, 910, 170, 3, 64, "Input"],
Cell[28634, 915, 62, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[28733, 921, 175, 3, 64, "Input"],
Cell[28911, 926, 62, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[29010, 932, 121, 2, 64, "Input"],
Cell[29134, 936, 61, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[29232, 942, 123, 2, 48, "Input"],
Cell[29358, 946, 63, 1, 47, "Output"]
}, Open ]],
Cell[29436, 950, 154, 3, 28, "Text"],
Cell[CellGroupData[{
Cell[29615, 957, 97, 2, 48, "Input"],
Cell[29715, 961, 62, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[29814, 967, 97, 2, 48, "Input"],
Cell[29914, 971, 61, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[30012, 977, 201, 3, 80, "Input"],
Cell[30216, 982, 60, 1, 47, "Output"]
}, Open ]],
Cell[30291, 986, 327, 6, 60, "Text"],
Cell[CellGroupData[{
Cell[30643, 996, 231, 4, 80, "Input"],
Cell[30877, 1002, 61, 1, 47, "Output"]
}, Open ]],
Cell[30953, 1006, 171, 4, 44, "Text"],
Cell[CellGroupData[{
Cell[31149, 1014, 290, 5, 96, "Input"],
Cell[31442, 1021, 62, 1, 47, "Output"]
}, Open ]],
Cell[31519, 1025, 546, 8, 76, "Text"],
Cell[CellGroupData[{
Cell[32090, 1037, 169, 3, 48, "Input"],
Cell[32262, 1042, 58, 1, 47, "Output"]
}, Open ]],
Cell[CellGroupData[{
Cell[32357, 1048, 121, 2, 48, "Input"],
Cell[32481, 1052, 55, 1, 47, "Output"]
}, Open ]]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[32597, 1060, 62, 1, 39, "Subsection",
CellTags->"Bibliography"],
Cell[32662, 1063, 214, 4, 44, "Text"],
Cell[32879, 1069, 1640, 39, 172, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[34556, 1113, 65, 1, 39, "Subsection",
CellTags->"Author"],
Cell[34624, 1116, 168, 6, 76, "Text"]
}, Open ]]
}, Open ]]
}, Open ]]
}
]
*)
(*******************************************************************
End of Mathematica Notebook file.
*******************************************************************)