Календарные расчёты (Tglyu;gjudy jgvc~md)

Перейти к навигации Перейти к поиску

Календарные расчёты (англ. Calendrical Calculations) — книга по календарным системам и алгоритмам для компьютеров для преобразования между ними. Она была написана компьютерными учёными Нахумом Дершовицем[англ.] и Эдвардом Рейнгольдом[англ.] и опубликована в 1997 году издательством Cambridge University Press. Второе издание с программным обеспечением на CD-ROM было опубликовано в 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» Фридриха Карла Гинзеля в начале XX века[9].

Примечания

[править | править код]
  1. 1 2 3 4 Rañada, Antonio F. (March 1998), "Review of Calendrical Calculations (1st ed.)", European Journal of Physics, 19 (2), doi:10.1088/0143-0807/19/2/020
  2. 1 2 3 4 Katz, Victor J., "Review of Calendrical Calculations (1st ed.)", Mathematical Reviews, MR 1462888
  3. Akutowicz, A., "Review of Calendrical Calculations (2nd ed.)", Zentralblatt MATH, Zbl 1004.01001
  4. Lumiste, Ülo, "Review of Calendrical Calculations (3rd ed.)", Zentralblatt MATH, Zbl 1141.01001
  5. 1 2 3 4 Cook, John D. (July 2018), "Review of Calendrical Calculations (4th ed.)", MAA Reviews, Математическая ассоциация Америки, Архивировано 18 октября 2020, Дата обращения: 13 октября 2020 Источник. Дата обращения: 13 октября 2020. Архивировано 18 октября 2020 года.
  6. 1 2 McCarthy, Daniel (December 1998), "Review of Calendrical Calculations (1st ed.)", Isis, 89 (4): 703—704, JSTOR 236740
  7. Kelley, David H. (November 1999), "Calendrical systems explored", Journal for the History of Astronomy, 30 (4): 407—409, Bibcode:1999JHA....30..407D, doi:10.1177/002182869903000404
  8. 1 2 3 Wynne Willson, William (March 1999), "Review of Calendrical Calculations (1st ed.)", The Mathematical Gazette, 83 (496): 159—160, doi:10.2307/3618726, JSTOR 3618726
  9. 1 2 Kudlek, Manfred, "Review of Calendrical Calculations (1st ed.)", Zentralblatt MATH, Zbl 0894.01023
  10. Swerdlow, N. M. (July 1998), "Review of Calendrical Calculations (1st ed.)", IEEE Annals of the History of Computing, 20 (3): 78—78, doi:10.1109/mahc.1998.707580
  11. Poole, Robert (March 1999), "Review of Calendrical Calculations (1st ed.)", The British Journal for the History of Science, 32 (1): 116—118, JSTOR 4027975; reprinted in Mathematics in School (1998), JSTOR 30215396