The Holy Algorithm

post by Elmer of Malmesbury · 2021-04-03T18:09:53.117Z · LW · GW · 9 comments

This is a link post for

As it will surely not have escaped your insight, this weekend is Easter. Why now? The date of Easter is determined by a complicated process called the Computus Ecclesiasticus. I will just quote the Wikipedia page:

The Easter cycle groups days into lunar months, which are either 29 or 30 days long. There is an exception. The month ending in March normally has thirty days, but if 29 February of a leap year falls within it, it contains 31. As these groups are based on the lunar cycle, over the long term the average month in the lunar calendar is a very good approximation of the synodic month, which is 29.53059 days long. There are 12 synodic months in a lunar year, totaling either 354 or 355 days. The lunar year is about 11 days shorter than the calendar year, which is either 365 or 366 days long. These days by which the solar year exceeds the lunar year are called epacts. It is necessary to add them to the day of the solar year to obtain the correct day in the lunar year. Whenever the epact reaches or exceeds 30, an extra intercalary month (or embolismic month) of 30 days must be inserted into the lunar calendar: then 30 must be subtracted from the epact.

If your thirst of knowledge is not satisfied, here is a 140-page document in Latin with more detail.

As far as I understand, during the Roman Era the Pope or one of his bureaucrats would perform the computus, then communicate the date to the rest of Christianity and everybody could eat their chocolates at the same time. Then, the Middle-Ages happened and communication became much harder, so instead they came up with a formula so people could compute the date of Easter locally. Of course, the initial formulas had problems – with the date of Easter dangerously drifting later and later in the year over centuries, and don’t even get me started on calendar changes. Eventually Carl Friedrich Gauss entered the game and saved humanity once again with a computationally-efficient algorithm (I am over-simplifying the story so you have more time to eat chocolate).

But now is 2021, and I’m wondering how they run the algorithm now, in practice. I looked up “how is the date of Easter calculated” but all the results are about the algorithms themselves, not about their practical implementation. I have a few hypotheses:

  1. There are responsible Christians everywhere who own printed tables with the dates of Easter already computed for the next few generations. If your Internet goes down, you can probably access such tables at the local church.
Here is such a table from 1907 (Wikimedia commons)

Of course this does not really solve the problem: who comes up with these tables in the first place? Who will make new ones when they expire?

2. There is a ceremony in Vatican where a Latin speaker ceremoniously performs the Holy Algorithm by hand, outputs the date of Easter, prints “Amen” for good measure and then messengers spread the result to all of Christianity.

3. Responsible Christians everywhere own a Computus Clock, a physical device that tells you if it is Easter or not. When in doubt, you just pay a visit to that-guy-with-the-computus-clock. Then, it is like hypothesis 1 except it never expires.

4. There is software company (let’s call it Vatican Microsystems®) who managed to persuade the Pope to buy a license for their professional software solution, Computus Pro™ Enterprise Edition 2007 – including 24/7 hotline assistance, that only runs on Windows XP and they have a dedicated computer in Vatican that is used once in a while to run these 30000 lines of hard Haskell or something. Then, it goes just like hypothesis 2.

(Of course, all of these solutions are vulnerable to hacking. It might be as easy as sneaking into a church and replace their Easter tables with a fake. A talented hacker might even have it coincide with April fools.)

If an active member of the Christian community reads this and knows how it is done in practice, I am all ears.

Anyways, happy Easter and Amen, I guess.


Comments sorted by top scores.

comment by Viliam · 2021-04-04T15:55:11.352Z · LW(p) · GW(p)

The (Catholic) values are already calculated until at least 2200.

There is a possibility that the algorithm may change, because currently different branches of Christianity use different algorithms, and many of them agree that it would be great to coordinate on the same date of Easter.

Seems to me that the problem is mostly political. Even if "everyone agreeing on the date of Easter" is higher in your utility function than "keeping our old algorithm", adopting your competitor's algorithm still costs you status, but new proposed algorithms are not Schelling points.

Current proposals for universal Easter time ;) include:

  • use the traditional algorithm based on Gregorian calendar (between March 22nd and April 25th);
  • use the traditional algorithm based on Julian calendar (between April 4th and May 8th);
  • use a modified algorithm based on Gregorian calendar, using the latest scientific definition of "beginning of the spring" at the meridian of Jerusalem (proposed by World Council of Churches);
  • keep it simple, e.g. the second Sunday of April.
Replies from: Dirichlet-to-Neumann
comment by Dirichlet-to-Neumann · 2021-04-05T08:33:28.706Z · LW(p) · GW(p)

Main problem seems to be that the Orthodox church, seeing that the sun was agreeing with the pope, proceeded to declare the sun to be heretic and anathema and to keep its traditional computation.

But the "WCoC" and "simple" solutions seems to be better Schelling points that "do as Catholic do cause the pope has the biggest hat".

comment by Dale Udall · 2021-04-04T07:04:58.102Z · LW(p) · GW(p)

This is especially relevant in 2021, when Easter and Passover both fall on the same weekend.

I remember looking this up and thinking, "If I ever get trapped in a nonhuman universe, I'll just celebrate it on the weekend of the first full moon of spring."

comment by Dirichlet-to-Neumann · 2021-04-05T08:30:08.224Z · LW(p) · GW(p)

As far as I am aware the computation is in fact a rather simple "first Sunday after the first full moon after the Spring equinox" for the Catholic church, so anybody can just look at the sky and compute the date. 

Replies from: Viliam
comment by Viliam · 2021-04-05T14:54:03.709Z · LW(p) · GW(p)

I imagine that once in a while there may be a problem with precision, when two things appear approximately at the same time. Did the full moon happen at the same time as the equinox, or did it actually happen a few minutes sooner, therefore we need to wait for the next one? Did the full moon happen slightly before or slightly after the Sunday midnight?

I have no idea how often this happens in practice, and what precision is used to determine "equinox" and "full moon". But I guess that's what the 140-page Latin documentation is for.

Replies from: Dirichlet-to-Neumann
comment by Dirichlet-to-Neumann · 2021-04-10T10:25:06.363Z · LW(p) · GW(p)

In practice it's pretty unlikely (I actually had a look at it recently when I was looking for years where both the feast of St Joseph and the Annunciation fall during the Holy Week and must be pushed back to after Easter).

comment by Stirling_Westrup2 · 2021-04-04T02:32:13.006Z · LW(p) · GW(p)

My friend owns a book named "Calendrical Calculations" (or is that 'computations'?) giving a large number of algorithms for calculating special dates in different calendars.

comment by alahonua · 2021-04-03T20:12:50.491Z · LW(p) · GW(p)

Actually, the Easter 2021 date is in May for some Eastern communities: see

Replies from: Elmer of Malmesbury
comment by Elmer of Malmesbury · 2021-04-04T05:00:00.617Z · LW(p) · GW(p)

This is both messed up and not surprising.