Startseite | Glossar | Gästebuch | Forum | Impressum | FAQ | Inhalt |
N A. B | Die Osterformel von C. F. Gauss Teil 2: Ausführliche Darstellung |
||
Gliederung |
|
Seitenanfang | Seitenende |
Waren in frühere Zeiten ewige Kalender oder zumindest 100jährige Kalender mit Tabellen für den Sonntagsbuchstaben, der Goldenen Zahl und /oder der Epakte weit verbreitet, so ist es heute üblich, sich jedes Jahr einen aktuellen Kalender zu kaufen. Will man aber einmal das Osterdatum vergangener oder kommender Jahre wissen, so ist man meist hilflos. Um das Osterdatum für jedes beliebige Jahr rechnerisch ermitteln zu können, hat der geniale Mathematiker Carl Friedrich Gauss eine einfache Formel entwickelt, die im Folgenden vorgestellt werden soll. Erstmals veröffentlicht wurde diese Berechnung in der von Freiherrn von Zach herausgegebenen Monatlichen Correspondenz zur Beförderung der Erd- und Himmels-Kunde, Band II, August 1800, Seite 121 - 130. Sie wurde nachgedruckt in den Gesammelten Werken, Band VI, Seite 73 - 79 und in Band 11,1, Seite 199 - 210. Die Niedersächsische Staats- und Universitätsbibliothek Göttingen hat die gesammelten Werke von Gauss digitalisiert und ins Internet gestellt [http://www.sub.uni-goettingen.de], oder direkt: http://gdz.sub.uni-goettingen.de/no_cache/dms/load/toc/?IDDOC=137471 b.z.w. http://gdz.sub.uni-goettingen.de/no_cache/dms/load/toc/?IDDOC=139583.
Für die Berechnung braucht man lediglich Kenntnisse der Addition und der Division. Bei Divisionen beachte man immer nur das ganzzahlige Ergebnis oder den ganzzahligen Rest. Für Ganzzahldivisionen zweier Zahlen wird die Kurzbezeichnung "div", für Modulo-Divisionen die Kurzbezeichnung "mod" verwendet.
Beispiel: 3/4 = 0 Rest 3 3 div 4 = 0 3 mod 4 = 3 4/4 = 1 Rest 0 4 div 4 = 1 4 mod 4 = 0 5/4 = 1 Rest 1 5 div 4 = 1 5 mod 4 = 1 6/4 = 1 Rest 2 6 div 4 = 1 6 mod 4 = 2 u.s.w.
Seitenanfang | Seitenende |
Die Vorschriften, nach denen das Osterdatum berechnet wird, sind an anderer Stelle ausführlich erörtert worden, sie sollen daher hier nicht noch einmal wiederholt werden. (siehe: Die Osterformel von C. F. Gauss, Teil 1: Grundlagen und Das Datum des Osterfestes).
Daher direkt zur Gauss´schen Formel: Als erstes wird das Zyklusjahr, bezeichnet als "a", durch eine einfache Division durch 19 ermittelt. Der verbleibende Rest, der zwischen 0 und 18 liegen muss, bezeichnet die Gauss´sche Zykluszahl, die um 1 niedriger liegt als die Goldene Zahl, die zwischen 1 und 19 liegt.
Es gilt:
a = Jahr mod 19
Als nächstes wird Luna XIV, der Tag des Frühlingsvollmondes, berechnet. Im ersten Zyklusjahr liegt er am 5. April (= 36. März). Wie an anderer Stelle erläutert, geht er jedes Jahr um 11 Tage zurück. Kommt er dann auf ein Datum vor dem 21. März, so ist um 30 Tage vorzuschreiten. Zu dem gleichen Ergebnis kommt man, wenn man jedes Jahr um 19 Tage vorwärts geht und dann um 30 Tage zurückschreitet, wenn man auf ein Datum kommt, das 30 Tage nach dem 21. März, also nach dem 20. April liegt.
Es gilt dann folgendes:
1. Zyklusjahr (a = 0): 21. März + (15 )Tage 2. Zyklusjahr (a = 1): 21. März + (15 + 1 * 19 - 1 * 30)Tage 3. Zyklusjahr (a = 2): 21. März + (15 + 2 * 19 - 1 * 30)Tage 4. Zyklusjahr (a = 3): 21. März + (15 + 3 * 19 - 2 * 30)Tage u.s.w.oder allgemein:
d = (M + a * 19) mod 30; M = 15 Luna XIV = 21. März + d
So ist es leicht, für jedes beliebige Jahr die Luna XIV zu berechnen. Um nun zum Ostersonntag zu gelangen, ist festzustellen, auf welchen Wochentag der Frühlingsvollmond fällt, beziehungsweise wie gross die Differenz zum nächsten Sonntag ist.
Hierzu eine kurze Vorbemerkung. Es stellt sich das Problem, die Differenz einer beliebigen Zahl a zum nächsten ganzzahligen Vielfachen einer beliebigen Zahl n zu errechnen. Beispiel: 44 und wieviel ist ein Vielfaches von 7. Man wird sofort sehen, dass das nächstgrössere Vielfache von 7 die Zahl 49 ist, und somit die Differenz 5 beträgt. Rechnerisch kommt man zu diesem Ergebnis, indem man 44 durch 7 teilt und den Rest von 7 abzieht. also in unserem Beispiel: 7 - (44 mod 7) = 7 - 2 = 5.
Zu dem gleichen Ergebnis kommt man mit folgender Formel: x = [a * (n - 1)] mod n, also in unserem Beispiel: (44 * 6) mod 7 = 5. Diese Tatsache wird bei den folgenden Rechnungen eine grosse Rolle spielen.
Dass beide Formeln gleich sind, ist leicht zu beweisen:
a, b, n sind positive Ganzahlen I: Führt man eine Modulodivision a mod n mehrfach hintereinander durch, ändert dies das Ergebnis nicht: Es gilt: a mod n = (a mod n) mod n II: Erhöht man bei dieser Modulodivision den Dividenden um das Produkt aus a und n, ändert dies das Ergebnis nicht: Es gilt: n mod n = (a * n) mod n = 0 Daraus folgt: a mod n = (n * a + a) mod n III: Besteht der Dividend aus einer Summe, kann man auch vor der Addition erst bei jedem einzeln Summanden eine Modulodivision durchführen. Es gilt: (a + b) mod n = [(a mod n) + (b mod n)] mod n = [(a + (b mod n)] mod n (a - b) mod n = [(a mod n) - (b mod n)] mod n = [(a - (b mod n)] mod n
Zu beweisen ist: n - (a mod n) = [ a * (n - 1)] mod n
n - (a mod n) = [n - (a mod n) ] mod n nach I = [a * n - (a mod n)] mod n nach II = [a * n - a ] mod n nach III = [a * (n - 1) ] mod n
Hinweis: Nach der mathematischen Definition der Modulodivision ist das Ergebnis (bei positivem Divisor) immer eine positive Zahl. Dies gilt auch für den Fall, dass der Dividend negativ ist. Die meisten Programmiersprachen liefern in letzterem Fall kein mathematisch korrektes Ergebnis.
Für a mod n gilt: Wenn n ≥ 0, so ist (a mod n) ≥ 0 auch bei negativem a Beispiel: anstelle von: -10 mod 7 = -3 (Programmiersprachen) gilt: -10 mod 7 = +4 (mathematische Definition)
Zurück zur Osterformel. Errechnet wurde bisher die Luna XIV, bezeichnet als "d". Gehen wir zuerst davon aus, dass in jedem Jahr der gleiche Wochentagskalender gelten würde. (6 * d) mod 7 würde dann die Differenz zu immer dem gleichen Wochentag bezeichnen. Durch Einführung eines Parameters, von Gauss "N" genannt, kann man dann einen bestimmten Wochentag wählen.
Es gilt also vorläufig:
e = (6 * d + N) mod 7 (wobei N noch zu bestimmen ist) Ostern = 21. März + d + e
Nun gilt es zu berücksichtigen, dass sich auch der Wochentagskalender mit jedem Jahr ändert. Liegt der 21. März in einem Jahr auf einem Sonntag, so wird er im nächsten Jahr, falls dies ein Gemeinjahr ist, auf einem Montag, falls es ein Schaltjahr ist, auf einem Dienstag liegen. Man muss also die obige Formel erweitern um die Anzahl der Tage, um die der Wochentagskalender seit dem (fiktiven) Jahr 0 vorangeschritten ist, und die im folgenden als "x" bezeichnet wird.
Die Formel lautet nun:
e = (6 * x + 6 * d + N) mod 7
"x" ist nun leicht zu bestimmen. In jedem Gemeinjahr schreitet der Wochentag um einen Tag vorwärts, in jedem Schaltjahr um einen weiteren Tag. "x" ist also die Zahl der verstrichenen Jahre zuzüglich die Zahl der Schaltjahre. Die Zahl der Schaltjahre erhält man, indem man das letzte vorangegangene Schaltjahr bestimmt und die Zahl durch 4 teilt. Das letzte vorangegangene Schaltjahr erhält man, indem man die Jahreszahl durch 4 teilt und den ganzzahligen Rest von der Jahreszahl abzieht.
Beispiel: | 1582 mod 4 = 2; 1582 - 2 = 1580, 1580 / 4 = 395 Vor 1582 gab es also 395 Schaltjahre und somit auch 395 mal einen 29. Februar |
Daraus folgt, dass für "x" folgende Rechnung gilt:
x = Jahr + (Jahr - Jahr mod 4) /4
Die obige Formel lautet nun:
e = (6 * (Jahr + (Jahr - Jahr mod 4) / 4) + 6 * d + N) mod 7
Für die folgenden Rechnungen muss man nun noch zwei Modulodivisionen einführen:
b = Jahr mod 4 c = Jahr mod 7
Wie oben gezeigt, kann man anstelle von Jahr auch (Jahr mod 7) gleich c setzen, (Jahr mod 4) gleich b.
Die Formel lautet nun:
e = (6 * (c + (c - b) / 4) + 6 * d + N) mod 7
Um den Bruch wegzubringen ergänze man den Dividenden um +7 * c und um -7 * b, was das Ergebnis der Modulodivision nicht beeinflusst.
Nun gilt:
e = (6 * (c + (c + 7c - b - 7b) / 4) + 6 * d + N) mod 7 e = (6 * (c + (8c - 8b) / 4) + 6 * d + N) mod 7 e = (6 * (c + 2c - 2b) + 6 * d + N) mod 7 e = (6 * c + 12c - 12b + 6 * d + N) mod 7 e = (18c - 12b + 6d + N) mod 7 gekürzt um 2 * 7c und 2 * 7b ergibt dies: e = (4c + 2b + 6d + N) mod 7
Anstelle der erwähnten Berechnung (6 * x) mod 7 nimmt Gauss (2b + 4 c) mod 7; eine geniale Lösung!
Ein Beispiel macht am besten anschaulich, wie diese Rechenmethode funktioniert. Man sieht deutlich, wie sich die Differenz jedes Gemeinjahr um "1" und jedes Schaltjahr um "2" reduziert. und sich immer zwischen "0" und "6" bewegt.
Beispiel:
Jahr b c 2*b + 4*c (2*b + 4*c) mod 7 1 1 1 2 + 4 6 mod 7 = 6 2 2 2 4 + 8 12 mod 7 = 5 3 3 3 6 + 12 18 mod 7 = 4 4 0 4 0 + 16 16 mod 7 = 2 5 1 5 2 + 20 22 mod 7 = 1 6 2 6 4 + 24 28 mod 7 = 0 7 3 0 6 + 0 6 mod 7 = 6 u.s.w.
Es gilt nun:
e = (2b + 4c + 6d + N) mod 7
Für Ostern gilt:
Ostern = 21. März + d + e
Nun ist noch "N" zu bestimmen. Man kann leicht feststellen, dass gilt: N = 0 oder N = 7 (oder ein Vielfaches von 7).
Eine Schwierigkeit gibt es nun noch. Wenn Luna XIV auf einen Sonntag fällt, so ist e = 0 und Ostern würde auf den Frühlingsvollmond fallen. Man müsste also berücksichtigen, dass in diesem Falle Ostern um 7 Tage vorzuverlegen ist. Einfacher ist es jedoch, das Ausgangsdatum um 1 zu erhöhen auf den 22. März und dafür N um 1 zu reduzieren.
Die vollständige Formel für den alten Stil lautet nun:
a = Jahr mod 19 b = Jahr mod 4 c = Jahr mod 7 d = (19 * a + M) mod 30 [M = 15] e = (2 * b + 4 * c + 6 * d + N) mod 7 [N = 6] Ostern = 22. März + d + e |
So einfach diese Formel nachzuvollziehen ist, so genial ist es andererseits, auf diese Lösung zu kommen.
Seitenanfang | Seitenende |
Die Gauss´sche Formel kann sowohl für Osterberechnungen nach dem alten Stil wie auch nach dem neuen Stil herangezogen werden. Bei Berechnungen nach dem neuen Stil sind lediglich die Änderungen der Reformkommission zu berücksichtigen.
Nach dem alten Stil fällt Luna XIV im 1. Zyklusjahr immer auf den 36. März (= 5. April). Es galt daher: M = 15.
Bei neuen Stil müssen nun sowohl die Angleichung des Mondkalenders (aequatio lunaris) wie auch die Angleichung des Sonnenkalenders (aequatio solaris) berücksichtigt werden. Nach der aequatio lunaris schreitet Luna XIV alle 300 Jahre um einen Tag zurück, ausgehend vom 7. Jahrhundert.
Es gilt daher:
aequatio lunaris: Jahr div 300 - 2
Nach der aequatio solaris schreitet Luna XIV alle Jahrhunderte um einen Tag vor, nicht jedoch in jedem vierten Jahrhundert, ausgehend vom 3. Jahrhundert.
Es gilt daher:
aequatio solaris: Jahr div 100 - Jahr div 400 - 2
Für die Osterberechnung gilt nun:
M = 15 + aequatio solaris - aequatio lunaris M = 15 + Jahr div 100 - Jahr div 400 - 2 - Jahr div 300 + 2
Für das 20. Jahrhundert gilt: M = 15 + 19 - 4 - 2 - 6 + 2 = 24
Bei dem Parameter "N" ist natürlich lediglich die aequation solaris zu berücksichtigen.
Es gilt:
N = 6 + aequatio solaris N = 6 + Jahr div 100 - Jahr div 400 - 2 Für das 20. Jahrhundert: gilt: N = 6 + 19 - 4 - 2 = 19; 19 mod 7 = 5
Die Manipulationen der Reformkommission, die notwendig waren, um zu verhindern, dass Ostern auch einmal auf den 26. April fällt, lassen sich natürlich nicht in mathematische Formeln fassen. Man muss sie auf ihren Ursprung zurückbringen:
1.: Fällt Ostern rechnerisch auf den 26. April, so ist Ostern am 19. April 2.: Fällt Ostern rechnerisch auf den 25. April, so ist Ostern am 18. April, wenn folgende Bedingung gegeben ist: d = 28 und a > 10.
Seitenanfang | Seitenende |
Gauss ging in seiner Formel erst einmal davon aus, dass infolge der "aequatio lunaris" die Luna XIV, der zyklische "Frühlingsvollmond", alle 300 Jahre um einen Tag zurückschreitet. Die tatsächliche Regelung ist allerdings etwas komplizierter. Die Reformkommission kam 1582 zu dem Ergebnis, man müsse exakt alle 312.5 Jahre einen Epaktensprung vorzunehmen. Sie beschloss daher, beginnend mit 1800 sieben mal alle 300 Jahre zu schalten bis zum Jahre 3900, dann erst wieder nach einer Pause von 400 Jahren im Jahre 4300. Man hatte also einen Zyklus von 25 Jahrhunderten mit insgesamt 8 Schaltungen [2500 / 8 = 312.5].
C. F. Gauss berücksichtigte diese Regelung in einem handschriftlichen Nachtrag zu seiner Osterformel. Aus welcher Zeit diese Notiz stammt, ist nicht bekannt. In dem Artikel "Noch etwas über die Bestimmung des Osterfestes", veröffentlicht am 12. September 1807 im Braunschweigischen Magazin, geht Gauss noch von einem Epaktensprunge alle 300 Jahre aus. Erst in dem 1816 in der Zeitschrift für Astronomie und verwandte Wissenschaften erschienenen Artikel "Berichtigung zu dem Aufsatze: Berechnung des Osterfestes" teilte Gauss diese Ergänzung seiner Osterformel mit.
Dieser Nachtrag soll nun im Folgenden vorgestellt werden :
Nimmt man alle 300 Jahre einen Epaktensprung an, so kann man die Anzahl der Verschiebungen durch eine einfache Division H div 3 berechnen. H steht dabei für die Jahrhundertzahl. (H = Jahr div 100)
Für "M" in der Gauss´schen Formel gilt dann, wie oben erläutert:
M = 15 + H - (H div 4) - (H div 3) + 2 - 2
Will man den Zyklus von 25 Jahrhunderten berücksichtigen, so muss man anstelle von (H div 3) eine neue Berechnung einführen, deren Ergebnis im folgenden "p" genannt sein soll.
Der Zyklus beginnt mit dem Jahr 1800. Die Anzahl der seitdem bis zu dem gewünschten Jahr vergangenen Zyklen kann man durch eine einfache Division feststellen:
(H - 18)/ 25 = A Rest B (A und B jeweils Ganzzahlen)
daraus folgt:
(H - 18 - B) / 25 = A
A zeigt die vollständig verflossenen Zyklen an. (Allerdings ist A bis zum Jahre 4299 gleich 0). In jedem Zyklus gibt es 8 Schaltungen, A ist daher mit 8 zu multiplizieren. B steht für die Anzahl der Jahrhunderte innerhalb des laufenden Zyklus. 1800 waren 18/3 = 6 Schaltungen seit Beginn der Zeitrechnung verflossen.
Daher gilt:
p = 6 + 8A + (Zahl der Schaltungen in B)
Diese Zahl der Schaltungen, die im laufenden Zyklus bis B eingetreten sind, gilt es nun zu bestimmen:
Allgemein gilt: Wenn B der ganzzahlige Restwert aus einer Division durch "n" ist, kann B alle beliebigen Werte von 0 bis (n-1) annehmen. Für n = 25 gilt: 0 ≤ B ≤ 24.
Dividiert man nun B durch n so erhält man einen Wert, der grösser-gleich 0 und kleiner als 1 ist: Für B/n gilt: 0 ≤ B/n < 1.
Um nun gleichmässig verteilte Werte grösser-gleich 0 und kleiner als einen gewünschten Endwert "x" zu erhalten, muss man den Dividenden mit "x" multiplizieren: z =x*b/n. Berücksichtigt man nur ganzzahlige Ergebnisse und setzt "x" nie grösser als B, so gilt: kleinstes Ergebnis: 0 (für B = 0) und grösstes Ergebnis x - 1 (für B = n - 1). Alle Werte zwischen 0 und n - 1 sind nach Möglichkeit gleich häufig vertreten.
Beispiel: n sei 25, für B gilt dann: 0 ≤ B < 24
für x = 5: z : 0; 0.20; 0.40; 0.60; 0.80; 1.00; 1.20; 1.40; 1.60; 1.80; 2.00; 2.20; 2.40; 2.60; 2.80; 3.00; 3.20; 3.40; 3.60; 3.80; 4.00; 4.20; 4.40; 4.60; 4.80; (Ganzzahlige Werte: 0 bis 4) für x = 7: z: 0; 0.28; 0.56; 0.84; 1.12; 1.40; 1.68; 1.96; 2.24; 2.52; 2.80; 3.08; 3.36; 3.64; 3.92; 4.20; 4.48; 4.76; 5.04; 5.32; 5.60; 5.88; 6.16; 6.44; 6.72; (Ganzzahlige Werte: 0 bis 6) für x = 8: z : 0; 0.32; 0.64; 0.96; 1.28; 1.60; 1.92; 2.24; 2.56; 2.88; 3.20; 3.52; 3.84; 4.16; 4.48; 4.80; 5.12; 5.44; 5.76; 6.08; 6.40; 6.72; 7.04; 7.36; 7.68; (Ganzzahlige Werte: 0 bis 7)
Man sieht wie sich das Ergebnis immer um x/n vergrössert. Betrachtet man nur die Ganzzahlen, so sind sie möglichst gleich häufig vertreten. Ist dies nicht möglich, wie im obigen Beispiel bei x = 7 und bei x = 8, so werden zumindest die Intervalle zur nächsthöheren Ganzzahl gleichmässig verteilt sein. Möchte man diese Intervalle verschieben, so muss man den Nenner nochmals erweitern um einen Wert "y", also: (xB + y)/n. Solange "y" kleiner "x" ist, verändern sich die ganzzahligen Werte insgesamt nicht, auch die Höchstgrenze (x - 1) für den Wert (n - 1) wird nicht überschritten. Der Grenzwert zur nächsthöheren Ganzzahl verschiebt sich jedoch um so weiter zu den höheren Werten, je grösser "y" ist.
Nun zurück zur Restwertberechnung in der Osterformel. "n" ist in diesem Fall gleich 25. Da man 8 ganzzahlige Ergebnisse wünscht, muss "x" gleich 8 sein. Alle Zahlen werden als Ergebnis 3 mal vorkommen, ein Wert tritt jedoch 4 mal auf. Da dies am Ende des Zyklus bei dem höchstmöglichen Wert 7 vorkommen soll, muss "y" auch den höchstmöglichen Wert 7 annehmen.
Die Zahl der Schaltungen in B berechnet sich daher wie folgt:
(8B + 7) /25
Daher gilt:
p = 6 + 8A + (8B + 7) / 25 und da: A = (H - 18 - B) / 25 p = 150/25 + 8(H - 18 - B)/25 + (8B + 7)/25 = (150 + 8H - 144 - 8B + 8B + 7)/25 = (8H + 13)/25
Diese Formel nachzuvollziehen und zu beweisen ist leicht, sie zu entwickeln zeugt von Genialität. In ihr steckt ein herrlicher mathematischer Gedanke.
Die vollständige Berechnung des Osterdatum neuen Stils lautet nun:
a = Jahr mod 19 b = Jahr mod 4 c = Jahr mod 7 H1 = Jahr div 100 H2 = Jahr div 400 N = 4 + H1 - H2 M = 15 + H1 - H2- [(8 * H1 + 13) div 25] d = (19 * a + M) mod 30 e = (2 * b + 4 * c + 6 * d + N) mod 7 ostern = 22 + d + e wenn: (ostern = 57) dann: (ostern = 50) wenn: (d = 28) und (e = 6) und (a > 10) dann: (ostern = 49) ostern: Ostersonntag als Märzdatum |
Seitenanfang | Seitenende |
C. F. Gaus hat eine Reihe von Artikeln über Fragen der Chronologie verfasst. Sie sind alle abgedruckt in den "Gesammelten Werken", Band IV, S. 73 - 86 und Band XI. S. 197 - 218. Die Niedersächsische Staats- und Universitätsbibliothek Göttingen hat dieses Werk digitalisiert und ins Internet gestellt.
Seitenanfang | Seitenende |
Die Formel von C. F. Gauss gilt unbegrenzt für alle Zeiten. Dies wurde hier versucht zu beweisen. Die meisten Programme im Internet greifen auf die von Gauss entwickelten Algorithmen zurück. Leider wurden sie nicht immer richtig verstanden. Dies betrifft vor allem die Variablen M und N. Als man noch mit Papier und Bleistift arbeitete war es meist einfacher, für diese Parameter, die mit den Jahrhunderten wechseln, Listen anzulegen. Aus dieser Zeit stammt der Aberglaube, die Gauss'sche Formel sei nur für einen begrenzten Zeitraum zu benutzen.
Theoretisch kann man sogar mit negativen Jahreszahlen rechnen. Dabei ist allerdings folgendes zu beachten:
Natürlich macht es wenig Sinn, Ostern für die Zeit vor der Geburt Christi zu berechnen. Man kann aber den Algorithmus dazu benutzen, den Frühlingsvollmond auch für vorchristliche Jahrhunderte recht genau zu bestimmen:
H1 = Jahr div 100 H2 = Jahr div 400 M = 15 + H1 - H2- [(8 * H1 + 13) div 25] a = Jahr mod 19 d = (19 * a + M) mod 30 Frühlingsvollmond = 21. März + d
Beispiel: -311 (312 vor der Zeitrechnung)
M = 13
d = 1
Vollmond am 22. März gregorianisch gleich 27. März julianisch
astronomischer Vollmond war am 27. März -311, 14:07 Uhr UT, DeltaT gleich 03h58m
vgl.: http://sunearth.gsfc.nasa.gov/eclipse/phase/phases-0399.html
siehe auch das Rechenprogramm Frühlingsvollmond
Die Osterformel von C. F. Gauss | |
zur Einführung | zu Teil 1: Grundlagen |
Seitenanfang |
Startseite | Glossar | Gästebuch | Forum | Impressum | FAQ | Inhalt |