Tikalon Blog is now in archive mode.
An easily printed and saved version of this article, and a link
to a directory of all articles, can be found below: |
This article |
Directory of all articles |
Calculating Easter
April 5-8, 2012
Easter is this Sunday, April 8, 2012. Last year, it was on April 24, and in 2010, it was on April 4.
Why the variation?
I present the method used to determine the date of Easter, so you'll have a short programming exercise to do on your holiday.
Tikalon is on an Easter holiday.
Our next regular article will appear on Monday (April 9, 2012).
The calculation of the date of Easter is so important that it has a special name,
Computus. The date of Easter is the Sunday following the first
full moon after the
vernal equinox, the
astronomical marker for
spring. With that information, you would think that all you would need to do is consult some standard astronomical tables and point to the right Sunday on the
calendar.
The problem here is that both the vernal equinox and the full moon are not observationally determined. They are calculated by some simple astronomical
models. This is not as odd as it seems, since it eliminates the need to do the observations. As the
Muslims have discovered in the timekeeping for their holy days, such as
Ramadan, observation poses a problem. The date of certain Muslim holy days is set by the first sighting of the
lunar crescent in
Saudi Arabia, a difficult observation.
According to the model, the date of the vernal equinox is set to be always March 21. The so-called
Ecclesiastical Full Moon is determined through computation. The time of this full moon is determined by the idea that there should be 235
synodic months in 19
years. This isn't a bad estimate, since there are actually 234.997. A consequence of this is that the earliest Easter is on March 22, and the latest Easter is on April 25.
Our venerable timekeepers,[2] the
astronomers at the
US Naval Observatory, give the following
algorithm for calculating the date of Easter.[1] The calculated date( year, month, day = y, m, d) is the
Gregorian date. The
Eastern Orthodox Church uses the
Julian Calendar, so its date for Easter is often different. The
division operator (
/) in these formulae is for
integer division, so any
remainder is dropped; e.g., 12/5 = 2. The algorithm appeared in a 1992 Naval Observatory publication.[3]
c = y / 100
n = y - 19 * ( y / 19 )
k = ( c - 17 ) / 25
i = c - c / 4 - ( c - k ) / 3 + 19 * n + 15
i = i - 30 * ( i / 30 )
i = i - ( i / 28 ) * ( 1 - ( i / 28 ) * ( 29 / ( i + 1 ) ) * (( 21 - n ) / 11 ))
j = y + y / 4 + i + 2 - c + c / 4
j = j - 7 * ( j / 7 )
l = i - j
m = 3 + ( l + 40 ) / 44
d = l + 28 - 31 * ( m / 4 )
For the year 2012, we get the following intermediate values: c = 20, n = 17, k = 0, i = 17, j = 6, and l = 11.
I'm leaving the
programming as an exercise to the interested reader. This might be a good homework assignment for a programming course, and it would certainly teach how the division operator works with integer variables. I have, however, implemented this algorithm as an
Open Office spreadsheet,
Easter.ods, translated into an
Excel spreadsheet,
Easter.xls
The spreadsheets illustrate how to avoid a typical pitfall of translating
mathematical formulae into spreadsheet formulae; that is, how to properly treat negation. You can't copy and paste formulae and hope to get the proper results.
For a short summary of why there are
Easter bunnies, see Ref. 4.[4]
How can we show bunnies without some complementary chicks!
(Source image: Wikimedia Commons))
References:
- Computing the Date of Easter, US Naval Observatory.
- US Naval Observatory Master Clock.
- The algorithm was designed by J.-M. Oudin (1940). It appears in L. E. Doggett, "Calendars", Chapter 12 of "Explanatory Supplement to the Astronomical Almanac," P. K. Seidelmann, Ed., (1992, revised 2006).
- Marylynn Uricchio, "Hippity Hoppity: Rabbits abound during Easter," Pittsburgh Post-Gazette, April 3, 2012.
Permanent Link to this article
Linked Keywords: Easter; date of Easter; Tikalon; Computus; full moon; vernal equinox; astronomy; astronomical; spring; calendar; model; Muslims; Ramadan; lunar crescent; Saudi Arabia; Ecclesiastical Full Moon; synodic month; year; astronomer; US Naval Observatory; algorithm; Gregorian calendar; Gregorian date; Eastern Orthodox Church; Julian Calendar; division operator; integer division; remainder; programming language; computer program; Open Office; spreadsheet; Easter.ods; Excel; Easter.xls; mathematical formula; Easter bunny; Wikimedia Commons.