Displacement Calendar Revisited

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Displacement Calendar Revisited

Karl Palmen

Dear Irv, Michael, Victor and Other Calendar People


I hope Irv reads this note and understands it. If he does not understand, I’d like him to ask questions about it. Also Michael Ossipoff can confirm that my description is a correct description of his class of displacement calendars and if not explain how it differs.


From April this year, Michael Ossipoff defined class of calendars in which each year has a displacement associated with it, which is effectively the time the year begins relative to an ideal year and the ideal years have a constant length equal to the mean year of the calendar and expressible as a rational number of days. A leap day (or leap week) is added to the end of the year whenever needed to ensure that next year begins as near as possible to the start of its ideal year and if there is a tie between two possibilities the later one is chosen (to allow displacement +0.5 rather than -0.5).


The class that Michael actually defined is a little more general than this in that the ideal years are occasionally redefined  to keep the calendar accurate and the calendar year may be shifted so that each leap day occurs within a calendar year rather than at the end. I’ll not concern myself with either generalisation here.



This class without either generalisation was not new to the list and Irv has defined an equivalent class. An equivalent class has also been defined in the book “Calendrical Calculations” by Nachum Dershowitz and Edward M Reingold at http://www.cs.tau.ac.il/~nachum/calendar-book/index.shtml . I’ve seen it in the second edition and expect it in the third edition.


What was new is the concept of displacement. The displacement concept embodies the intuitive idea of each year being displaced from an ideal position.



I’ll next show how the displacement relates to earlier descriptions of this class of calendars.


The displacements that may be used for a given calendar are not unique. A small constant shift in the displacement of each year may leave the calendar unchanged. However the displacements do become unique to a given calendar, if there exists a year with displacement exactly zero. I’ll call such displacements canonical displacements. All examples the Michael has shown with mean year 365.24219 days or 365.24165 days use canonical displacements. Every minimum displacement calendar can be defined with canonical displacements.


Let C be the denominator of the ideal year length (calendar mean year) in days for a leap day calendar or weeks for a leap week calendar and L the numerator of its fractional part. Then the calendar will follow a C-year cycle with L leap years.

Here I define a unit to be a day for a leap day (non-fixed) calendar and a week for a leap week (fixed) calendar.

The displacements can be made canonical without changing any leap years by the following:

If L is even, round up to a multiple of 1/C units.

If L is odd, subtract 1/2C units, then round up to a multiple of 1/C units.


I like to work in integers and I know:

If a canonical displacement in units is multiplied by C, one gets an integer.

Also each year this integer displacement goes up by L after a common year or down by C-L after a leap year.


If C is even, then this integer displacement has a range of (2-C)/2 to C/2 inclusive and if C is odd the range is (1-C)/2 to (C-1)/2 inclusive. Both these ranges begin and end with an integer. If we subtract the minimum displacement of each range from that range, the range becomes 0 to C-1 inclusive in both cases.

Also a year is a leap year if and only if this shifted integer displacement (SID) is greater than or equal to C-L.

Then next year’s SID is less than L.

So a year is a leap year if and only if next year’s SID is less than L.

If the SID of year 1 is equal to K, we get, Year Y is a leap year if and only if


Remainder of (L*Y + K) divided by C is less than L.


Noting that Remainder of (L*Y + K) is simply the SID of year Y+1.

This Remainder of (L*Y + K)  has been called the accumulator of year Y. The name of accumulator comes from Victor’s 28/293 calendar which has a monthly accumulator.

The accumulator of year Y is equal to the SID of year Y+1.


If year Z is the year whose accumulator is zero, then the accumulator of year Y is also equal to


Remainder of L*(Y-Z) divided by C, for non-negative remainder.


Then K = Remainder of –L*Z divided by C, for non-negative remainder.


The K has been used by Irv and myself, while “Calendrical Calculations” used Z, but with a capital delta for it in the second edition. Year Z is the leap year with longest possible wait to all subsequent leap years. It has the lowest displacement for a leap year.


If C is odd and K = (C-1)/2, then the canonical displacement of year 1 is zero and the cycle is symmetrical  (about its centre year (C+1)/2). I’ve referred to such a cycle as a Helios cycle, because Helios has produced many examples of such cycles and has put the leap years of such cycles into a magic square (in which some leap years are repeated). Irv has described such cycles in detail.


If C is even and the displacement of year 1 is zero, then K = (C-2)/2 and the cycle is symmetrical except for the two middle years of which the second is a leap year. The mirror image of this cycle (which is the same except the first instead of the second middle year is a leap year) has K = C/2 and the canonical displacement of year 1 is +1/C. Irv is interested in such cycles.