はじめに
儀鳳暦(中国では麟徳暦)は一太陽年および一朔望月を定義する分数を1340という共通分母によって定義した。
- 一太陽年=489428/1340=365.2448日
- 一朔望月=39571/1340=29.53060日
この共通分母1340の由来についてはまず下記の記事を参照されたい。
このうち一朔望月については「調日法」と呼ばれる繰り返し計算手法を用いて求めたという結論を導いた。ただし,この結論は筆者オリジナルのものではなく,あくまで参考文献[1]の記述によるが,それも著者の薮内清氏の独自意見ではなく,あくまで清の李鋭(1769~1817)の日法朔余強弱攷(考)によるものだ。
また一太陽年については,参考文献[1]では実績のある過去の暦法の値を流用したのではないかという見解を述べている一方,参考文献[2]では古代中国の多くの暦法が一太陽年と一朔望月の比を「調日法」を用いて求めたのではないかと分析している。
さて,どちらが正しいのであろうか?
本当に調日法を使用したのか?
試しに「令和暦」というものを作ってみよう。共通分母はコンピュータで計算し易いように2のべき乗2¹²=4096とし,一太陽年および一朔望月は国立天文台掲載の値を採用するとして
- 一太陽年を定義する分数の分子=365.2422日×4096=1496032
- 一朔望月を定義する分数の分子=29.53059日×4096=120957.3~120957
となるので,一太陽年および一朔望月の定義式は
- 一太陽年=1496032/4096
- 一朔望月=120957/4096
となる。ここで一朔望月および一太陽年/一朔望月の定義式はいずれも見事に調日法を使ったとされる形式に収まってしまうのだ。
\begin{aligned}
\textsf{一朔望月} &= \frac{120957}{4096}
= 29 \frac{2173}{4096}
= 29 + \frac{9 \times 19 + 26 \times 77}{17 \times 19 + 49 \times 77} \\
\frac{\textsf{一太陽年}}{\textsf{一朔望月}} &= \frac{1496032}{120957}
= 12 \frac{44578}{120957}
= 12 + \frac{4 \times 287 + 7 \times 6200}{11 \times 287 + 19 \times 6200}
\end{aligned}
あれれ?おかしいぞ?令和暦の策定には「調日法」を使っていないにも関わらず,「調日法」を使用したという形式になってしまった。これってもしかしたらどんな分数でも「調日法」を使用した形になるのではないか?
問題の定式化
正の有理数である下限値 $a/b$ と上限値 $c/d$ の範囲内にある任意の有理数 $x/y$ について考える。
0 < \frac{a}{b} < \frac{x}{y} < \frac{c}{d} \tag{1}
ここで有理数 $x/y$ は自然数 $p$,$q$ を用いて*必ず*次の形で表すことができるか?という問題に帰着される。
\frac{x}{y} = \frac{ap + cq}{bp + dq} \tag{2}
式は一つしかないのに未知数は $p$,$q$ の二つあるので,一般的にこれを解くことができないように思える。すなわち $x$ と $y$ には特別な関係が必要なように見えるのだ。
証明
だがしかし,任意の有理数 $x/y$ について式$(2)$を満たす自然数 $p$,$q$ は*必ず*存在することを示す。式$(2)$の右辺の分母・分子を $q$ で割る。
\frac{x}{y} = \frac{a \left( \displaystyle \frac{p}{q} \right) + c}{b \left( \displaystyle \frac{p}{q} \right) + d} \tag{3}
$r = p/q$ とおく。
\frac{x}{y} = \frac{ar + c}{br + d} \tag{4}
両辺に $y(br + d)$ をかける。
x(br + d) = y(ar + c) \tag{5}
$r$ を含む項を左辺にまとめる。
(bx - ay)r = cy - dx \tag{6}
$r$ について求める。
r = \frac{cy - dx}{bx - ay} = \frac{p}{q} \tag{7}
これより $cy - dx$ と $bx - ay$ が互いに素であれば
\left\{ \begin{aligned}
p &= cy - dx \\
q &= bx - ay
\end{aligned} \right. \tag{8}
となる。互いに素でない場合はそれらの最大公約数を $g$ とおき,
\left\{ \begin{aligned}
p &= (cy - dx)/g \\
q &= (bx - ay)/g
\end{aligned} \right. \tag{9}
とおけば良い。なお式$(1)$より $p > 0$ かつ $q > 0$ となる。
結論
下限値 $a/b$ と上限値 $c/d$ の範囲にある分数 $x/y$ が
\frac{x}{y} = \frac{ap + cq}{bp + dq}
という形で表すことができるからといって「調日法」を用いたとは言えない。もともと「調日法」は簡素な近似分数を得るための計算手法なのだから,得られた分数がある程度簡素(せめて $p$ が一桁程度)であれば「調日法」を用いた可能性が高いが,$q$ が四桁になってしまうと別の計算方法で求めたものと思われる。
以下,隋唐時代の十暦の一朔望月および一太陽年/一朔望月を示す。このうち「調日法」を使っていないと思われるものを灰色とし,真偽不明のものは黄色で示す。
1)開皇暦
隋初に用いられた開皇暦は一太陽年/一朔望月にのみ「調日法」を用いたと考える。
2)皇極暦から戊寅暦まで
麟徳暦より前の暦法は一太陽年と一朔望月の定義分数の分母が異なるため設定自由度を持つ。このため一朔望月および一太陽年/一朔望月の両方とも「調日法」を用いたのではないかと考える。
3)麟徳暦以降の暦法
麟徳暦以降の暦法は一太陽年と一朔望月の定義分数を共通分母としたため,一朔望月および一太陽年/一朔望月の双方に「調日法」を用いることは難しいと思われる。ただし「調日法」を全く使わないとなると共通分母の算出根拠が不明となるため,少なくとも一朔望月のほうは「調日法」を用いたのではないかと考える。
なお,正元暦だけはどうやって作ったのか分からない。
一太陽年の計算方法
それでは麟徳暦以降の暦法では一太陽年を定義する分数をどのようにして求めたのであろうか?というと文献[1]では実績のある過去の暦法の値を流用したのではないかと説いている。たとえば麟徳暦の一太陽年の定義式は489428/1340であるが,分子489428を四捨五入して求めたのであれば,丸め込んだ端数部分±0.5だけ計算根拠となった一太陽年の観測値は幅を持てることになる。
\frac{489428 \pm 0.5}{1340} = 365.24440 \sim 365.24515\,\textsf{日}
麟徳暦以降の暦法について,同様に一太陽年観測値の取りうる範囲を求めた。
暦法 | 分子 (変動範囲) |
共通分母 | 一太陽年観測値 | |
---|---|---|---|---|
最小値 | 最大値 | |||
麟徳 | 489428±0.5 | 1340 | 365.24440日 | 365.24515日 |
大衍 | 1110343±0.5 | 3040 | 365.24424日 | 365.24457日 |
五紀 | 489428±0.5 | 1340 | 365.24440日 | 365.24515日 |
正元 | 399943±0.5 | 1095 | 365.24429日 | 365.24521日 |
宣明 | 3068055±0.5 | 8400 | 365.24458日 | 365.24470日 |
崇玄 | 4930801±0.5 | 13500 | 365.24448日 | 365.24456日 |
残念ながら六暦全てを満たす値は存在しないが,宣明暦を除く五暦の重なる狭い範囲にちょうど皇極暦の値が位置する。
考察
古代中国では頻繁に改暦が行われた。それが「受命改制」の思想によるものとしても一王朝で一暦であるべきだ。ところが隋唐時代には一世一暦のペースで頻繁に改暦が行われた。おそらく,そんなに短期間では理論面でも観測技術においても飛躍的な進歩を望めないはずである。にも関わらず,前暦の常数をそのまま使用することは許されなかったのだろう。
「調日法」の手順に沿って計算を繰り返していくと次第に飽和してきて実数としては殆ど値が変わらなくなるが,新たな分数は次々と得られる。つまり実質的にほぼ同じ値であるが,見かけ上異なる分数を得るために「調日法」を使ったのではないかと考えている。ただし,一朔望月の計算のみ。
一方,一太陽年のほうは評価の高い皇極暦の値をそのまま,あるいは微調整したうえで新たな共通分母に応じて計算し直しただけではないかと思う。
参考文献[1]に一世一暦と書いてあったのでその表現をそのまま用いたが,図2を描いてみたらさすがにそれは言い過ぎだったようだ。
武照とは武則天(則天武后)のこと。一時期,唐に代わり武周朝を建てた。参考文献[1]によれば武周朝末期に神龍暦を定めたが未実施とのこと。観象暦は記録が残っておらず詳細不明。
次回
次回に続く。
参考文献
[1] 藪内清著作集 第2巻 漢書律暦志の研究/隋唐暦法史の研究,臨川書店,2018年9月
[2] 曲安京「祖沖之は、如何に円周率π=355/113を得たか?」数理解析研究所講究録1257巻,2002年
[3] 国立天文台>暦計算室>暦Wiki>季節のめぐる周期
[4] 国立天文台>暦計算室>暦Wiki>月の周期 月の公転