Kalenterilaskelmat - Kirja kalenterijärjestelmistä jatietokoneiden tietokoneiden välisen muuntamisen algoritmeista . Sen kirjoittivat tietotekniikan tutkijat Nachum Dershowitz Edward Reingold ja Cambridge University Press julkaisi sen vuonna 1997. Toinen painos ohjelmistoineen CD-ROM-levyllä julkaistiin vuonna 2001, kolmas painos vuonna 2008 ja neljäs painos vuonna 2018.
On olemassa monia erilaisia kalentereita, ja päivämäärien muuntaminen niiden välillä on erittäin vaikeaa, mikä johtuu pääasiassa siitä, että päivä-, kuukausi- ja vuosittaisten tähtitieteellisten syklien irrationaalisia suhteita ei voida sovittaa yhteen kokonaislukujen avulla [1] . Kirjan ensimmäisessä painoksessa käsiteltyihin 14 kalenteriin sisältyivät gregoriaaninen kalenteri , viikon ISO - päivämäärä julialainen kalenteri , koptikalenteri , etiopialainen kalenteri , islamilainen kalenteri , nykyaikainen iranilainen kalenteri , bahá'i-kalenteri , Ranskan tasavaltalainen kalenteri , vanha ja moderni hindukalenteri , Maya-kalenteri ja moderni kiinalainen kalenteri [1] [2] . Myöhemmät julkaisut ovat lisänneet muita kalentereita [3] [4] [5] . Kalenterit on jaettu kahteen ryhmään: "aritmeettiset" kalenterit, joiden laskelmat voidaan suorittaa puhtaasti matemaattisesti riippumatta Kuun ja Auringon sijainnista, ja "astronomiset" kalenterit, jotka perustuvat osittain Kuun ja Auringon sijaintiin [ 6] .
Kirjoittajat ovat kehittäneet kalenterin laskenta-algoritmeja muuntaakseen kunkin kalenterin päivämäärät muiden kalenterien päivämääriksi laskemalla Rata Die -päivien järjestelmän , joka on numeroitu 1. tammikuuta 1. gregoriaanisen kalenterin mukaan. Yhdistämällä nämä menetelmät voit muuntaa minkä tahansa kahden kalenterin välillä [2] [7] . Yksi kirjan innovaatioista on koodauksen käyttö korvaamaan epäsäännöllisten sekvenssien, kuten päivien lukumäärän kuukaudessa, arvotaulukot [8] . Kirjoittajat kuvaavat myös kuvaamiensa kalentereiden historiaa, analysoivat niiden tarkkuutta niiden tähtitieteellisten tapahtumien suhteen, joita ne luotiin mallintamaan, ja osoittavat tärkeitä päiviä kunkin kalenterin vuoden aikana [2] . Sovellus sisältää täydellisen ohjelmistodokumentaation [6] [9] .
Yksi kirjan tavoitteista on tarjota hyödyllisiä ja tehokkaita avoimen lähdekoodin ohjelmistoja alalla, jossa aiemmat ratkaisut ovat olleet enimmäkseen patentoituja, epätäydellisiä ja bugisia [8] . Kirjoittaja Edward Reingold ohjelmoi nämä menetelmät alun perin Emacs Lispissä osana GNU Emacsin tekstieditoria , ja kirjoittajat ovat laajentaneet tätä toteutusta käsittelevän aikaisemman julkaisun kirjaksi [1] [5] . Tämä koodi on muunnettu Common Lisp -koodiksi avoimella lisenssillä olevaa kirjaa varten, ja se sisältyy kirjaan tarkana ja yksiselitteisenä tapana kuvata jokaista algoritmia [5] .
Kirja on ensisijaisesti hakuteos, mutta sitä voivat lukea myös aiheesta kiinnostuneet lukijat [8] . Arvostelija Victor J. Katz suosittelee tätä kirjaa kaikille, jotka ovat kiinnostuneita siitä, kuinka hallitsemme aikaa [2] . Arvostelija John D. Cook huomauttaa kuitenkin, että lukijoiden on tunnettava Lisp-ohjelmointi ymmärtääkseen kirjassa kuvattujen algoritmien yksityiskohdat, ja että kirjan selaaminen ei riitä käsittelemättä yksityiskohtia [5] . Toisaalta, vaikka se ei olekaan helppolukuista, arvostelija Antonio F. Rañada suosittelee kirjaa paitsi "matemaatikoille, tähtitieteilijöille tai tietojenkäsittelytieteilijöille, vaan myös historioitsijoille tai kaikille tieteen kulttuurisista näkökohdista kiinnostuneille" [1] .
Arvostelija Noel Swerdlow pitää ensimmäistä painosta "työnä käynnissä" ja pitää Robert Schramin 1800-luvun taulukoita tietokonemenetelmien sijaan [10] . Ja vaikka arvostelija Robert Poole ylisti kirjaa "käytettyjen virheiden, kolmannen asteen yksinkertaistamisen ja suoranaisten myyttien" puutteesta, joka löytyy monista muista kalenteriaiheeseen liittyvistä teoksista, arvostelija Robert Poole huomauttaa, että kirja käsittelee vain yhtä versiota kustakin kalenterista, vaikka historiallisesti nämä kalenterijärjestelmät ovat olleet useiden tarkistusten kohteena, ja lainaa kirjaa huomauttaen, että sen tulokset ovat joskus "matemaattisesti järkeviä, mutta historiallisesti vääriä". Lisäten, että ihmisen tekemän kalenterin pelkistäminen tietokonelaskelmaan on "puhdasta ylimielisyyttä", hän kuitenkin päättelee, että "saamme olla kiitollisia siitä, että tällainen hyödyllinen viittaus on tuotettu niin kunnioitusta herättävästä turhasta projektista" [11] . . Arvioija Manfred Kudlek kutsuu sitä "kattavimpana ja yksityiskohtaisimpana kalenterijärjestelmiä käsittelevänä julkaisuna" sitten Friedrich Karl Ginselin Handbuch der Mathematischen und Technischen Chronologien 1900-luvun alussa [9] .