Model, parametrisation, state
Three things are kept apart, because different things are true of each.
| what it fixes | where it stands | what can be said of it | |
|---|---|---|---|
| model | the geometry: parameter symbols with units and admissible ranges, the kinematic variable, the construction, the observables | a model text |
what holds for every admissible parameter value and every state |
| parametrisation | the values of the parameters, each with source or gap, and whose values they are | a parametrisation text |
what follows for these values: a maximum equation, a period |
| state | the value of the kinematic variable, or a time | an argument: at kappa_bar = 41° |
where everything is: a configuration |
The model has no values
# Ptolemy's solar model in its eccentric form: the pure geometry.
# The description follows the use Swerdlow makes of the model in The Renaissance of Astronomy (2026), pp. 19–22
# (scan pages 49–52): the earth O, the centre E of the eccentric at the distance e in the direction of the
# apogee, the sun S moving uniformly about E. No value stands here; values are parametrisations.
model solar-eccentric "Ptolemy's solar model, eccentric form"
attributed "Ptolemy"
witness fr:kepler-sec/Swerdlow2026/0049/p04 "the construction, p. 19"
witness fr:kepler-sec/Swerdlow2026/0050/p03 "longitudes, anomalies and the equation, p. 20"
witness fr:kepler-sec/Swerdlow2026/0051/fig02 "Fig. 1.4"
author "Gerd Graßhoff"
tradition ptolemaic
frame geocentric
param R : length "radius of the eccentric" in (1, 1000)
param e : length "eccentricity, the distance OE" in (0, R / 2)
param lamA : angle "longitude of the apogee"
param T : time "tropical year" in (300, 400)
param kappa_0 : angle "mean anomaly at t = 0"
display lamA "λ_A"
display kappa_0 "κ̄_0"
variable kappa_bar : angle "mean anomaly about E, counted from the apogee"
law kappa_bar = uniform(period: T, epoch: kappa_0) "the sun moves uniformly about E"
display kappa_bar "κ̄"
O = observer "earth"
E = O + polar(e, lamA) "centre of the eccentric"
ecc = circle(E, R) "the eccentric"
A = E + polar(R, lamA) "apogee"
B = E - polar(R, lamA) "perigee"
S = E + polar(R, lamA + kappa_bar) "sun"
body sun at S
observe lam_bar = direction(E, S) "mean longitude"
observe lam = direction(O, S) "true longitude"
observe kappa = lam - lamA "true anomaly about O"
observe c = lam_bar - lam "equation of centre, mean minus true longitude"
display lam_bar "λ̄_S"
display lam "λ_S"
display kappa "κ"
# stated propositions: checked over the parameter space and all states, not derived here
proposition p1: equal(lam_bar, lamA + kappa_bar) "the mean longitude is the longitude of the apogee plus the mean anomaly"
proposition p2: equal(kappa, kappa_bar - c) "the true anomaly is the mean anomaly less the equation"
proposition p5: equal(lam, lam_bar - c) "the true longitude is the mean longitude less the equation"
proposition p3: collinear(A, E, B) "the apsidal line passes through E"
proposition p4: collinear(A, O, B) "and through O"
A model text that writes param R = 60 … or gives a source to a value is refused, with a message that says where the value belongs. Because the model has no values, it is checked where it lives: over its parameter space (48 sampled points, each parameter in its range, ranges that depend on other parameters evaluated inside the sample) and its states (the kinematic variable through a revolution). A proposition stated in a model holds when it holds in every one of these configurations. equal(distance(O, E), R / 24) is true for Ptolemy’s values and is not a property of the model; stated in the model, it fails.
Ptolemy’s solar model, eccentric form
fr:astra/solar-eccentric · model · astra/1
| the model of | Ptolemy |
| witness | fr:kepler-sec/Swerdlow2026/0049/p04 — the construction, p. 19 |
| witness | fr:kepler-sec/Swerdlow2026/0050/p03 — longitudes, anomalies and the equation, p. 20 |
| witness | fr:kepler-sec/Swerdlow2026/0051/fig02 — Fig. 1.4 |
| this description by | Gerd Graßhoff |
| tradition | ptolemaic |
| frame | geocentric |
| check | documented (6/6: ✓ well-formed · ✓ constructible · ✓ astronomical · ✓ kinematic · ✓ consistent · ✓ documented) |
Parameters (symbols; values stand in parametrisations)
| symbol | unit | meaning | admissible |
|---|---|---|---|
R R |
length | radius of the eccentric | (1, 1000) |
e e |
length | eccentricity, the distance OE | (0, R / 2) |
λA lamA |
angle | longitude of the apogee | any |
T T |
time | tropical year | (300, 400) |
κ̄0 kappa_0 |
angle | mean anomaly at t = 0 | any |
Kinematic variables (their values are the states)
| symbol | meaning | law |
|---|---|---|
κ̄ kappa_bar |
mean anomaly about E, counted from the apogee | uniform, period T, epoch kappa_0 |
Construction
| object | kind | defined by | meaning |
|---|---|---|---|
O |
point | observer() |
earth |
E |
point | O + polar(e, lamA) |
centre of the eccentric |
ecc |
circle | circle(E, R) |
the eccentric |
A |
point | E + polar(R, lamA) |
apogee |
B |
point | E - polar(R, lamA) |
perigee |
S |
point | E + polar(R, lamA + kappa_bar) |
sun |
Observables
| symbol | defined by | meaning |
|---|---|---|
λ̄S lam_bar |
direction(E, S) |
mean longitude |
λS lam |
direction(O, S) |
true longitude |
κ kappa |
lam - lamA |
true anomaly about O |
c c |
lam_bar - lam |
equation of centre, mean minus true longitude |
Stated propositions (hold in every sampled configuration; not derived)
| proposition | meaning | residual | |
|---|---|---|---|
| p1 | equal(lam_bar, lamA + kappa_bar) |
the mean longitude is the longitude of the apogee plus the mean anomaly | holds, 6e-14 over 3456 |
| p2 | equal(kappa, kappa_bar - c) |
the true anomaly is the mean anomaly less the equation | holds, 1e-13 over 3456 |
| p5 | equal(lam, lam_bar - c) |
the true longitude is the mean longitude less the equation | holds, 6e-14 over 3456 |
| p3 | collinear(A, E, B) |
the apsidal line passes through E | holds, 1e-16 over 3456 |
| p4 | collinear(A, O, B) |
and through O | holds, 1e-16 over 3456 |
Parametrisations: fr:astra/solar-eccentric.battani, fr:astra/solar-eccentric.ptolemy
Derivations: fr:astra/solar-equation-of-centre, fr:astra/solar-parameters-from-seasons
Figures: fr:astra/kepler-fig-ch2-eccentric, fr:astra/solar-fig-1-4, fr:astra/solar-fig-eccentric
One model, several parametrisations
The pages give two sets of values for the eccentric form — Ptolemy’s and al-Battānī’s — and the printed figures use a third, an exaggerated eccentricity that makes the drawing legible.
Ptolemy’s values
fr:astra/solar-eccentric.ptolemy · parametrisation · astra/1
| the values of | Ptolemy |
| witness | fr:kepler-sec/Swerdlow2026/0052/p05 |
| this description by | Gerd Graßhoff |
| of | fr:astra/solar-eccentric |
| check | attested (4/4: ✓ well-formed · ✓ complete · ✓ admissible · ✓ attested) |
Values
| symbol | meaning | value | sexagesimal | source |
|---|---|---|---|---|
R R |
radius of the eccentric | 60 — the norm of the radius | 60 | fr:kepler-sec/Swerdlow2026/0052/p05 |
e e |
eccentricity, the distance OE | 2;30 — 2;29,30 rounded to 2;30 | 2;30 | fr:kepler-sec/Swerdlow2026/0052/p05 |
λA lamA |
longitude of the apogee | 65;30° | 65;30 | fr:kepler-sec/Swerdlow2026/0052/p05 |
T T |
tropical year | 365;14,48 | 365;14,48 | fr:kepler-sec/Swerdlow2026/0047/p03 |
κ̄0 kappa_0 |
mean anomaly at t = 0 | 0° | 0 | gap: the pages give no epoch; t is counted from a passage through the apogee |
Notes and gaps
- kappa_0 = 0°: the pages give no epoch; t is counted from a passage through the apogee
al-Battānī’s values
fr:astra/solar-eccentric.battani · parametrisation · astra/1
| the values of | al-Battānī |
| witness | fr:kepler-sec/Swerdlow2026/0052/p06 |
| this description by | Gerd Graßhoff |
| of | fr:astra/solar-eccentric |
| check | well-formed (1/4: ✓ well-formed · ✗ complete · ✗ admissible · ✗ attested) |
- complete fails: T (tropical year) has no value
- complete fails: kappa_0 (mean anomaly at t = 0) has no value Values
| symbol | meaning | value | sexagesimal | source |
|---|---|---|---|---|
R R |
radius of the eccentric | 60 | 60 | gap: the norm R = 60 is not repeated in the paragraph; e is given in its units |
e e |
eccentricity, the distance OE | 2;4,45 | 2;4,45 | fr:kepler-sec/Swerdlow2026/0052/p06 |
λA lamA |
longitude of the apogee | 82;17° | 82;17 | fr:kepler-sec/Swerdlow2026/0052/p06 |
Without value: T, kappa_0.
Notes and gaps
- R = 60: the norm R = 60 is not repeated in the paragraph; e is given in its units
Al-Battānī’s parametrisation is partial: the paragraph gives the eccentricity and the apogee, no year and no epoch. The check says so (complete fails), and what needs only R and e — the maximum equation — is computed with it all the same.
$ famulus-astra diff solar-eccentric.ptolemy solar-eccentric.battani
solar-eccentric.ptolemy ↔ solar-eccentric.battani
values of Ptolemy ↔ al-Battānī
R: 60 ↔ 60 (equal)
e: 2;30 ↔ 2;4,45 (−0;25,15)
lamA: 65;30° ↔ 82;17° (+16;47)
T: 365;14,48 ↔ —
kappa_0: 0° ↔ —
The difference of the two apogees is 16;47°. The page prints 16;37° for it (Deep reading).
The kinematic variable and its law
variable kappa_bar : angle declares what varies. law kappa_bar = uniform(period: T, epoch: kappa_0) says how it runs in time, with the period and the epoch as ordinary parameters. A state names the variable directly (kappa_bar = 41°) or a time (t = 100 d), which the law turns into a value of the variable. A variable without a law is free; a figure of a model whose period has no value still moves, through the variable.
Drawing values are not attested values
A figure may be drawn with other values than the attested ones: drawn with e = 16. These are marked as drawing values in the figure text, in the figure’s corner and in its sheet, and they never touch the parametrisation. A figure without any parametrisation is drawn with drawing values only — the epicyclic form, to which the pages give no values of its own.