復活節的計算

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 (Osterrechnung): Der Computus ist eine Kurzbezeichnung für die Osterrechnung, die Vorschrift zur Berechnung des jährlich veränderlichen Osterdatums. Im allgemeinen Sinne bedeutet Computus Rechnen mit Zeit.