«Календарные вычисления» — это книга о календарных системах и алгоритмах преобразования компьютеров между ними. Он был написан учеными-компьютерщиками Нахумом Дершовицем и Эдвардом Рейнгольдом и опубликован в 1997 году издательством Cambridge University Press . Второе «тысячелетнее» издание с компакт-диском с программным обеспечением было опубликовано в 2001 году, третье издание - в 2008 году и четвертое «окончательное» издание - в 2018 году.
В разных обществах существовало много разных календарей, и переход между ними затруднен, в основном из-за невозможности согласовать иррациональные соотношения продолжительности дневных, месячных и годовых астрономических циклов с использованием целых чисел. [1] 14 календарей, обсуждаемых в первом издании книги, включали григорианский календарь , дату недели по ISO , юлианский календарь , коптский календарь , эфиопский календарь , исламский календарь , современный иранский календарь , календарь бахаи , французский республиканский календарь , старый и современный индуистский календарь. календари , календарь майя и современный китайский календарь . [1] [2] Более поздние издания расширили его до многих других календарей. [3] [4] [5] Они делятся на две группы: «арифметические» календари, расчеты которых могут производиться чисто математически, независимо от положения Луны и Солнца, и «астрономические» календари, частично основанные на них. позиции. [6]
Авторы разрабатывают отдельные алгоритмы календарных вычислений для преобразования каждого из этих календарей в общий формат — систему дней Rata Die , нумеруемую с 1 января (вымышленного) григорианского года 1. Сочетание этих методов позволяет осуществлять преобразование между любыми двумя календарями. календари. [2] [7] Одним из нововведений книги является использование умного кодирования для замены таблиц значений слегка нерегулярных последовательностей, таких как количество дней в месяце. [8] Авторы также обсуждают историю описываемых ими календарей, анализируют их точность по отношению к астрономическим событиям, для моделирования которых они были разработаны, и указывают важные дни в году каждого календаря. [2] В приложении содержится полная документация по программному обеспечению. [6] [9]
Одна из целей книги — предоставить удобное и эффективное открытое программное обеспечение в области, где предыдущие решения были в основном проприетарными, неполными и содержали ошибки. [8] Автор Эдвард Рейнгольд первоначально запрограммировал эти методы в Emacs Lisp , как часть текстового редактора GNU Emacs , и авторы расширили более раннюю журнальную публикацию об этой реализации в книгу. [1] [5] Этот код был преобразован в Common Lisp для книги, распространялся под открытой лицензией и включен в книгу как точный и недвусмысленный способ описания каждого алгоритма. [5]
Это прежде всего справочная книга, но ее могут прочитать и для удовольствия читатели, интересующиеся данной темой. [8] Рецензент Виктор Дж. Кац рекомендует эту книгу всем, кто «хотя бы интересуется тем, как мы обращаемся со временем». [2] Однако рецензент Джон Д. Кук отмечает, что для понимания деталей алгоритмов, описанных в книге, читатели должны быть знакомы с кодированием на Лиспе, и что ее трудно просматривать, не вдаваясь в детали. [5] С другой стороны, несмотря на то, что книгу читать нелегко, рецензент Антонио Ф. Раньяда рекомендует ее не только «математикам, астрономам или ученым-компьютерщикам, но также историкам или любому человеку, интересующемуся культурными аспектами науки». [1]
Рецензент Ноэль Свердлов рассматривает первое издание как «незавершенную работу», предпочитая таблицы Роберта Шрама XIX века компьютеризированным методам. [10] И хотя он хвалит его за то, что он избегает «второстепенных ошибок, упрощений третьего порядка и откровенных мифов», присущих многим другим работам тысячелетия в календаре, рецензент Роберт Пул указывает на слабость того, что он рассматривает только одну версию каждого календаря, тогда как исторически эти системы претерпевали множество изменений, и цитирует книгу, в которой отмечается, что ее результаты иногда «математически разумны, но культурно ошибочны». Добавляя, что сведение календаря, созданного человеком, к компьютерным расчетам является «чистым высокомерием», он, тем не менее, заключает: «Мы можем быть благодарны, что столь полезный справочный труд был создан на основе проекта такой внушающей трепет бесполезности». [11] А рецензент Манфред Кудлек называет это «самой обширной и подробной публикацией по календарным системам» со времен « Handbuch der mathematischen und technischen Chronologie» начала 20-го века Фридриха Карла Гинзеля . [9]