Календари (в смысле систем счисления времени, а не в смысле типографской продукции) были моим хобби еще в младшем школьном возрасте. Поэтому, когда я прочитал статью Расчет пасхи, у меня сразу зачесались руки написать «исправленную и дополненную редакцию» этой статьи. Да и khdavid (ее автор) меня вроде бы поддержал. В общем, если вы читаете эту статью, значит возникшего импульса мотивации все-таки хватило, чтобы преодолеть мою обычную дурную бесконечность перфекционистской рефлексии.

Не вдаваясь в историю, приведу основной принцип расчета христианской Пасхи. Пасха празднуется в первое воскресенье после первого весеннего полнолуния, т. е. первого полнолуния, бывшего не раньше дня весеннего равноденствия. И у православных, и у католиков используется не астрономическое, а расчетное весеннее полнолуние. Разница только в этом самом расчете.

Александрийская пасхалия


Начнем с пасхалии, которую использует большинство православных церквей (несмотря на то, что большинство из них перешли с юлианского календаря на новоюлианский). Полное описание всех связанных с ней расчетов в традиционных источниках выглядело достаточно внушительно и использовало с полдюжины загадочных и затейливых терминов, таких как «эпакта» или «вруцелето». Но по сути она достаточно проста. В основе ее лежит расписание новолуний и полнолуний, которое в свою очередь основано на известном 19-летнем метоновом цикле (19 лет ? 235 месяцев ? 6940 дней).

За день весеннего равноденствия в александрийской пасхалии принято 21 марта по юлианскому календарю. Первое весеннее полнолуние можно рассчитать по удивительно простой схеме. Начав с заданного для первого года цикла дня (конкретно — 5 апреля), в каждом следующем году мы либо отнимаем 11 дней от предыдущей даты, либо, чтобы не уехать раньше равноденствия, добавляем к ней 19 дней. Эта простая схема почти работает. За 19 лет мы 12 раз вычитаем 11 дней и 7 раз добавляем 19. 19*7-11*12=1 день мы должны дополнительно вычесть при переходе к первому году следующего 19-летнего цикла. Это нарушение схемы на границе циклов получило название «скачок луны» (saltus lunae).

Чтобы лучше понять, как это работает, надо упомянуть цикл Каллиппа, который в замаскированном виде на самом деле лежит в основе этой пасхалии. Это не противоречит утверждению про метонов цикл, потому что 76-летний цикл Каллиппа — это просто 4 метоновых цикла: три по 6940 дней и один из 6939 дней. Можно было бы назвать цикл Каллиппа адаптацией метонова цикла к юлианскому календарю, если бы он не был придуман примерно на 3 века раньше этого календаря.

При расчетах александрийской пасхалии игнорируются все високосные дни и годы считаются по 365 дней, а промежутки между пасхальными полнолуниями (фактически годы лунно-солнечного календаря, встроенного в пасхалию) считаются по 354 и 384 дня. За счет этого упрощения с одной стороны теряются 15 дней за цикл Каллиппа (3,75 дня на метонов цикл), но с другой — пропущенные 29 февраля дают лишних 19 дней за это время (4,75 дня на метонов цикл). Один лишний день на метонов цикл и приводит к «скачку луны».

Григорианская пасхалия


Юлианский календарь не особенно точен. Точность цикла Каллиппа по отношению к фазам луны не намного лучше. В конце концов отклонения расчетных равноденствий и полнолуний от астрономических обеспокоили католическую церковь и в 1582 году Римский Папа Григорий XIII принял новый календарь и новую пасхалию, названные впоследствии его именем.

Григорианская пасхалия является «пропатченной» версией александрийской. Помимо исправления ошибок, уже накопившихся со времени Никейского Собора 325 г. (на котором были приняты основные принципы расчета Пасхи), было добавлено два «патча», исправляющие неточность цикла Каллиппа по отношению к солнцу и луне за счет периодических поправок.

«Солнечный патч» отнимает 3 дня каждые 400 лет за счет того, что годы, кратные 100, но не кратные 400, являются в григорианском календаре простыми.

«Лунный патч» отнимает 8 дней каждые 2500 лет из виртуального лунно-солнечного календаря, встроенного в пасхалию, сдвигая даты расчетных фаз луны назад на 1 день в годы, при делении на 2500, дающие остатки 200, 500, 800, 1100, 1400, 1800, 2100 и 2400.

Поверх этих двух был добавлен еще третий «патч», о котором я напишу чуть ниже.

В остальном григорианская пасхалия ничем не отличается от александрийской. Днем весеннего равноденствия считается 21 марта теперь уже григорианского календаря, и используется тот же хак с упрощением и «скачком луны».

Багофичи и костыли


1. До того, как я узнал какие именно исправления вносит «лунный патч», я представлял его себе относящимся к григорианскому календарю, т. е. примененным поверх «солнечного». Важно понимать, что это не так. Оба «патча» — и «лунный», и «солнечный» — применяются именно к александрийской пасхалии независимо друг от друга. Их взаимодействие приводит к интересным последствиям. Исключение одного дня «солнечным патчем» означает сдвиг расчетных фаз луны на день вперед. Если это совпало со сдвигом, введенным «лунным патчем», они компенсируют друг друга и поправки для пасхалии не возникает. Наконец, если «лунный патч» производит сдвиг в високосном году григорианского календаря, фазы луны сдвигаются на день назад. То есть движения расчетных фаз, вызванные «патчами», немонотонны! В среднем даты движутся вперед, но иногда, например в 2400 году, они будут сдвигаться назад.

2. При исправлении накопившейся ошибки в фазах луны была оставлена ошибка в 1 день. По-видимому, это было сделано намеренно, чтобы предотвратить совпадение католической Пасхи с иудейской. Однако, из-за нерегулярностей, присутствующих как в григорианской пасхалии, так и в еврейском календаре, такие совпадения иногда все-таки происходят. При каждом таком совпадении какие-нибудь сектанты обязательно ожидают конец света :) Кстати, то, что католическая Пасха бывает раньше иудейской, похоже, никого особенно не беспокоило. В любом случае, в долгосрочной перспективе помешать этому было бы нельзя — просто потому, что в еврейском календаре средняя продолжительность года больше, чем в григорианском. Собственно, средняя скорость движения фаз луны из-за поправок в первом приближении является средней скоростью, с которой еврейский календарь отстает от григорианского.

3. После того, как 21 марта принято в качестве дня весеннего равноденствия, для первого весеннего полнолуния остается 30 возможных дней — с 21 марта по 19 апреля. Но в александрийской пасхалии из этих 30 дней только 19 могут быть днями расчетного полнолуния. В частности, оно не может быть 19 апреля, самый поздний день для него — 18 апреля. Соответственно Пасха может приходится самое раннее на 22 марта (если расчетное полнолуние 21 марта в субботу) и самое позднее — на 25 апреля (если расчетное полнолуние 18 апреля в воскресенье). Но в проекте пасхалии, разработанным Луиджи Лилио (a. k. a. Алоизий Лилий), который потом стал григорианской пасхалией, из-за поправок расчетное полнолуние могло уже прийтись на любой из 30 возможных дней, в том числе на 19 апреля. Если оно выпадет на воскресенье 19 апреля, Пасха будет 26 апреля. Пасхалию с таким «нарушением обратной совместимости» выпустить не решились и перед «релизом» она была «обработана напильником». Третий «патч», который я выше анонсировал, сдвигал расчетное полнолуние с 19 на 18 апреля. Если среди текущих (между поправками) 19 возможных дней для полнолуния было и 18 и 19 апреля, с 18 оно сдвигалось на 17, чтобы в пределах 19-летнего цикла даты не повторялись. К счастью, из этих 19 дней не может быть трех идущих подряд, так что о 17 апреля можно не беспокоиться.

Комментарии (9)


  1. igruh
    04.05.2016 15:04
    +3

    С воодушевлением пошёл читать расширенную версию, но и тут обман — нет графиков.
    «Кому нужны книжки без картинок?» ©


  1. amarao
    04.05.2016 15:15
    +1

    Кто-то таки изобрёл такую фигню, которую нельзя закодировать в tzdata? Поздравляем с ачивкой.


    1. vasimv
      04.05.2016 19:26

      Тогда никого это не волновало (да и не было tzdata), главное чтобы с еврейской не совпало. А то, не дай бог, решат что там — тоже люди. :)


  1. vanxant
    04.05.2016 22:54

    Осталось только добавить, зачем вообще подняли весь сыр-бор на Никейском Соборе.
    А все примитивно и жизненно: с ростом размеров организации качество исполнителей на нижних уровнях стало стремительно падать. Точно определить полнолуние на глазок не так-то просто, особенно когда хронически не везет с погодой. В результате в соседних деревнях Пасху могли праздновать с разницей в месяц)


  1. PoltoS
    04.05.2016 23:41
    +2

    А я вот не понимаю. Дату рождения Христа люди записали в календарь, а дату воскрешения не смогли? Вместо этого они запомнили, что была весна, день был длиннее ночи и взошла полная луна. Т.е. сказать, сколько жил сын божий достоверно нельзя?

    Кто может объяснить, почему мы измеряем эти две даты по разным календарям: по солнечному и по лунному?

    Кстати, вопрос автору как знатоку темы. До принятия календаря с точкой отсчёта рождеством римляне какой календарь использовали?


    1. ukoloff
      05.05.2016 09:22

      Ну, возможно, они когда записали дату рождения, посмотрели какая получилась фигня (а знающие люди утверждают: фигня) и решили с датой воскрешения применить какой-нибудь другой трюк. По крайней мере его можно будет пропатчить если что. Ну вот и пришлось патчить несколько раз.

      А дата рождения как стояла кривая, так и стоит. И никого не волнует, что характерно.


    1. pestilent
      05.05.2016 09:44
      +2

      Ну вообще-то всё было наоборот. Воскресение изначально начали отмечать с привязкой к еврейскому лунно-солнечному календарю, а пасхалии стали разрабатывать, чтобы не зависеть от евреев. А Рождество, как я понимаю, более позднее изобретение. Хотя я не специалист в ранней истории христианства.
      История римского календаря — это вообще отдельный вопрос, там до Юлия Цезаря был Адъ и Израиль, по сути у них был не календарь, а антикалендарь, который не помогал ориентироваться во времени, а мешал. Он был основан по-видимому на октаэтриде (8-летнем лунно-солнечном цикле), но вместо вставки 3 дополнительных лунных месяцев вставлялись 4 недомесяца по 22-23 дня раз в 2 года. А еще из-за суеверий во всех месяцах кроме последнего (февраля) было нечетное число дней — 29 или 31. Это уже само по себе было абсурдно — календарь в итоге не был ни солнечным, ни лунно-солнечным. Но хуже всего то, что вставку месяцев контролировали коррумпированные римские жрецы. Наши депутаты, с их переводами часов туда-сюда, нервно курят в сторонке. Ко времени Цезаря календарь убежал вперед на целый сезон.


  1. Nick0las
    08.05.2016 21:31

    Вопрос по пункту 3 багофич. В этом году православная пасха отмечается 1 мая в то время как в пункте 3 вы указали что самая поздняя дата 25 апреля. Вопрос — почему? Еще какой-то патч?


    1. pestilent
      10.05.2016 00:20

      1 мая по григорианскому календарю. А по юлианскому 18 апреля.