2
高校数学解説
文献あり

互除法から連分数へ

92
0

Euclidの互除法

任意の(a,b)Z×Z>0に対して,整数qZと自然数rNであって
a=qb+r, 0r<b
を満たすものがただ一組存在する.

q:=a/bZとおくと
qab<q+10aqb<b
が成り立つので,r:=aqbNとおけばよい.また,議論を逆に辿ることで一意性がわかる.

a,bZとする.自然数dN

  1. da, db;
  2. da, dbdd;

を満たすとき,da,b最大公約数といい,gcd(a,b)で表わす.

任意の整数aZに対して
gcd(a,0)=|a|
が成り立つ.

a,b,q,rZdivisionの通りとする.このとき
gcd(a,b)=gcd(b,r)
が成り立つ.

d:=gcd(a,b)とおく.

  1. da, dbより
    db, daqb=r
    が成り立つ.
  2. db, drとすると,
    dqb+r=a, db
    となるので,ddを得る.

以上より,d=gcd(b,r)が成り立つ.

Euclidの互除法

任意のa,bZに対して,x,yZであって
ax+by=gcd(a,b)
を満たすものが存在する.

b=0のとき
asign(a)+b1=|a|=gcd(a,b)
となるので,b0としてよい.また,
ax+by=ax+(b)(y), gcd(a,b)=gcd(a,b)
であるから,b>0としてよい.このとき,整数の有限列r0,r1,r2,,rn,rn+1であって
gcd(r0,r1)=gcd(rk,rk+1), 0=rn+1<rn<<r2<r1
を満たすものが存在する:

  1. r0:=a, r1:=bとおく.
  2. divisiongcdより自然数r2Nであって
    gcd(r0,r1)=gcd(r1,r2), 0r2<r1
    を満たすものがただ一つ存在する.
  3. r20のとき,同様にしてr3Nが定まる:
    gcd(r1,r2)=gcd(r2,r3), 0r3<r2.
  4. 以下,これを繰り返せば,高々b回で0に達する.

したがって
gcd(a,b)=gcd(r0,r1)=gcd(rn,rn+1)=gcd(rn,0)=rn
が成り立つ.ここで,各k{1,,n}に対して
qk1:=rk1rkZ
とおくと,
rk1=qk1rk+rk+1[rk1rk]=[qk1110][rkrk+1]
であるから,
[ab]=[q0110][q1110][qn1110][rn0]
が成り立つ.よって,等式
[011qn1][011q1][011q0][ab]=[rn0]=[gcd(a,b)0]
において両辺の(1,1)成分を比較することで結論を得る.

0<rn<<r1より,各k{1,,n1}に対して
1<rkrk+11rkrk+1=qk
が成り立つ.

3928との最大公約数は(明らかに)1である:
39=128+11;28=211+6;11=16+5;6=15+1;5=51+0.
また,
[0115][0111][0111][0112][0111]=[572535]
より,
39(5)+287=1
を得る.

a,b,cZとする.このとき次は同値である:

  1. gcd(a,b)c;
  2. x,yZ, ax+by=c.

とくに
gcd(a,b)=1x,yZ, ax+by=1
が成り立つ.

(i)(ii)

仮定よりcZであってgcd(a,b)c=cなるものが存在する.また,euclidよりx0,y0Zであって
ax0+by0=gcd(a,b)
を満たすものが存在する.よって
ax0c+by0c=gcd(a,b)c=c
が成り立つ.

(ii)(i)

明らか.

連分数

準備

実数列qRNであって
n1, qn>0
なるものに対して,実数列A,Bを,(A0,B0):=(1,0)および
[AnBn]:=[q0110][q1110][qn1110][10], n1
で定める.このとき,
[qn2110][10]=[qn2110][qn1110][01], n2
より,
[AnAn1BnBn1]=[q0110][q1110][qn1110], n1
が成り立つ.

任意のnZ1に対してBn>0が成り立つ.また,qが整数列ならば,任意のnZ2に対して
0<n1Bn<Bn+1
が成り立つ.

明らかに
0<1=B1
であり,漸化式
[An+1AnBn+1Bn]=[AnAn1BnBn1][qn110]=[Anqn+An1AnBnqn+Bn1Bn]
より,
0<B1,,Bn0<BnqnBnqn+Bn1=Bn+1
が成り立つ.また,qが整数列のとき,
0<1=B1B1q1=B1q1+B0=B2B2q2<B2q2+B1=B3
および
n1Bn<Bn+1nBn+1Bn+1qn+1<Bn+1qn+1+Bn=Bn+2
が成り立つ.

分数A1B1,A2B2,A3B3Rを計算してみると,
A1B1=q01=q0;A2B2=A1q1+A0B1q1+B0=q0q1+1q1=q0+1q1;A3B3=A2q2+A1B2q2+B1=(q0q1+1)q2+q0q1q2+1=q0+q2q1q2+1=q0+1q1+1q2;
となる.

上述の記号のもとで,任意のnZ1に対して
AnBn=q0+1q1+1q2+1q3+1+1qn1=:[q0;q1,,qn1]
が成り立つ.

“長さ”nに関する数学的帰納法に拠る.n=1,2のときは上例より明らかであり,n2のとき,
[q0110][qn2110][qn1+1qn110][10]=[An1An2Bn1Bn2][qn1+1qn1]=[An1(qn1+1qn)+An2Bn1(qn1+1qn)+Bn2]
より,
[q0;q1,,q(n+1)1]=[q0;q1,,qn2,qn1+1qn]=An1(qn1+1qn)+An2Bn1(qn1+1qn)+Bn2=An1(qn1qn+1)+An2qnBn1(qn1qn+1)+Bn2qn=(An1qn1+An2)qn+An1(Bn1qn1+Bn2)qn+Bn1=Anqn+An1Bnqn+Bn1=An+1Bn+1
が成り立つ.

1次分数変換
[αβγδ]:R{}R{}; xαx+βγx+δ=:[αβγδ]x
を用いると,
[q0;q1,,qn2,qn1]=AnBn=[AnAn1BnBn1]=[q0110][q1110][qn2110][qn1110]=[q0110][q1110][qn2110]qn1
と書ける.

有理数の連分数展開

有理数λ=a/bQ, (a,b)Z×Z>0, gcd(a,b)=1,に対して,euclidの証明より
[ab]=[q0110][q1110][qn1110][10]
であるから,
λ=ab=[q0;q1,,qn1]=q0+1q1+1q2+1q3+1+1qn1
となる(cf. quoti-posi).これをλ(正則)連分数展開という.

写像
f:n=1{(q0,q1,,qn1)q0Z, q1,,qn1Z>0, qn1>1}Q; (q0,q1,,qn1)[q0;q1,,qn1]
は全単射である.

任意のnZ2に対して,qn1>1より,
[q1;q2,,qn1]>1
が成り立つ.実際,n=2のときは明らかであり,nのとき成り立てばn+1でも成り立つ:
[q1;q2,,q(n+1)1]=[q1;[q2;q3,,qn]]=q1+1[q2;q3,,qn]>q11.

euclidの証明において
qn1rn=rn1>rn>0qn1>1
が成り立つので,写像fは全射である.したがって,あとは単射性を示せばよい.そこでf(q)=f(q)とする.このときq=qとなることを,qの“長さ”nZ1に関する数学的帰納法で示す.

  1. Base:
    q0=[q0;q1,,qm1]
    とする.このとき,m2とすると
    0<q0q0=1[q1;q2,,qm1]<1
    となってq0q0Zに反する.よって
    m=1, q0=q0
    が成り立つ.
  2. Induction:
    [q0;q1,,q(n+1)1]=[q0;q1,,qm1]
    とする.このとき,前段よりm2であり,
    q0+1[q1;q2,,qn]=q0+1[q1;q2,,qm1]
    の整数部分を取って
    q0=q0[q1;q2,,qn]=[q1;q2,,qm1]
    がわかるので,帰納法の仮定より
    n=m1, (q1,,qn)=(q1,,qn)
    が成り立つ.

d:=gcd(a,b)0のとき,(n2とすると)
[a/db/d]=[q0110][qn2110][qn1110][10]=[q0110][qn2110][qn11]
であり,lin-frac-transfより
ab=a/db/d=[q0;q1,,qn2,qn1]=[q0110][qn2110]qn1
となるので,この最右辺を計算することによって,有理数a/bの既約分数表示が得られる.たとえば11178/16419の場合,
11788=016419+11788;16419=111788+4631;11788=24631+2526;4631=12526+2105;2526=12105+421;2105=5421+0;
より,
1178816419=[0110][1110][2110][1110][1110]5=[5374]5=55+375+4=2839
と計算できる.

d:=gcd(a,b)0のとき,
[ab]:=[q0110][qn2110][10]ab=[q0;q1,,qn2]
とおくと,
[a/dab/db]=[q0110][qn1110]
であるから,両辺のディターミナントを取って
adbabd=(1)na(1)nb+b(1)n+1a=d
を得る(cf. euclid).たとえば,(a,b)=(28,39)のとき,上例より
2839=[0;1,2,1,1,5], [0;1,2,1,1]=[0;1,2,2]=11+12+12=11+25=57
となるので,
287395=1
を得る(cf. 3928).

無理数の連分数展開

RNの部分集合Q
Q:={q=(q0,q1,q2,)ZNn1, qn>0}
で定める.以下,QRQとの間に全単射が存在することを示す.

整数列qQに対して,整数列A,B
[AnAn1BnBn1]:=[q0110][q1110][qn1110]
で定めると,gcd(An,Bn)=1であり,有理数列(An/Bn)n=1はある無理数に収束する:
[q0;q1,q2,]:=limnAnBnRQ.

定義式において両辺のディターミナントを取ると
AnBn1An1Bn=(1)n
となるので,coprimeより,gcd(An,Bn)=1を得る.また,Bn-posiより
limnBn=
が成り立つことに注意する.

  1. 有理数列(A2n/B2n)n=1について,
    A2nB2nA2n+2B2n+2=A2nB2n+2A2n+2B2nB2nB2n+2=A2n(B2n+1q2n+1+B2n)(A2n+1q2n+1+A2n)B2nB2nB2n+2=(A2n+1B2nA2nB2n+1)q2n+1B2nB2n+2=(1)2n+1q2n+1B2nB2n+2=q2n+1B2nB2n+1>0
    が成り立つ.
  2. 有理数列(A2n1/B2n1)n=1について,
    A2n1B2n1A2n+1B2n+1=A2n1B2n+1A2n+1B2n1B2n1B2n+1=A2n1(B2nq2n+B2n1)(A2nq2n+A2n1)B2n1B2n1B2n+1=(A2nB2n1A2n1B2n)q2nB2n1B2n+1=(1)2nq2nB2n1B2n+1=q2nB2n1B2n+1<0
    が成り立つ.
  3. 任意のnZ1に対して
    A2n1B2nA2nB2n1=(1)2n=1<0A2n1B2n1<A2nB2n
    が成り立つので,
    A2n1B2n1<{A2nB2nA2mB2mnmA2m1B2m1<A2mB2mn<m
    を得る.よって,実数
    limnA2nB2n, limnA2n1B2n1
    が定まる.
  4. さらに,
    A2nB2nA2n1B2n1=(1)2nB2nB2n1=1B2nB2n10(n)
    が成り立つので,
    limnA2nB2n=limnA2n1B2n1=:λ
    であり,したがって,有理数列(An/Bn)n=1λRに収束する.
  5. いま,任意のnZ1に対して
    A2n1B2n1<λ<A2nB2n0<λA2n1B2n1<A2nB2nA2n1B2n1=1B2nB2n1
    が成り立っている.したがって,λが有理数であるとすると(a,b)Z×Z>0を用いてλ=a/bと表わせるので,十分大きなnに対して
    0<aB2n1A2n1b<bB2n<1
    が成り立つことになり,aB2n1A2n1bZに反する.

任意のnZ2に対して
AnBn1An1Bn=(1)nAnBnAn1Bn1=(1)nBn1Bn
が成り立つので,
AnBn=An1Bn1+(1)nBn1Bn=An2Bn2+(1)n1Bn2Bn1+(1)nBn1Bn=AB=A1B1+k=2n(1)kBk1Bk
を得る.よって
[q0;q1,q2,]=q0+k=2(1)kBk1Bk=q0+n=1(1)n+1BnBn+1
が成り立つ.

整数列(0,1,1,)Qから定まる整数列BはFibonacci数列Fに外ならない(cf. Bn-posiの証明):
F0=0, F1=1, Fn+2=Fn+1+Fn.
したがって
λ:=[0;1,1,]=n=1(1)n+1FnFn+1
が成り立つ.ところで,
0=A1B1<λ1λ=[1;1,1,]=1+λ
であるから,λについて解いて
n=1(1)n+1FnFn+1=λ=1+52
を得る.また,A+1=Fより
limnFnFn+1=limnAn+1Bn+1=λ=1+52
となるので,逆数を取って
limnFn+1Fn=1+52
を得る.

λRQとする.このとき,無理数列λRNと整数列qQとであって
nZ1, λn>1, λ=[q0;q1,,qn1,λn]
を満たすものが存在する.

  1. λ0:=λ, q0:=λとおく.
  2. q0<λ0<q0+1より
    λ1:=1λ0q0R>1Q, q1:=λ1Z>0
    であり,
    λ=λ0=q0+1λ1=[q0;λ1]
    が成り立つ.
  3. (λ0,λ1,,λn), (q0,q1,,qn)まで定まったとする:
    qk=λk, λ=[q0;q1,,qn1,λn].
    このとき,qn<λn<qn+1より
    λn+1:=1λnqnR>1Q, qn+1:=λn+1Z>0
    であり,
    λ=[q0;q1,,qn1,λn]=[q0;q1,,qn1,qn+1λn+1]=[q0;q1,,qn1,qn,λn+1]
    が成り立つ.

λが有理数r0/r1のとき,上の手続きはEuclidの互除法に外ならない:
r0=q0r1+r2, q0=r0r1, 0<r2<r1q0+r2r1=r0r1=λ=:λ0, q0=λ0;r1=q1r2+r3, q1=r1r2, 0<r3<r2q1+r3r2=r1r2=1λ0q0=:λ1>1, q1=λ1;r2=q2r3+r4, q2=r2r3, 0<r4<r3q2+r4r3=r2r3=1λ1q1=:λ2>1, q2=λ2;  rn1=qn1rn+rn+1, 0=rn+1<rnqn1=rn1rn=1λn2qn2=:λn1>1.

無理数λRQから定まる整数列qQ(から定まる整数列A,B)に対して,
limnAnBn=λ
が成り立つ.

irr-euclidlin-frac-transfより,任意のnZ1に対して
λ=[q0;q1,,qn1,λn]=[AnAn1BnBn1]λn=Anλn+An1Bnλn+Bn1
が成り立つ.よって
AnBnλ=AnBnAnλn+An1Bnλn+Bn1=(1)nBn(Bnλn+Bn1)
と合わせて,
|AnBnλ|=1Bn(Bnλn+Bn1)<1Bn(Bnqn+Bn1)=1BnBn+1(n)
を得る(cf. Bn-posi).

無理数λRQに対して,
λ=limnAnBn=[q0;q1,q2,]
λ(正則)連分数展開という.

写像
QRQ; q[q0;q1,q2,]
は全単射である.

irr-euclidapprox-fracより
λq[q0;q1,q2,]=λ
が成り立つ.そこで,qQとし
λ:=[q0;q1,q2,]RQ
とおく.また,無理数λから定まる無理数列および整数列をそれぞれλ,qとする(cf. irr-euclid).このとき,任意のnNに対して
λn=[qn;qn+1,qn+2,], qn=qn
が成り立つことを示す.

  1. Base:定義より
    λ0=λ=[q0;q1,q2,]
    が成り立つ.また,
    q0<λ<q0+1q1q0+1
    となるので,
    q0=λ=q0
    が成り立つ.
  2. Induction:irr-euclidと帰納法の仮定より
    λ=[q0;q1,,qn,λn+1]=[q0;q1,,qn,λn+1]=[An+1AnBn+1Bn]λn+1
    となる.一方,
    λ=[q0;q1,,qn,[qn+1;qn+2,qn+3,]]=[An+1AnBn+1Bn][qn+1;qn+2,qn+3,]
    であるから,
    λn+1=[qn+1;qn+2,qn+3,]
    を得る(cf. lin-frac-transf).したがって
    qn+1<λn+1<qn+1+1qn+2qn+1+1
    となるので,
    qn+1=λn+1=qn+1
    が成り立つ.

整数列qQと無理数λRQとが対応しているとき,
0q00<λ
が成り立つ.実際,

  1. 0q0とすると,well-defの証明より,
    0q0=A1B1<λ
    が成り立つ.
  2. 0<λとすると,irr-euclidの証明より,
    0λ=q0
    が成り立つ.

正整数NZ>0に対して,無理数λNR>0Q
λN:=[0;N,N,]
で定めると,
λN=1N+λNλN2+NλN1=0
より,
λN=N+N2+42
となる.


ここで,
ρN:=λN+N+1=N2+4+N2+1, σN:=λN+1=N2+4N2+1
とおくと,これらは
1ρN+1σN=11λN+1+1λN+1=λN1+λN+1λN+1=1
を満たす正の無理数であり,したがって
N={ρNnnN}{σNnnN1}
が成り立つ(cf. Galois接続入門 例28,例29).

上例より
n2+4+n2=[n;n,n,], n2+4n2+1=[1;n,n,]
となるので,たとえば
5+12=[1;1,1,], 2=[1;2,2,]Q
が成り立つ.後者は
n2+1=(2n)2+42n2+n=[n;2n,2n,]
と一般化できる.

近似分数

実数λRに対して,既約分数
AkBk=[q0;q1,,qk1]Q, k1
λ(主)近似分数という.

無理数λRQの近似分数列(An/Bn)n=1について,
|λAn+1Bn+1|<|λAnBn|<1Bn2qn
が成り立つ.

approx-fracの証明より
|λAnBn|<1BnBn+11Bn2qn
および
λAkBk=(1)k+1Bk(Bkλk+Bk1)
が成り立つ.後者より,λAn+1/Bn+1,An/Bnを端点とする(開)区間に属していることがわかる.さらに,
Bn+2=Bn+1qn+1+BnBn+1+Bn2Bn
より
|λAn+1Bn+1|<1Bn+1Bn+2121BnBn+1
となるので,
|λAn+1Bn+1|+|λAnBn|=|An+1Bn+1AnBn|=1BnBn+1
と合わせて
|λAn+1Bn+1|<121BnBn+1<|λAnBn|
を得る.

有理数の場合も同様の不等式が成り立つ.

円周率π=3.1415926RQについてq0,q1,q2,q3を計算すると,
3.141592<λ0=π<3.1415927q0=3;7+885111415927=10.1415927<λ1=1λ03<10.141592=7+110717699q1=7;15+10941107=176991107<λ2=1λ17<141592788511=15+8826288511q2=15;1+24988262=8851188262<λ3=1λ215<11071094=1+131094q3=1;
となる.よって,πの近似分数として
[3110]A1B1=31=3;[3110][7110]=[22371]A2B2=227=3+17=3.142857;[22371][15110]=[333221067]A3B3=333106=3+15106=3.141509;[333221067][1110]=[355333113106]A4B4=355113=3+16113=3.1415929;
を得る.

公転周期εR>0Q(日)の惑星で,1年をc:=εN(日)とする暦を用いているとする.このとき,季節と暦とのズレλ:=εcの近似分数列(An/Bn)n=1について
12BnBn+1<|λAnBn|<1Bn2
が成り立つので,Bn年の間に閏年をAn回設けることにすると,その間のズレは
12Bn+1<|Bnε(Bnc+An)|<1Bn
と評価できる(ただし,同じシステムを2BnBn+1年間使い続けるとズレが1を超えてしまう).さて,たとえば
365.242188<ε<365.2422
の場合を考えると,
0.242188<λ0=λ=ε365<0.2422q0=0;4+1561211=10.2422<λ1=1λ0365<10.242188=4+781260547q1=4;7+58637812=605477812<λ2=1λ14<1211156=7+119156q2=7;1+37119=156119<λ3=1λ27<78125863=1+19495863q3=1;3+161949=58631949<λ4=1λ31<11937=3+837q4=3;
より
[0110]A1B1=01=0;[0110][4110]=[1041]A2B2=14=0.25;[1041][7110]=[71294]A3B3=729=0.241379;[71294][1110]=[873329]A4B4=833=0.242424;[873329][3110]=[31812833]A5B5=31128=0.2421875;
となる.ところで
λ<833<97400=0.2425
であるから,400年間に97回の閏年を設けるよりも,33年間に8回の,或いは128年間に31回の閏年を設けるほうが,1年あたりのズレが小さい(cf. better-approx):
|ε(365+31128)|<|ε(365+833)|<|ε(365+97400)|.

参考文献

[1]
岩堀長慶, 『2次行列の世界』, 岩波書店
[2]
木村俊一, 『連分数のふしぎ』, 講談社
[3]
高木貞治, 『初等整数論講義 第2版』, 共立出版
[4]
藤原松三郎, 『代数学 第一巻』, 内田老鶴圃
投稿日:19日前
更新日:18日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

うすい
69
14762
学んだことをまとめています.

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. Euclidの互除法
  2. 連分数
  3. 準備
  4. 有理数の連分数展開
  5. 無理数の連分数展開
  6. 近似分数
  7. 参考文献