第16回 暦の数理:ディオファントス近似
日本語の“こよみ”とは「日を数える」という意味です。この言葉が示すように、人類は太古の昔から日を数え、暦を用いていました。数学の発明は、農耕の発生とともに生まれた経済の発達が要因の一つですが、天文学(占星術)も一役買っています。また、古代では占星術は暦と一体でした。古代の人々は天体を観測することによって“数”の概念を獲得していったのです。今回は暦に現れる分数近似と、「ディオファントス近似」について解説します。
天文学に必要な分数・小数の概念
古代の人々は 365日ごとに季節が繰り返されることに気がつきましたが、正確には1年は 365日ではありません。満月から次の満月まで約30日ですが、これも正確な1ヵ月の日数ではありません。同様に1年は、正確に12回の朔望月ではないのです。これらを扱うには分数、あるいは小数の概念が必要です。バビロニア人は小数の概念を、エジプト人は分数の概念を獲得しましたが、これらの概念を得るまでには何百年も、おそらく千年以上もの年月を必要としたと思われます。しかし、小数や分数の概念を得ていたとしても、これらを使いこなせていたわけではありません。これらの概念が使いこなせるようになったのは、近世に入って現代数学が発達してからです。以下では、現代数学を使って古代の暦がどのように作られたかを見てみましょう。現代数学といっても、ごく初等的な整数論ですから、中学生程度の知識があれば理解できると思います。
--Advertising--
ディオファントス近似とは
小数部の処理
ディオファントス近似とは、実数を分数で近似する方法です。天文など観測データは、整数となることはまれで、たいていは小数を伴います。たとえば、満月から満月までの期間
1朔望月 = 29.53059日
や、これを12倍した
1太陰年 = 29.53059日 × 12 = 354.36708日
などは小数部を持ちます。1ヵ月を小の月の 29日と大の月の30日を繰り返すとしても、小数部の 0.03059日が残ります。古代の人はこれをどのように処理したのでしょうか。また、1年を 354日とすると、小数部の 0.36708日が残ります。〔メトン周期〕で述べたように小数部を分数で近似すると、古代の方法が見えてきます。
ディオファントスは古代のギリシアの数学者で、数論に関する有名な著作を残しています。しかし、これから述べる実数の分数による近似法は、上で述べた理由により、ディオファントス自身のものではなく、近世の数学者の考案であり、ディオファントスは名前を借りただけだと思われます。
以下では実数 x は分数の形で与えられるものとします。分数を分数で近似するのですから、より単純な分数が得られるとは限りませが、多くの場合より簡単な分数が得られます。また、この方法は「ユークリッドの互除法」とか「連分数」の理論とも密接な関係があります。ただし、この方法は古代で用いられたものではありません。古代では、長大な期間の観測を記録し、その記録から天文学における規則性を類推したのだと思われます。
分数の変形規則
ディオファントス近似は、次の分数の変形規則を使います。q/p を与えられた分数とします。次の式の左辺の q/p を右辺のように変形します。
\( (a) q > p のとき: \frac{q}{p}=1+\frac{q-p}{p} \)
\( (b) q < p のとき:\frac{q}{p}=1+\frac{1}{\frac{p}{q}} \)
\( (c) q = p のとき: \frac{q}{p}=1 \)
(c) に到達したら手続きは終了ですが、この場合は最初に与えられた x と同じ分数となってしまうので、(c) の到達する前に途中で q/p を適当な、より簡単な分数で置き換える必要があります。(a) の引き算 q–p の繰り返しは、割り算 q÷p でより効率的に実現できますから、(a) の代わりに次の (a’) を使う方が効率的です。
\( (a’) q > p ,q \div p=s \cdots r のとき: \frac{q}{p}=s+\frac{r}{p} \)
√2の分数近似
例として √2 = 1.414…でやってみましょう。
\( \sqrt{2} \fallingdotseq 1+ \frac{414}{1000} = 1+ \frac{1}{\frac{1000}{414}} = 1+ \frac{1}{\ 2+ \frac{172}{414}} \)
ここで、172/414 を 1/2 と近似すると
\( 1+ \frac{1}{\ 2+ \frac{172}{414}} \fallingdotseq 1+ \frac{1}{2+ \frac{1}{2}} =1+ \frac{1}{\frac{5}{2}} =1+ \frac{2}{5} =1.4 \)
となります。172/414 をさらに続けると
\( \frac{172}{414} = \frac{1}{\frac{414}{172}} = \frac{1}{2+ \frac{70}{172}} = 1/ \left(2+\frac{1}{\frac{172}{70}}\right) = 1/ \left(2+\frac{1}{\ 2+ \frac{32}{70}}\right) \)
となります。最後の32/70を1/2と近似すると
\( \frac{172}{414} \fallingdotseq 1/ \left(2+ \frac{1}{\ 2+\frac{1}{2}}\right) = \frac{1}{2+ \frac{2}{5}} = \frac{5}{12} \)
よって、
\( \sqrt{2} \fallingdotseq 1+ \frac{1}{\ 2+ \frac{172}{414}} \fallingdotseq 1+ \frac{1}{2+ \frac{5}{12}} = 1+ \frac{12}{29}\fallingdotseq 1.414 \)
となり、√2のよい分数近似が得られます。
近似値の上界・下界
近似をする場合、得られた近似値がどの程度“真の値”に近いかを知る必要があります。特に上界と下界が分かれば申し分ありません。x を与えられた正の実数とします。次の条件を満たす分数 b/a と d/c を x の D上下界と呼ぶことにします。D はディオファントスの D です。
\( (d) \;\frac{b}{a}\;\text{≦}\;x\;\text{≦}\;\frac{d}{c} \)
\( (e) \;ad \; – \; bc = \; 1 \)
b/a と d/c が D上下界なら、次が成立します。
\( \frac{d}{c} – \frac{b}{a} = \frac{ad-bc}{ac}=\frac{1}{ac} \hspace{40pt}(1) \)
一般に実数 x を分数 b/a か d/c で近似する場合、a と c は十分大きな数となります。式 (1) は、上界と下界の差が 1/ac であることを保証します。
ディオファントス近似を得るには、(a) と (b) の変形を途中で打ち切らなくてはなりません。(b) の場合、つまり q>p のときは式の変形を続けることにし、変形が
\( k+\frac{q}{p}, \; q < p, \; k\geq 1 \hspace{40pt}(2) \)
のときに打ち切ることにします。このとき、q/p を適当な上界または下界で置き換えてよいのですが、以下では証明のために、0/1 か 1/2 か 1/1 のいずれかとします。実際、たいていのディオファントス近似はこれで得られます。また、D上下界を同時に考えます。
\( (f) \;0 < q/p < 1/2 のとき、 a=1, b=0, c=2, d=1 とする。つまり \)
\( \frac{b}{a} = \frac{0}{1} < \frac{q}{p} < \frac{1}{2} = \frac{d}{c} \)
\( ((g) \;1/2 \; \text{≦} \; q/p < 1 のとき、 a=2, b=1, c=1, d=1 とする。つまり \)
\( \frac{b}{a} = \; \frac{1}{2} \; \text{≦} \; \frac{q}{p} < \frac{1}{1} = \frac{d}{c} \)
変形を打ち切り、分数 q/p を D上下界の b/a か、あるいは d/c で置き換え、おこなった操作を逆戻りします。このとき次の定理が適用できます。
定理 b/a と d/c が x の D上下界なら、任意の自然数 k に対し (ka+b)/a と (kc+d)/c は k+x のD上下界である。
証明はほとんど明らかですが、式で確認しておきます。
\( \frac{ka+b}{a} \; \text{≦} \; k+x \; \text{≦} \; \frac{kc+d}{c} \)
\( (kc+d)×a- (ka+b)×c =ad-bc=1 \)
定理 b/a と d/c を x の D上下界で b≠0 なら、c/d と a/b は 1/x のD上下界である。
これも式で確認しておきましょう。
\( \frac{b}{a} \; \text{≦} \; x \; \text{≦} \; \frac{d}{c} ならば \frac{c}{d} \; \text{≦} \; \frac{1}{x} \; \text{≦} \; \frac{a}{b} \)
ここで b=0 なら、分数 a/b が作れません。しかし、D上下界の分子に 0 が現われるのは最初の設定のときだけで、そのときは (2) の形で表れます。ここで k≧1 が足され, 以後分子に 0 が現われることはありません。
古代の暦に現れる分数近似
最初に述べた1太陰年の小数部 0.367 を分数で近似しましょう。古代の暦の文献に現れる分数近似は次の4つです。
\( \frac{3}{8}= 0.375, \; \frac{4}{11}= 0.3636\cdots, \; \frac{7}{19}= 0.3682\cdots, \; \frac{11}{30}= 0.3666\cdots, \)
\( 0.367 = \frac{367}{1000} = \frac{1}{\frac{1000}{367}} = \frac{1}{2+\frac{266}{367}} = 1/ \left(2+\frac{1}{\frac{367}{266}}\right) = 1/ \left(2+\frac{1}{\ 1+ \frac{101}{266}}\right) \)
ここで、101/266 を 1/2 で近似しましょう。
\( 1/ \left(2+\frac{1}{\ 1+ \frac{101}{266}}\right) \fallingdotseq 1/ \left(2+\frac{1}{\ 1+ \frac{1}{2}}\right) = 1/ \left(2+\frac{2}{3}\right) = \frac{1}{\frac{8}{3}} = \frac{3}{8} \)
最初の分数近似 3/8 が得られました。101/266 をさらに続けてみましょう。
\( \frac{101}{266} = \frac{1}{ \frac{266}{101}} = \frac{1}{ 2+ \frac{64}{101}} \)
今度は 64/101 の下界と上界の両方を計算してみましょう。 64/101 の下界として 1/2 を、上界として 1/1 をとります。
\( \frac{101}{266} = \frac{1}{ 2+ \frac{64}{101}} \fallingdotseq \frac{1}{ 2+ \frac{1}{2}} = \frac{2}{5} \)
\(\frac{101}{266} = \frac{1}{ 2+ \frac{64}{101}} \fallingdotseq \frac{1}{ 2+ \frac{1}{1}} = \frac{1}{3} \)
すると、101/266 のD上下界 2/5 と 1/3 が得られます。逆数を取りますから、上界と下界が逆転します。101/266 の近似を 2/5 とした場合、
\( 0.367 = 1/ \left(2+\frac{1}{\ 1+ \frac{101}{266}}\right) \fallingdotseq 1/ \left(2+\frac{1}{\ 1+ \frac{2}{5}}\right) = 1/ \left(2+\frac{5}{7}\right) = \frac{1}{\frac{19}{7}} = \frac{7}{19} \)
となり、101/266 の近似を 1/3 とした場合
\(0.367 = 1/ \left(2+\frac{1}{\ 1+ \frac{101}{266}}\right) \fallingdotseq 1/ \left(2+\frac{1}{\ 1+ \frac{1}{3}}\right) = 1/ \left(2+\frac{3}{4}\right) = \frac{1}{\frac{11}{4}} = \frac{4}{11} \)
となります。7/19 と 4/11 は古代の天文学で使われた比率ですし、また 0.367の D上下界となっています。実際次が成立します。
\( \frac{4}{11} < 0.367 < \frac{7}{19} \)
\( \frac{7}{19} – \frac{4}{11} = \frac{1}{209} \)
上では、64/101 で打ち切りましたがこれをもう一段進めてみましょう。
\( \frac{64}{101} = \frac{1}{\frac{101}{64}} = \frac{1}{1 + \frac{37}{64}} \)
37/64 の近似値として 1/2 を取ると、64/101 の近似値 2/3 が得られます。よって、
\( 0.367 = 1/ \left( 2+ 1/ \left(1+\frac{1}{\ 2+ \frac{64}{101}}\right)\right) \fallingdotseq 1/ \left( 2+ 1/ \left(1+\frac{1}{\ 2+ \frac{2}{3}}\right)\right) = \frac{11}{30} \)
となります。
これで古代の暦で用いられた1太陰年の小数部 0.367 を近似する4つの分数がすべて得られました。最後の 11/30 は、イスラームで現在も用いられているヒジュラ暦で用いられています。ヒジュラ暦では30太陰年に11回閏日を挿入しています。ヒジュラ暦は、太陽暦ではなく太陰暦ですが、この精度は現在私たちが用いているグレゴリオ暦に匹敵するものです。しかも、グレゴリオ暦が制定される1千年も前に制定されているのです。
PICK UP!!こちらのWeb連載もおすすめです