- ベストアンサー
連分数展開
有理数や無理数の連分数展開のやり方が分からないのですが、どうしたらできるのでしょうか? 逆に√2の連分数から√2を求める事には成功しています。 x+1=2+(1/x+1)をときました。 同じ感じで逆に計算していけば連分数が求まると思ったのですが、なかなかそうもいきませんでした。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A[i]の整数部分をB[i], 小数部分をC[i]としたときに、A[i+1]=1/C[i]とすればOKと考えます。 A[1]=B[1]+1/A[2] =B[1]+1/(B[2]+1/A[3]) =B[1]+1/(B[2]+1/(B[3]+1/…)) もちろん、C[i]=0になれば、そこで連分数展開は終了。また、A[m]=A[n]の場合は、連分数展開が循環することになります。 √3の連分数展開を考えると、 A[1]=√3, B[1]=1, C[1]=√3-1 A[2]=(√3+1)/2, B[2]=1, C[2]=(√3-1)/2 A[3]=√3+1, B[3]=2, C[3]=√3-1 A[4]=A[2]は明らか。これらから B[i]は1,1,2,1,2,1,2,...という数列をなす。 したがって、√3="1" + 1/("1" + 1/("2" + 1/("1" + 1/("2" + 1/...)))) となります。
その他の回答 (4)
- m0n1teur
- ベストアンサー率43% (10/23)
#1です。補足します。 私の言おうとしてることは、質問にあるやり方だと、 √2 のときは x+1=2+(1/x+1) √3 のときは x+1=2+(2/x+1) √4 のときは x+1=2+(3/x+1) √5 のときは x+1=2+(4/x+1) √6 のときは x+1=2+(5/x+1) √7 のときは x+1=2+(6/x+1) √8 のときは x+1=2+(7/x+1) としてやるということです。
- adinat
- ベストアンサー率64% (269/414)
√2=1.41421356...なので、 まず√2から引ける最大の自然数1を引きます。 √2-1=0.41421356...になるので、この逆数を計算します。 1/(√2-1)=2.41421356...になるので、ここからひける最大の自然数2を引きます。 1/(√2-1)-2=0.41421356...になるので、この逆数を計算します。 以下これを繰り返します。 途中で引き算をした自然数、1,2,2,2,‥ が求めたい連分数に表れる自然数です。 ご存知であるとは思いますが、有理係数の二次式の解 いわゆる√xの連分数展開は巡回しますので、 途中まで計算するだけで連分数展開が完全にもとまりますが、 たとえばπなどの超越数の連分数展開は巡回しませんので、 地道に上記の方法で計算するぐらいだと思います。 コンピュータの電卓をつかえば七段ぐらいまでは 簡単に計算することができますが、それ以上を 求めたいのであれば、プログラムを作って 計算させるのがよいと思います。 計算法自体はガウス記号と逆数演算ぐらいですし。
お礼
ユークリッドの互除法に 似ている気がするのですが、気のせいですか? いろいろ試してみます
- yaksa
- ベストアンサー率42% (84/197)
最大公約数を求めるユークリッドの互除法というのがありますが、あれを応用すると、連分数展開できます。 A[n] = B[n]*Q[n]+R[n] A[n+1]=B[n] B[n+1]=R[n] (ただし、A[n],B[n],Q[n]は整数、R[n]は実数。) というような漸化式(ユークリッド互助法そのもの) を書き直すと、A[1]/B[1]の連分数展開が求まります。 A[1]/B[1] = Q[1] + R[1]/B[1] = Q[1] + 1/(B[1]/R[1]) = Q[1] + 1/(A[2]/B[2]) = Q[1] + 1/(Q[2] + R[2]/B[2]) = Q[1] + 1/(Q[2] + 1/(B[2]/R[2])) = Q[1] + 1/(Q[2] + 1/(Q[3] + R[3]/B[3])) ... = [Q[1], Q[2], Q[3], ... ] みたいな感じです。 具体的に√2の連分数展開を求めたいなら、A[1]=√2、B[1]=1と置いて、漸化式を計算して、Q[n]を並べていけばいいです。
補足
ユークリッドの互除法による、最大公約数の求め方は知っていますが、 漸化式ってなんですか?
- m0n1teur
- ベストアンサー率43% (10/23)
x=√nとします。 1/(x+1) = (x-1)/(n-1) (n-1)*{1/(x+1)} = x-1 (n-1)*{1/(x+1)}+2 = x+1 です。 (n-1)を掛けないといけないと思います。
補足
√3を上のようにしてみたんですが、よくわかりません。
補足
たとえば√3 のときは分子が1ではなく2になるんですが・・・