南北朝北魏、北齐间有清河张子信与河内张子信。
《北齐书·方伎列传》
张子信,河内人也。性清净,颇涉文学。少以医术知名,恒隐于白鹿山。时游京邑,甚为魏收、崔季舒等所礼,有赠答子信诗数篇。后魏以太中大夫征之,听其时还山,不常在邺。
《北史·艺术列传上》
张子信,河内人也。颇涉文学,少以医术知名。恒隐白鹿山,时出游京邑,甚为魏收、崔季舒所重。大宁中,征为尚药典御。武平初,又以太中大夫征之,听其所志,还山。又善《易》筮及风角之术。武卫奚永洛与子信对坐,有鹊鸣庭树,斗而堕焉。子信曰:“不善,向夕,当有风从西南来,历此树,拂堂角,则有口舌事。今夜有人唤,必不可往,虽敕亦以病辞。”子信去后,果有风如其言。是夜,琅邪王五使切召永洛,且云:“敕唤。”永洛欲起,其妻苦留之,称坠马腰折,不堪动。诘朝而难作。子信,齐亡卒。
《隋书·天文志中》
清河张子信,学艺博通,尤精历数。因避葛荣乱,隐于海岛中,积三十许年,专以浑仪测候日月五星差变之数,以算步之,始悟日月交道,有表里迟速,五星见伏,有感召向背。言日行在春分后则迟,秋分后则速。合朔月在日道里则日食,若在日道外,虽交不亏。月望值交则亏,不问表里。又月行遇木、火、土、金四星,向之则速,背之则迟。五星行四方列宿,各有所好恶。所居遇其好者,则留多行迟,见早。遇其恶者,则留少行速,见迟。与常数并差,少者差至五度,多者差至三十许度。其辰星之行,见伏尤异。晨应见在雨水后立夏前,夕应见在处暑后霜降前者,并不见。启蛰、立夏、立秋、霜降四气之内,晨夕去日前后三十六度内,十八度外,有木、火、土、金一星者见,无者不见。
由于资料有限,《北齐书》和《北史》的河内张子信与《隋书》所载清河张子信究竟是同时代的两人还是同一人实际上仍有争议,「两人说」的主要理由是两位张子信有着不同的籍贯和隐居地,擅长的领域也不同;而「一人说」则指出虽然三部正史中对张子信的叙述有所差异,但并没有不可调和之矛盾,且河内张子信与清河张子信的事迹在时间上恰好能衔接[1]。
抛开以上争议不谈,可以明确的是张子信在中国天文学史上有着非常独特的地位。按照《隋书》的描述,526~528 年,北魏将领葛荣自称天子,在河北发起反对朝廷的叛乱,张子信在此期间逃难至一处海岛,之后决定在海岛上开展天文观测。在张子信隐居海岛潜心学术的三十多年间,统治清河的政权历经北魏、东魏、北齐三朝。560 年前后,张子信结束隐居生活重新入世,一并带回的还有众多深刻影响了后世中国天文学发展的成果,这其中既有新的天文发现,也有对天文现象的思考与解释。

张子信做出的天文新发现中最基础而重要的当属太阳视运动不均匀。地球绕太阳公转的轨道是椭圆,因此地球的公转速度并非常数,相应地以地球为参考系时,太阳的视运动必然不是匀速。

现有史料并未给出张子信发现太阳视运动不均匀的具体方法,考虑到南北朝时浑仪、漏刻等天文仪器已有相当的成熟度,张子信至少有两种发现太阳视运动不均匀的方法。第一种方法是假定太阳视运动均匀,事先计算好太阳运动一周过程中到达某些特定位置的时间,随后在预定的时刻使用夜半中星或昏旦中星法定位太阳,将实测的太阳位置与计算位置比较,从而判断太阳在这一时段的速度相对平均速度的快慢。另一种方法是通过实测得到太阳过二分二至点的时间,由于黄道被二分二至点四等分,比较太阳经过四段相等路径(春分 - 夏至,夏至 - 秋分,秋分 - 冬至,冬至 - 春分)的时间便能发现太阳视运动速度在一个回归年中的变化。后者类似古希腊天文学家喜帕恰斯发现太阳视运动不均匀的方法。
分至点 | 时间 | 与上一分至点时间差 |
---|---|---|
冬至 | 2024 年 12 月 21 日 17 时 | |
春分 | 2025 年 3 月 20 日 17 时 | 89 天 |
夏至 | 2025 年 6 月 21 日 11 时 | 92 天 18 小时 |
秋分 | 2025 年 9 月 23 日 2 时 | 93 天 15 小时 |
冬至 | 2025 年 12 月 21 日 23 时 | 89 天 21 小时 |
张子信将太阳视运动变化规律总结为「日行在春分后则迟,秋分后则速」,这一结论基本符合实际天文现象。公元六世纪中叶,地球过近日点的时间为冬至前约 13 天,过远日点时间为夏至前约 14 天,根据开普勒第二定律,当地球位于远日点时公转速度最慢,对应太阳的视运动速度最慢;而地球位于近日点时公转速度最快,对应太阳视运动速度最快。在春秋分时地球公转速度适中,此时太阳视运动速度处于平均速度附近。张子信所说的春分后太阳速度减缓,秋分后速度加快是与平均速度比较的结果。

对太阳视运动不均匀的认识与中国古代历法的一大课题——交食推算密切相关。张子信无疑也对日月交食研究颇有心得,他正确认识到月球进入食限不代表必定发生日食,要看此时月球与黄道的相对位置。若月球在黄道以北,则会发生日食,若月球在黄道以南,则不发生日食[2]。张子信描述的现象实际上是月球视差导致的。所谓视差指的是在相隔一定距离的两个观测点观察较近的同一个物体时,该物体与远处背景的相对位置会发生偏移,这种偏移就是视差。

通过我们自己的双眼就能体会视差现象:伸出一根手指,使用左眼观察,让手指正好能遮住远处的一个物体,再使用右眼观察,你会发现此时在右眼的视野中手指并没有遮住刚才的远处物体。把手指看作月球,远处物体看作太阳,就是日食的情况。在计算月球是否能遮挡太阳发生日食时,一般以地心作为观测点,但我们实际是在地球表面观测,观测点的改变就会导致视差产生。地面与地心的位置差异产生的月球视差最多可达 1°,相当于两倍月球视直径。

张子信对五星视运动规律也提出了新见解。张子信之前各代历法对行星视运动的处理是将行星在一个会合周期内的运动分成若干时段,每个时段赋予一个固定的行星视运动速度,而各个时段的速度不尽相同。以祖冲之的大明历[3]为例,木星在一个会合周期内的运动被分为 7 段,火星分为 11 段,土星分为 7 段,金星分为 14 段,水星分为 12 段。这种分段处理行星视运动的传统可以追溯到西汉初期成书的《五星占》,金星在一个会合周期中的运动被分为 8 段。对五星视运动的分段并无定法,主要是以实测的行星视运动为基准进行拟合。

汉晋南北朝之际处理行星视运动的方式说明当时的天文学家已经认识到五星在一个会合周期内的视运动并非恒定匀速,但处理的结果往往实际天象有不小偏差,其中一个原因是每个分段内的行星视运动依旧以匀速运动处理。长期以来学者没有尝试改变这种以分段匀速形式拟合行星视运动的处理方法,一个可能的原因是中国古代天文学家秉持五星的运动理应是时刻匀速的(正如古希腊天文学家长期坚持行星的运动是匀速圆周运动),如果出现非匀速运动,就是发生了异常,需要对这种异常做出合理解释。
张子信结合自己多年的实测经验,提出行星出现非匀速运动的原因是「五星见伏,有感召向背」,五星运动之所以有快慢变化,取决于它在运动时所遇到的星宿,如果行星喜好该星宿,那么会在此停留更久,如果是厌恶,那么会加速离开。如今看来张子信的行星运动理论极富有唯心主义色彩,但在客观上确实给后世历算家改进行星位置算法提供了一定理论基础。如公元 7 世纪初的皇极历在处理木星、火星与金星运动时就一改过去用匀速运动表示一个时段内的行星行度的做法,转而用匀加速或匀减速运动去拟合[4],而后一种做法显然更能还原行星的真实动态。
