初等整数論/連分数

提供: testwiki
2022年7月7日 (木) 00:13時点におけるimported>Ef3による版 ({{Nav}})
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

テンプレート:Nav

連分数は分母に分数が出る形の式のことである。

a0+b0a1+b1a2+b2a3+b3

話を単純にするため分子がみな 1 になる連分数を扱う。すなわち

a0+1a1+1a2+1a3+1

このような連分数はスペースを取るので様々な省略記法があるのだが、ここでは上の連分数を

(a0,a1,a2,a3,) と表すことにする。

さて、この連分数の値を求めることを目標とするのだが、その前に全く関係のなさそうな話を少々することになる。

{x0=k0x1+x2x2=k1x2+x3xn1=kn1xn+xn+1(1)

さてガウスの用いた記号にならって、次の記号を定める。

[k0]=k0[k0,k1]=k0k1+1[k0,k1,,kn+1]=kn+1[k0,k1,,kn]+[k0,k1,,kn1]

このとき、上の連立方程式について次が成り立つ。

定理 4.1

p0=1, pn=[k0,k1,,kn1] (n=1,2,) とおくと

x0=pnxn+pn1xn+1 (2)pn[] の再記である)

証明
x0=k0x1+x2=p1x1+p0x2 より、 n=1 のときは自明に成り立つ。

次に、n のとき成り立つとすると

x0=pnxn+pn1xn+1 (1) の式を代入して

x0=pn(knxn+1+xn+2)+pn1xn+1=(pnkn+pn1)xn+1+pnxn+2=(kn[k0,k1,,kn1]+[k0,k1,,kn2])xn+1+pnxn+2=([k0,k1,,kn])xn+1+pnxn+2=pn+1xn+1+pnxn+2

すなわち n+1 のときでも成り立つ。

以上より数学的帰納法で証明される。


なお、pn+1=pnkn+pn1 という漸化式が上の証明から分かるが、

これは kn をユークリッドの互除法の逐次商とみたときに一次不定方程式の係数の漸化式と同じである。


さて、(1) の一番目の式を除外したときに定理 4.1 より x1=qnxn+qn1xn+1

ただし q0=0, q1=1, qn=[k1,k2,,kn1] (n=2,3,) である。

そうすると、pn と同様、qn+1=qnkn+qn1 (3) となる。

このとき、次の定理が連分数の理論において重要である。

定理 4.2

(1)nxn=qn1x0pn1x1

証明
これを証明する前に、まずは次の等式を証明する。

|pnpn1qnqn1|=(1)n

すなわち、pnqn1pn1qn=(1)n(4)

n=1 のとき、

|p1p0q1q0|=|k0110|=1

より、自明に成り立つ。

次に、n のとき成り立つとすると、

|pn+1pnqn+1qn|=|pnkn+pn1pnqnkn+qn1qn|=(pnkn+pn1)qnpn(qnkn+qn1)=pnknqn+pn1qnpnqnknpnqn1=pn1qnpnqn1=(pnqn1pn1qn)=|pnpn1qnqn1|=(1)n+1

ただし、最後の変形には帰納法の仮定を用いた。以上より数学的帰納法によって証明される。


さて、(2)、(3) より

{x0=pnxn+pn1xn+1x1=qnxn+qn1xn+1 (5){qn1x0=qn1pnxn+qn1pn1xn+1pn1x1=pn1qnxnpn1qn1xn+1

 xn(pnqn1pn1qn)=qn1x0pn1x1(1)nxn=qn1x0pn1x1   ((4))



さて、pn,qn を計算するには次の等式を用いるのが簡便である。

[k0,k1,,kn+1]=k0[k1,k2,,kn+1]+[k2,k3,,kn+1]  (6)

n=1 のとき、定義より

[k0,k1,k2]=k2[k0,k1]+[k0]=k2(k0k1+1)+k0=k0(k1k2+1)+k2=k0[k1,k2]+[k2]

したがって成り立つ。

n=2 のとき、

[k0,k1,k2,k3]=k3[k0,k1,k2]+[k0,k1]=k3(k2[k0,k1]+[k0])+k0k1+1=k3(k2k0k1+k2+k0)+k0k1+1=k0k1k2k3+k2k3+k0k3+k0k1+1


k0[k1,k2,k3]+[k2,k3]=k0(k3[k1,k2]+[k1])+k2k3+1=k0(k3k2k1+k3)+k2k3+1=k0k1k2k3+k2k3+k0k1+1


 [k0,k1,k2,k3]=k0[k1,k2,k3]+[k2,k3]

したがって成り立つ。


次に、n<m  (3m) なる全ての n について成り立つとすると

[k0,k1,,km+1]=km+1[k0,k1,,km]+[k0,k1,,km1]=km+1(k0[k1,k2,,km]+[k2,k3,,km])+(k0[k1,k2,,km1]+[k2,k3,,km1])=k0(km+1[k1,k2,,km]+[k1,k2,,km1])+(km+1[k2,k3,,km]+[k2,k3,,km1])=k0[k1,k2,,km+1]+[k2,k3,,km+1]

よって、m も成り立つ。以上より全ての場合に成り立つことが分かり、(6) は累積帰納法で証明される。この式を使えば、後ろから [kn+1], [kn,kn+1], [kn1,kn,kn+1], が次々に求まり、楽に計算ができる。

さて、目標としていたことは連分数を計算することだったが、それは (6) を用いれば簡単にできる。

(a0,a1,a2,,an) は冒頭と同じく

a0+1a1+1a2+1a3+1+1an1+1an

を表すこととする。

(k0,k1,k2,,kn)=[k0,k1,k2,,kn][k1,k2,,kn] が成り立つ。

なぜなら、(6) によって左辺は

k0[k1,k2,,kn]+[k2,,kn][k1,k2,,kn]=k0+1[k1,k2,,kn][k2,,kn]=k0+1k1+1[k2,,kn][k3,,kn]

となるからである。

テンプレート:Nav