Skip to main content

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.

Published by OpenScienceTechnology GmbH · Legal notice · Privacy