online shopping mall   online shopping mall ad
Welcome to Dynamic Plaza online shopping mall. We have prepared millions of merchandise. You may search products for online shopping. If you would like to see all the products for a certain specialty, you may browse the categories of this online store.
Calendrical Calculations
Calendrical Calculations
Click for a closer view

Nachum Dershowitz, Edward M. Reingold
List Price: $29.99
Our Price: $11.75
You Save: $18.24 (61%)

Availability: Usually ships in 1-2 business days


Product Details

  • Author: Nachum Dershowitz, Edward M. Reingold
  • Binding: Paperback
  • Dewey Decimal Number: 529.3
  • EAN: 9780521702386
  • ISBN: 0521702380
  • Label: Cambridge University Press
  • Manufacturer: Cambridge University Press
  • Number of Items: 1
  • Number of Pages: 512
  • Product Group: Book
  • Publication Date: 2007-12-10
  • Publisher: Cambridge University Press
  • Studio: Cambridge University Press
  • Title: Calendrical Calculations
Avg Customer Rating: 4 stars

Product Description: A valuable resource for working programmers, as well as a fount of useful algorithmic tools for computer scientists, this new edition of the popular calendars book expands the treatment of the previous edition to new calendar variants: generic cyclical calendars and astronomical lunar calendars as well as the Korean, Vietnamese, Aztec, and Tibetan calendars. The authors frame the calendars of the world in a completely algorithmic form, allowing easy conversion among these calendars and the determination of secular and religious holidays. LISP code for all the algorithms are available on the Web.


Customer Reviews


5 stars A lot of what you need to understand calendars
I am amazed by the clarity and "simplicity" of the text in the book.
Calendars are not simple at all, but the approach taken by the authors makes the algorithms involved very accessible. I also appreciated the decision to focus on clarity rather then performance.


5 stars Excellent 3rd edition has algorithms that are hard to find
This is an interesting little book that provides a unified algorithmic presentation for more than two dozen calendars of current and historical interest. The book gives precise descriptions of each calendar and makes accurate calendar algorithms available for computer programmers. The complete workings of each calendar are described in verbage and then mathematically. Working computer programs are included in an appendix and on the accompanying CD.

The one thing I didn't care for was the choice of Lisp as the implementation language in appendix B. However, this isn't too big of a problem since equivalent Java programs are on the book's website along with the Lisp implementations. Also, since the mathematical equations of conversion are clearly given, you can choose your own implementation language with few problems. The following is the table of contents:

1. Introduction

Part I. Arithmetical Calendars:
2. The Gregorian calendar
3. The Julian calendar
4. The Coptic and Ethiopic calendars
5. The ISO calendar
6. The Islamic calendar
7. The Hebrew calendar
8. The Ecclesiastical calendars
9. The Old Hindu calendars
10. The Mayan calendar
11. The Balinese Pawukon calendar
12. Generic cyclical calendars

Part II. Astronomical Calendars:
13. Time and astronomy
14. The Persian calendar
15. The Baha'i calendar
16. The French Revolutionary calendar
17. The Chinese calendar
18. The modern Hindu calendars
19. The Tibetan calendar
20. Astronomical lunar calendars coda

Part III. Appendices:
A. Function, parameter, and constant types
B. Lisp implementation
C. Sample data.


5 stars Ignore the reviewers virtualtraveler and "A reader"
The reason why these people use the code in Emacs is that they wrote it. The authors virtually created the field of computerised calendaring, and then published the algorithms in two landmark papers in SPE in 1990 and 1993.


5 stars An excellent book with a mean spirited license
An excellent book on the history and workings of various calendars. But dont use the source code! The licensing agreement is a trap. Use the code in GNU Emacs from the Free Software Foundation distributed under the General Public License. It does everything the authors code does (except for two obscure calendars) and it's free and always will be.


5 stars highly readable and reliable description of many calendars
The book explains the structure of 14 calendars, and gives easily comprehensible formulae for the conversion of a date in any of these calendars into a day count, and back to the calendar date. It also includes many holidays for these calendars.

Rather than on the history of calendars or their cultural background, the focus is on a lucid, correct, and complete exposition of their functional principles. Extensive bibliographic references are given to the primary sources for each calendar.

A highlight is the complete specification of several calendars depending on fairly precise timings of astronomical phenomena (Chinese calendar and some Hindu religious calendars).

To make it self-contained, the book explains the necessary mathematical and astronomical background. The astronomical models are taken from the classic 1991 book "Astronomical Algorithms" by Jean Meeus.

I especially like the presentation of the calendrical formulae in an essentially non-algorithmic manner, using normal mathematical notation. This makes it easy to further analyze these formulae.

For instance, if one wants to know how good an approximation to the spring equinox is March 21 in the Gregorian calendar, one finds from the formula on page 36 in the book that midnight of March 21 in Gregorian year Y is exactly

Y·365.2425 - (Y mod 4)·97/400 + (floor(Y/4) mod 25)·3/100 - (floor(Y/100) mod 4)/4

days after midnight of March 21 in Gregorian year 0, which ranges from Y·365.2425 - 1.4775 up to Y·365.2425 + 0.72. Thus, even assuming the Gregorian approximation of 365.2425 days to the tropical year, spring equinoxes are distributed over at least three dates in March in the Gregorian calendar.

Such reasonings would be very difficult if the book specified the calendars only in terms of programming language code.

The formulae are designed so that it is easy to incorporate them into code written in the programming language of your choice. This use is further supported by a set of test dates in an appendix. Another appendix lists an example implementation of all the formulae, in the programming language Common Lisp. This code (intended for personal use) can also be downloaded from the internet.

But this book is much more than a collection of programming recipes for many calendars -- it makes you understand the structure of those calendars. Ambitious readers can even find the data and the methods to construct their own calendrical formulae.

What would I like to be changed in the book? Not much. Some of the calendrical formulae could be further simplified, the astronomical terminology could be modernized in places, and perhaps some additional historical information could be added. And, of course, even more calendars! For instance, some of the proposed reformed calendars, a more widespread version of the Persian calendar, or an historic Japanese calendar.

This book is a must for everybody wanting reliable and highly readable information on the functional principles of the world's calendars.

Michael Deckers