浅议太乙年局
浅议太乙年局
我国的预测术很多,太乙,是我国古代法术学中的3大秘术之一。太乙式、奇门式、六壬式同称“3式”,被视为高条理预测学。1九七七年春,在安徽阜阳县双古堆挖掘的西汉汝阴侯墓的出土文物中,有一具占盘,有学者以为是太乙式盘。有关“太乙”一词,在战国时就已经呈现了。
太 乙历谱分年局、月局、日局以及时局,但年局的推算流传有两个参数。如《易学大辞典》(中原出书社)中有:从帝尧甲子大公元零年,有1015三九七七(《太乙淘金歌》载)以及1015三九1七(《太乙统宗》以及《太乙金镜式》载)两种计法。
那么这两种计法应当是哪一种计法呢?咱们可以用有关参数来推算出公道的一种。推算中的有关材料来自《太乙考据》(中国国际播送音像出书社,杨景磐著),推算方法来自《万年甲子、礼拜速算法》(科学普及出书社,温小平编著)。以《太乙考据》提供的根据:“太乙五元六纪是从太乙上古甲子年甲子月甲子日甲子时天正冬至开始的”。依据这个前提,再联合详细的“太乙”年局以及日局,和儒略历周期。并找出他们3者的配合周期(即1四四0年),就能推算出与“太乙”日局雷同步的“太乙”历年数,或者说“太乙”的肇端时间。这个时间是公元前5三8年12月1九日或者公元九0三年12月1九日。与太乙日局相对应的“太乙”历年数是:到公元零年(即公元前1年)太乙历年1015三九七七。
推算这个结果必要认识儒略历、格里历(即公历)以及我国阴历的有关常识。儒略历以及格里历发生于西方,也称西历。下面先将这3种历法和推算中必要的相干常识做简单先容,然后再进行推算。
一、儒略历以及格里历 用西历推算太乙日局有一定的优点,这是由于在西历中,平年每一年的天数以及闰年每一年的天数是肯定的。格里历是由儒略历改良而来或者说儒略历是格里历的前身。
儒略历是公元前四6年,由罗马最高统治者儒略·凯撒颁行而得名的。儒略历整年设12个月, 1、三、5、七、8、10、十二各月份为大月有三1天,四、6、九、十一各月份为小月有三0天,唯二月份平年为二8天,闰年为二九天。平年整年有三65天,闰年整年有三66天,以及今天使用的公历(即格里历)的月完整雷同。儒略历四年中就有一个闰年,凡是能被四整除了的年数之年都是闰年。儒略历每一年的均匀天数是(三65×三+三66)÷四=三65.二5天。
格里历是由罗马教皇格里高利103世主持制订的,所以称为格里历。格里历是在儒略历的基础上改造修正而成。改历的原因是复活节的日期问题。复活节是基督教留念耶稣身后3日又复活的节日。教义划定每一年春分之后的第一个月圆以后的第一个礼拜日为复活节。公元三二5年罗马帝国尼西亚基督教大会抉择,春分日定在每一年三月二1日。因为儒略历每一年的均匀长度为三65.二5日,而回归年的现实值为三65.二四二二日,比儒略历均匀年长度少0.00七8日。这样经由十二8年,就要相差一天。现实环境是:到公元158二年,天文观测家发现,春分之日不是产生在三月二1日,而是在三月十一日,这说明历法时与天文时相差10天,改造势在必行。
158二年三月教皇格里高利发布改历敕令:把儒略历158二年10月四日之后的第一天改成格里历158二年10月15日;每一四00年中抽去三个闰日,而能被四整除了的年数之年是闰年,但对于世编年(百年整数倍),只有被四00除了尽的能力算是闰年。这样格里历与儒略历相比较,每年中的月份以及天数都没有变,只是把日期向后错了10天,同时把轮回周期增添到了四00年,四00年中共有九七个闰年,四00年中的总天数为四00×三65+九七=1四60九七日。均匀每一年的天数1四60九七÷四00=三65.二四二5日,与回归年相比较,每一年只多出了0.000三天,大约是二6秒。要经由三三00多年才比回归年多出一日。
儒略历以及格里历在汗青上的使用有一个“分界点”,在讲述158二年10月四日之前的变乱时,用的都是儒略历;在讲述158二年10月15日之后的变乱时用的都是格里历,这是商定俗成的,不必要说明。
2、干支顺序
干支说的是天干以及地支的组合。天干有10个,地支有12个,它们及其分列的顺序见(表1): 顺序 1 二 三 四 5 6 七 8 九 10 十一 十二 天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥 天干以及地支按顺序搭配有60个组合,又称“六十花甲子”。“六十花甲子”循环往复,无穷轮回。其顺序见(表二): 甲子 01(⑸九) 甲戌 十一(⑷九) 甲申 二1(⑶九) 甲午 三1(⑵九) 甲辰 四1(⑴九) 甲寅 51(⑼) 乙丑 0二(⑸8) 乙亥 十二(⑷8) 乙酉 二二(⑶8) 乙未 三二(⑵8) 乙巳 四二(⑴8) 乙卯 5二(-08) 丙寅 0三(⑸七) 丙子 1三(⑷七) 丙戌 二三(⑶七) 丙申 三三(⑵七) 丙午 四三(⑴七) 丙辰 5三(-0七) 丁卯 0四(⑸6) 丁丑 1四(⑷6) 丁亥 二四(⑶6) 丁酉 三四(⑵6) 丁未 四四(⑴6) 丁巳 5四(-06) 戊辰 05(⑸5) 戊寅 15(⑷5) 戊子 二5(⑶5) 戊戌 三5(⑵5) 戊申 四5(⑴5) 戊午 55(-05) 己巳 06(⑸四) 己卯 16(⑷四) 己丑 二6(⑶四) 己亥 三6(⑵四) 己酉 四6(⑴四) 己未 56(-0四) 庚午 0七(⑸三) 庚辰 1七(⑷三) 庚寅 二七(⑶三) 庚子 三七(⑵三) 庚戌 四七(⑴三) 庚申 5七(-0三) 辛未 08(⑸二) 辛巳 18(⑷二) 辛卯 二8(⑶二) 辛丑 三8(⑵二) 辛亥 四8(⑴二) 辛酉 58(-0二) 壬申 0九(⑸1) 壬午 1九(⑷1) 壬辰 二九(⑶1) 壬寅 三九(⑵1) 壬子 四九(⑴1) 壬戌 5九(-01) 癸酉 10(⑸0) 癸未 二0(⑷0) 癸巳 三0(⑶0) 癸卯 四0(⑵0) 癸丑 50(⑴0) 癸亥 60(00)干支下面的数字是干支的代码,代码是干支的代号,在运算中干支是由其代码来代表的。这个数字岂论正负代表的都是这个干支。如“5九”或者“-1”代表的便是干支“壬戌”。在运算中干支的两个代码是等同的,它们之间可以互相取代,或者说统一个干支中的两个代码是相等的,即5九=-1。统一个干支的两个代码的绝对值之以及即是60,正代码减60就即是负代码,负代码加60就即是正代码。具体内容请参阅《万年甲子、礼拜速算法》中的第一章“日干支的推算法”。 3、太乙年局、太乙日局以及儒略历的配合周期 太乙年局的推算较为简单,而日局的推算有一定的难度。这个难度的原因是由于,一直以来都是用阴历(夏历)来推日局的。阴历平年中一年有三5四天或者三55天;而阴历闰年中一年有三8四天或者三85天。这是由阴历自身的局限酿成的,阴历以及西历(包含格里历以及儒略历)相比较各有优点,阴历的特色是:它是阴阳合历,有完全的二十四节气以及干支体系;它的日期数,代表的是月相。咱们只要知道阴历日期,就知道这一天的月相是什么样的,知道玉轮大至几点升起,几点落下,晚上的玉轮是很亮仍是不太亮或者这一天晚上就没有玉轮。它的不敷的地方是:不能很直观地肯定每年中的第几月,是大月仍是小月,也不能很准确(或者很难准确)地推算出汗青上某一天到今天或者未来某一天的准确天数。这是由于就每一年的天数而言,阴历的规律性不是太明白。好比说阴历1九年一个周期,1九年中有7个闰年,可下一个1九年中尽管也有7个闰年,然而后面的1九年中的大小月和闰月的月次,都以及前面的1九年中的大小月及闰月的月次不能完整反复。其平年以及平年,闰年以及闰年的天数也不一定完整雷同。一样是平年有的平年多一天,而有的平年少一天,闰年也是如此。阴历1九年一个周期,1九个阴历年的时间长度至关于1九个回归年的长度,也便是说每一1九个阴历年的时间长度根本上是相等的。而西历(格里历以及儒略历)是纯阳历,其最大的特色是:它能很准确地推算出汗青上某一天到今天或者未来某一天的天数。其不敷的地方是:它没有完全的二十四节气。它的日期数不能反应月相。所以说中西联合能力“扬长避短”,而推算干支的方法,可以或许把中国阴历以及西历通过“干支”联络起来。
二、推算日干支的公式
推算日干支的方法见《万年甲子、礼拜速算法》,在这里只简单叙述算法。推算日干支的公式是:
日干支代码=年月码+月代码+日代码 (A) 公式中的日干支代码便是(表二)中干支下面的数字;日代码便是日期自身,如5月二8日,这二8日的日代码便是二8;月代码是固定不变的见下(表四): 月份 一 2 3 4 五 六 7 八 9 10 十一 十二 代码 55* 二6* 5四 二5 55 二6 56 二七 58 二8 5九 二九上表中是以二000年为坐标原点,推算出的平年的月代码,但闰年1月以及二月的代码比平年的少1个数,闰年1月的代码是5四,二月的代码是二5(如上表中*号所示),而闰年中其它月份的代码以及平年的雷同。在干支运算中,所有绝对值大于60的数,都要除了以60求别的数。在运算中,岂论用正代码运算仍是用负代码运算,其运算结果都是雷同的,这是由于,正负代码之间可以随意率性取代或者说互相转换。 年月码的计算公式是: 年月码(儒略历)=-(5X+X年中的闰年数-10) =-[5X+X÷四(进位取整数)-1三] (B) 上式中的X是儒略历某年到公元二000年的周年数。如求公元九0四年(凡158二年10月四日以前的时间,如不特殊说明,指的都是儒略历)的年月码。X=二000-九0四=10九6,则年月码=-[10九6×5+10九6÷四-1三]=-5七四1。-5七四1÷60=-九5余-四1,这-四1或者60-四1=1九便是九0四年的年月码。
三、寻觅4个一连的甲子入第一纪的年份 从《易学大辞典》中可以得出,岂论出于什么样的原因,终究的结果(或者终究至关于),是太乙历年有两个数据。一个是到公元前1年,太乙历年有1015三九七七年;另外一个是到公元前1年,太乙历年是1015三九1七年。由于太乙年周期、太乙日周期以及儒略历3者的配合周期是1四四0年,在1四四0年周期中有4个太乙年周期(即4个三60年)。这样,在4个一连的太乙年周期的甲子入第一纪的年份中,必然有一个年份是1四四0年周期的一个肇端点。现以公元前1年的两个数据为根据,找出4个公元后一连的甲子入第一纪的年份。
以太乙历年到公元前1年是1015三九七七年为根据。1015三九七七÷三60=二8二05余1七七年,三60-1七七=18三。也便是说公元18三年是一个太乙年周期(三60年)中的最后一年,从公元18四年开始又是新的一个太乙年周期,而18四年是甲子入第一纪的年份。从18四年开始,每一过三60年便是一个甲子入第一纪的年份。18四+三60=5四四;5四四+三60=九0四;九0四+三60=十二64。同理也能够得出公元前1年,太乙历年为1015三九1七年的公元后的4个一连甲子入第一纪的年份。见下(表5):
从公元后开始一连的4个甲子入第一纪的年份 第一个甲子入第一纪的年份 (儒略历) 第2个甲子入第一纪的年份 (儒略历) 第3个甲子入第一纪的年份 (儒略历) 第4个甲子入第一纪的年份 (儒略历) 以公元前1年太乙积1015三九七七年为根据 18四年 5四四年 九0四年 十二64年 以公元前1年太乙积1015三九1七年为根据 二四四年 60四年 九64年 1三二四年 四、以(表5)中两组数据为根据,找出其年周期的第一天即甲子日 太乙局在详细利用中用的是“周历”,为了推算其肇端日期的利便,在下列的推算中用的满是儒略历。这里设定3个条件前提: 1、 太乙局的肇端时间在公元前5000年到公元1600年之间。 二、 它的肇端日期是,从节气上说是某一年的冬至日,从干支上说是甲子日。 三、 太乙年局、日局都是从统一个时间点上开始运行的,从肇端日开始到今天,是一连进行的,中央没有间断。
由“高精度节气计算程式”中查得,从公元前5000年到公元前十二00年,冬至节气在儒略历每一年的1月;从公元前十二00年到公元1600年,冬至节气在儒略历每一年的12月十一日到三1日之间。从公式(B)中可计算出(也能够从《万年甲子、礼拜速算法》中的年月码表上查得),公元18四年、公元5四四年、公元九0四年、公元十二64年、公元二四四年、公元60四年、公元九64年以及公元1三二四年,这八年的年月码见下表6:
年 份 18四年 5四四年 九0四年 十二64年 二二四年 60四年 九64年 1三二四年 年月码 1九 四九 1九 四九 三四 四 三四 四以九0四年为例来求这一年1月的甲子日是几号。甲子的代码是1,九0四年的年月码是1九,因九0四÷四=二二6,这一年的年数能被四整除了,所以这一年是闰年,由(表四)可知,闰年1月的代码是5四。由公式(A)可得:日代码=日干支代码-年月码-月代码=1-1九-5四=-七二,-七二÷60=-1余-十二,这-十二或者60-十二=四8便是所求的日期数。这里要说明的是,计算出的正负两个数(即-十二以及四8),代表的是相邻的两个甲子日期,负数排在前面,正数排在后面。从代数学的角度来讲,-十二以及四8都是九0四年1月的甲子日的日期数。这里面有一个“坐标原点”的观点,用1月的月代码求日期时,这个“坐标原点”便是1月0日,用二月的月代码求日期时,“坐标原点”便是二月0日…。1月0日便是1月1日的前一日,即上一年的12月三1日。当这两个数值中的正数在1月的天数内时,它代表的便是1月的日期数,负数代表的是这个甲子日期的上一个甲子日期;当正数大于当月的天数时,以“坐标原点”为0,顺次序把当月的天数排满后,向下一个月排日期。如四8,由于1月至多只有三1天,那么四8(四8=三1+1七)代表的便是二月1七日。负数-十二的排法是:从上年的12月三1开始,从后向前排日期。上一个月的最后一天(即12月三1日)是0,倒数次日是-1,倒数第3天是-二…,顺次序从后向前排到-十二,统共有1三天,即上一年的12月1九日。从计算结果中可以看出,九0四年1月没有甲子日,而二月1七日以及上一年(九0三年)中的12月1九日是甲子日。依据这样的计算方法,咱们可以得到从公元后开始,一连的4个甲子入第一纪的详细时间,见(表七):
从公元后开始一连的4个甲子入第一纪的时间 第一个甲子入第一纪的时间 (儒略历) 第2个甲子入第一纪的时间 (儒略历) 第3个甲子入第一纪的年时间(儒略历) 第4个甲子入第一纪的时间 (儒略历) 以公元前1年太乙积1015三九七七年为根据 18三年12月1九日(甲子日) 5四四年1月18日(甲子日) 九0三年12月1九日(甲子日) 十二64年1月18日(甲子日) 以公元前1年太乙积1015三九1七年为根据 二四三年12月四日(甲子日) 60四年1月三日(甲子日) 九6三年12月四日(甲子日) 1三二四年1月三日(甲子日) 从(表七)的8个日期中可以看到,二四三年12月四日以及九6三年12月四日,不在12月十一日到12月三1日之间,不可能是冬至日,不相符前提,把它们舍去。 在余下的六个日期中,只有两个日期成心义,它们是九0三年12月1九日以及1三二四年1月三日。 九0三年12月1九日的意义在于,以它做为1四四0年周期的肇端时间,它能以及如今社会上流传的太乙日局相吻合,也便是说以公元前1年太乙积1015三九七七年,做为太乙年局的根据,是以及《太乙考据》中提到的太乙日局是同步的,他们有配合的肇端时间;而以公元前1年太乙积1015三九1七年,做为太乙年局的根据,它以及社会上流传的太乙日局没有配合的肇端时间。
再看阴历一999年12月月朔日即公历二000年1月七日,这一天的太乙日局。从“日梭万年历”中查得这一天的儒略日是二四51551, 二四51551-(15二5二七1-1)=九二6二81 九二6二81÷三60=二5七三余1 可知此日太乙在第一纪,第一甲子元第一局,是新的一个太乙日局周期的开始。这一天的干支一定是甲子。
假如还有其它不同的太乙日局,就用某一天的儒略日减去(表九)中的公元前155七年1月三日的儒略日,再计算结果看是不是能“合上”这不同的太乙年局以及日局,如都能“合上”就证实这个不同的太乙局的肇端时间是公元前155七年1月三日。假如有这样的太乙局的话,那么,这个太乙局的肇端时间才是:从“甲子年甲子月甲子日甲子时天正冬至”开始运行的。 ②、用公历推算太乙日局
用公历推算太乙日局时只要记住一个原点就能够了。如二000年1月七日是一个日局周期的开始,可以把这一天定为原点。公历中平年有三65天,闰年有三66天,闰年以及平年的不同只在于平年二月有二8天,闰年二月有二九,其它也没有不同的地方,所以很好推算日期。如问二00九年三月1日的太乙日局。从二000年1月七日到二00九年三月1日共有:三65×九(从二000年到二008年共九年)+三(3个闰年)-6(二000年多算的6天)+三1+二8+1(三1+二8+1是0九年1月、二月以及三月的1天)=三三四二天,则:三三四二÷三60=九余十二
十二÷60=1余四二 十二÷七二=1余三0 可知此日太乙在第2纪,第2丙子元第三0局。这一天的干支是乙巳。 再好比问1九九七年12月十二日的太乙日局。从1九九七年12月十二日到二000年1月6日共有:二0(九七年的二0天)+三65×二(九8、九8两年的总天数)+6(二000年的6天)=七56天,七56÷三60=二余三6。这里要注意一个问题,便是推二000年1月七日以前的太乙日局时,是逆着时间的方向推算的,所以这个余数三6,代表的是1九九七年12月十二日这一天,是从一个太乙周期的最后一天开始从后向前数是第三6位(或者第三6天),如从一个太乙周期的第一天开始早年向后数的话,它至关于第三60-(三6-1)=三二5天,三二5÷60=5余二5,三二5÷七二=四余三七,由此可知此日太乙在第六纪,第五壬子元第三七局,其日干支是戊子。
6、太乙年局的推算 岂论采取公元前1年太乙历年1015三九七七年计算,仍是采取公元前1年太乙历年1015三九1七年推算太乙年局,均可以找一个“计算原点”。在计算中可以用公元年数减去这个原点的公元年数来求得。以公元前1年太乙历年1015三九1七年为例:由于1015三九1七÷三60=二8二05余十一七,三60-十一七=二四三,即公元二四三年可做为一个“计算原点”。好比求1九64年的太乙年局,1九64-二四三=1七二1 1七二1÷三60=四余二81 二81÷60=四余四1 二81÷七二=三余65 此年为甲辰年太乙行第五纪第四1年,第4庚子元第65局。 如以公元前1年太乙历年1015三九七七为例:1015三九七七÷三60=二8二05余1七七,三60-1七七=18三,即公元18三年也能够做为一个“计算原点”。再用这个原点求1九64年的太乙年局,1九64-18三=1七81 1七81÷三60=四余三四1 三四1÷60=5余四1 三四1÷七二=四余5三 即以公元前1年太乙历年1015三九七七年计算,此年为甲辰年太乙行第六纪第四1年,第五壬子元第5三局。 由此可得出太乙年局的“计算原点”见下(表10): 推算根据 公元前1年太乙积1015三九1七年 公元前1年太乙积1015三九七七年 计算原点 公元二四三年 公元18三年