复活节的计算

title: 历史.
content: 基督教在二世纪开始,出现两个纪念耶稣复活的日期:东方的小亚细亚教会,遵循耶稣的使徒的遗传,于是在犹太人的逾越节,即是犹太历尼散月十四日,纪念耶稣的受难和复活,表明逾越节羔羊预表耶稣(哥林多前书5:7)。至于以罗马教会为代表的西方教会,就在逾越节后的星期日纪念耶稣的复活。从二世纪后期开始,这项分歧引致教会间很大纷争。后来在325年第一次尼西亚会议,决定不按犹太历法,而按照春分月圆,自行计算出复活节日期(但是所谓「春分」是固定于西历3月21日)。此后教会为了定出从西历计算月亮周期的方法,不依赖于天文观察,各地先后提出多种方法,历时数个世纪,才定出各地教会共享的计算表册和方法。
title: 理论.
content: 由于犹太历是阴历,基督教会舍弃依从犹太历的传统时,便造出自己的阴历取代。每29或30日合为一个阴历月(如果包含2月29日则有31日),在3月结束的阴历月有30日,在4月结束者有29日,如此长短相间。12个阴历月比阳历年短11日,两者的差距称为闰余(英语:epact),阳历日期加上闰余得出阴历月的日期。闰余每年增加11日,达到30日或以上则减去30,设一个30日的闰月。每19年的默冬周期应刚好等于235个阴历月,闰余应以19年为一周期,但是19年的闰余累积为29日,于是在儒略历中将最后一年7月1日开始的阴历月由本来30日减去1日,又在19年中加入7个各30日的闰月,分别开始于在第2年12月3日,第5年9月2日,第8年3月6日,第10年12月4日,第13年11月2日,第16年8月2日,第19年3月5日。一年在默冬周期中的位置称为黄金数,算式是年份除以19的余数加1。阴历月第14日定为形式上的望日。望日在3月21日或之后的第一个阴历月是复活节月,复活节是此阴历月第14日之后第一个周日。
title: 表列法.
title: 格里历.
content: 由于1582年格里历改革主要原因,在于当时的复活节计算法已远离真正的春分和满月,在推出新历法时也推行了新的复活节计算法。将全年365日列出,再用递减的罗马数字标记各日,1月1日标记为「*」(0或30),1月2日为「xxix」(29),直到「i」,然后再重复至年末,但每偶数周期只有29日,需将标记为「xxv」的日子也标为「xxiv」。最后每个30日周期中将标记为「xxv」的日子加上标记「25」,每个29日周期中将标为「xxvi」的日子加上标记「25」。然后用「A」至「G」为每日标记,一年第一个周日的字母是这年的主日字母,例如如果1月5日是星期日,这年的主日字母是「E」,但是闰年有两个主日字母,第一个是1至2月,第二个(提前一字母)是3月以后。每个阴历月的朔日是和闰余相同的罗马数字日子。然而,由于默冬周期中,相隔11年的两个年份闰余相差1日,如果这两年闰余分别是24和25,那么这两年的朔日都会一样,显得不太优美,因此黄金数大于11而闰余是25的年份,朔日改在标记为「25」的日子。格里历每400年减去3个闰年,但是为免影响默冬周期,因此这三年将闰余减1以修正(英语:solar equation,equation按古代意思解作修正差异);不过,19个未改正的儒略年比235个朔望月略长,每310年差距累积到一日,故此每2500(格里)年中,须8次将闰余加1以修正(英语:lunar equation),修正在世纪年进行,每两次修正相隔300年,但每8次修正后隔400年再开始,第一次在1800年,下一次在2100年。这两种修正有时互相抵消,如1800年和2100年即是。格里历改革后黄金数方法被闰余方法取代,但可以编制出两者关系的简化表格,有效期由一至三个世纪不等。以下的闰余表对1900年至2199年适用。黄金数的算法为年份除以19的余数再加1,如2014年除以19的余数为0,故此2014黄金数是1。  举例:2019年黄金数是6,闰余是24,则标记为「xxiv」日子是朔日,3月7日和4月5日为朔日,而望日为朔日的13日后,即3月20日和4月18日。3月21日或之后的望日是4月18日。这一日之后(不包括当日)的周日是复活节。2019年的主日字母是「F」,所以4月21日是复活节。  第偶数个阴历月只有29日,有一日需有两个闰余标记,而选择移动「xxv/25」的理由可能是:在闰余为24的年份,如果3月7日开始的阴历月有30日,复活节月便在4月6日开始,望日在4月19日,又假设该日是周日,复活节便在下周日4月26日。但是教会规定复活节不晚于4月25日,所以4月5日便有两个标记「xxv」「xxiv」。因此格里历中复活节最多出现在4月19日,约3.87%,最少出现在3月22日,约0.48%。
title: 儒略历.
content: 格里历改革前西方教会使用的方法,也是东方正教会现今使用的方法,采用未改正的默冬周期,每周期开始闰余都是0日,因此复活节望日只可能有19个。因为儒略历不作出像格里历的改正,每过一千年,教会阴历的望日日期会比实际的望日推迟三日多,故此现时约有一半东正教的复活节比西方教会晚了一周。又由于儒略历在1900年至2099年间比格里历落后13日,格里历的复活节望日不时在儒略历3月21日之前,使东正教的复活节比西方教会晚了四至五周。  各地教会从4世纪开始渐渐采用此方法,931年最后一个英格兰修道院也采用。在采用此方法前各地用其他方法定出复活节日期,相差可以达至五周。  下表是自从931年起儒略历的复活节望日日期: 例子:1573年的黄金数是16,查表得到复活节望日是3月21日。从星期表得到该日是周六,因此复活节是其后的周日3月22日。
title: 算法.
title: 高斯算法.
content: 这个方法由以数学家高斯命名。  用Y表示年份,mod运算指整数除法的余数(例如13 mod 5 = 3,详细请参见同余)。  东正教会所用的儒略历取M=15,N=6,西方教会所用的公历的取法参见下表:  若d+e < 10则复活节在3月(d+e+22)日,反则在4月(d+e-9)日,除了两个特殊情况:
title: Meeus/Jones/Butcher算法(公历).
content: Jean Meeus在他的书《天文算法》("Astronomical Algorithms",1991年)记载了这个计算公历中的复活节日期的方法,并指这个方法是来自Spencer Jones的书《一般天文学》("General Astronomy",1922年)和《英国天文学会期刊》("Journal of the Brithish Astronomical Association",1977年),后者指方法是来自"Butcher's Ecclesiastical Calendar"(1876年)。  这个方法的优点是不用任何表也没有例外的情况。注意这里用的是整数除法,7/2=3非3.5。
title: Meeus算法(儒略历).
content: 在《天文算法》,使用了以下公式计算儒略历中的复活节日期:(注意这里用的是整数除法,7/2=3非3.5。)

Summary: 复活节的计算(computus,拉丁文「计算」之意),其规则是复活节的日期是在3月21日当日或之后的满月日后的首个星期日。天主教会设计了方法去定一个「天主教的月」,而不像犹太人般观察真正的月亮。

Computus: The computus (Latin for 'computation') is a calculation that determines the calendar date of Easter. Easter is traditionally celebrated on the first Sunday after the Paschal full moon, which is the first full moon on or after 21 March (an approximation of the March equinox). Determining this date in advance requires a correlation between the lunar months and the solar year, while also accounting for the month, date, and weekday of the calendar. The calculations produce different results depending on whether the Julian calendar or the Gregorian calendar is used.