p を 1 より大きい任意の自然数とします。
有理数のうち、ある自然数 n と整数 q によって -nQ
p
また、実数 x のうち、
(55-1) |
が成り立つものを p進小数といい、その全体を R
pRp
= R
明らかに、有理数と無理数は p進小数であり、従って代数的数又は超越数であるような実数は p進小数です。
整数 m と点列 { ak | k
ÎZ , k £ m } Ì Np :º { 0, 1 ,¼, p - 1 }
(55-2)a |
m k=-¥ |
ak pk |
は収束しますが、このようにして定義される実数 ³ 0
実際、任意の自然数 ³ - m
(55-3a) |
å k=-¥ |
ak pk( p |
å k=-¥ |
pk( pp |
1 - p-1 |
(55-3b) |
m k |
ak pk |
æ è |
l |
m k |
akZ |
ö ø |
ですから、
(55-4) lpp |
となります。ゆえに、任意の :º qp-n ÎQ
p £ l £ a ³ l + 1 £ r(55-1)
を満たします。
逆に、任意の p進小数 ³ 0(55-2)
の形に書くことができます。
その証明のために、まず任意の自然数 n に対して
(55-5) |
が成り立つことを確かめましょう。
実際、任意に自然数 k を取り、 - i = k(55-5)
が成り立つと仮定します。
そこで - i = k + 1(55-5)
の左辺が成り立つとすると、(55-1)
により £ (i
p+ 1)-n ³ (i
p+ 1)-n
前者なら -n £ a £ (i
p+ 1)-n :º i(i
p+ 1)-n £ a £ jp-n - (i
+ 1) = k(55-5)
の右辺が成り立ちます。
ゆえに k に関する帰納法により、(55-5)
は証明されました。
そこで、まず = 00 £ a £ N(55-5)
の前提が成り立ちます。ゆえに 0 £ a £ (l
0 + 1)0
(55-6)l |
m k=0 |
ak pk |
とします。以下、自然数 n に対し、
(55-7) ln pp |
を満たす
(55-8) (ln p)pp |
と書けるので、(55-5)
により
(55-9) ln pp |
を満たし、(55-7)
の n を + 1+1
そこで -n-1 :º ln+1 - ln p0 £ a-n-1 < p - p-n £ ln p-n £ a
(55-10)a |
n |
ln p |
å n=0 |
( ln |
å n=0 |
a |
m k=-¥ |
ak pk |
と書け、a が (55-2)
の表示を持つことがわかりました。
p進小数 a に対する (55-2)
の形の表示を a の p進小数展開といい、特に断らない場合は = 10 :º 9 + 1
また、0 から 9 までの数字をいくつか並べ、その次に小数点とよばれる記号“ . ”を置き、更にいくつかの数字を並べたとき、この記号列は、並んでいる数字を小数点から左に向かって順に ( k
= 0, 1 ,¼ )-k( k
= 1, 2 ,¼ )(55-2)
の a を意味するものと約束します。
ただし、これでは有限小数しか表せないので、その数字列 ¼ r0 . r-1 ¼ r-n¼ ”という記号を書くことにより、便宜的に、すべての ³ - n = rk(55-2)
を表すことにします。
次に有理数 n/m(
n, mÎN ; m > 0 )
(55-11a) |
(55-11b) p |
によって {
ln | nÎN }{
kn | nÎN }
(55-12) |
å n=0 |
( |
å n=0 |
(55-13) |
p m |
p |
( n |
ゆえに k0
(55-14) |
m k=0 |
ak pk |
とし、-n :º kn( n
³ 1 )n/m
(55-15) |
m k=-¥ |
ak pk |
が得られます。ところで (55-11b)
により、knln+1ln
(55-16a) |
(55-16b) |
しかも、y は m 個の元からなる有限集合 N
m{
ln | 1 £ n £ m + 1 } = { y(ln ) | 0 £ n £ m }
例えば ln = ln'(
1 £ n < n' £ m + 1 )(55-16b)
により、任意の ÎN
ln+k = ln'+k(55-16a)
により kn+k = kn'+k{ ak | k
£ m }
(55-17)am |
· a |
a |
· a |
と書きます。ただし、 = n + 1
さて、これとは逆に、任意の循環小数は有理数です。
実際、(55-17)
のp進循環小数 a は、有理数:
(55-18a)b |
m k |
ak pk |
(55-18b)c |
n' k |
a |
により
(55-19)a |
å k=0 |
p
|
c |
と書け、これは明らかに有理数です。以上で有理数と循環小数は同じものであることがわかりました。
次に、ÎRp \\ Q
p
実際、この場合、任意の整数 n に対し、(55-4)
を満たす l が存在しますが、このとき a が Q
p
(55-20) lpp |
が成り立つので、このような l は一意的に定まることがわかります。ゆえにこれを (55-3b)
の括弧の中により
(55-21)ln p |
m k=-n |
ak pk |
が成り立つので、これを逆に解けば、
(55-22) a |
と一意的に解けますから、これで p進表示の一意性は証明されました。
さて、前節で超越数であることがわかった e
や p は p進小数展開できることがわかりましたから、これらを実際に十進小数展開してみましょう。
まず e
ですが、(46-31a)
により
(55-23) |
n k |
k ! |
å k=n+1 |
k ! |
n ! |
å k=1 |
(n + 1)k |
n !n |
という評価が得られますが、この式で = 13
(55-24) e |
|
|||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
( |
||||||||||||||||||||||||||
という e
の小数展開が得られます。
ただし e は、11個の有理数を小数展開したときに、小数点以下12桁まででカットしたことによる誤差の合計で、その評価は、それぞれの誤差が最大 10-12
次は p です。
既に (47-25)
や (48-44)
で p の級数及び無限積による表示が得られていますが、これらの収束は遅いので、実際の計算には適しません。
そこで以下のような工夫をします。(47-22a)
の右辺は、 > 0
(55-25) |
å k=0 |
(k x 2k + 1 |
arctanx < |
å k=0 |
(k x 2k + 1 |
という不等式の評価が成り立ちます。
一方、任意の実数 x , y に対して a :º arctan
xb :º arctan
ytan
a = xtan
b = y(47-6c)
により
(55-26) tan( |
tan |
x |
となるので
(55-27) arctan |
x |
arctan xy |
という公式が得られます。ここで左辺の arctan
の中が 1 になるように、 + y = 1 - xy = (
1 - x)/(1 + x)
(55-28) |
4 |
arctan |
1 + |
ゆえに例えば = 1/2(
1 - x)/(1 + x) = 1/3
(55-29) |
4 |
arctan |
2 |
arctan |
3 |
が得られます。この右辺を (55-25)
によって評価すれば、(47-25)
よりはるかに早い収束で数値計算ができますが、更に効率の良い式を探してみましょう。(55-27)
で = x
(55-30) |
1 - ² |
ここで = 1/5
(55-31) |
5 |
arctan |
24/25 |
arctan |
12 |
更に (55-30)
に = 5/12
(55-32) |
12 |
arctan |
(144 - 25 )/144 |
arctan |
119 |
そこで (55-28)
で = 120/119(
1 - x)/(1 + x) = - 1/239
(55-33) |
4 |
arctan |
119 |
arctan |
239 |
arctan |
5 |
arctan |
239 |
が得られます。これはMachin
の公式とよばれ、この右辺を (55-25)
によって評価した式は収束が早いので、昔から計算機による p の計算によく用いられています。
そこで、このMachin
の公式を使って p を実際に小数展開してみましょう。
まず (55-25)
によって arctan(
1/5)
(55-34a) |
5 |
|
|||||||||||||||||
|
|||||||||||||||||||
|
|||||||||||||||||||
( |
|||||||||||||||||||
次に (55-25)
によって arctan(
1/239)
(55-34b) |
239 |
|
|||||||||||
|
|||||||||||||
( |
|||||||||||||
( |
|||||||||||||
従って、- 7 ·
1012 £ d + e - d' - e' £ 5 ·
10-12Machin
の公式 (55-33)
により
(55-35) |
5 |
arctan |
239 |
という p の小数展開が得られます。
次に、一般の無理数 a に対し、a の連分数展開について考察します。
一般に、無理数 b に対し、すべての自然数 n に対して b ¹ n + 1/2b との差の絶対値が最小値を取る自然数が唯一つ存在します。これを b と書くことにし、実数列 an
(55-36a) |
(55-36b) |
an - |
で定義します。帰納法により、an(55-36b)
の右辺の分母は 0 になりません。また、明らかに |
an - an | < 1/2|
an+1 | > 2|
an+1 | ³ 2
逆に、整数 n02 以上の整数からなる列 {
nk | k ³ 1 }{ x(n)k |
0 £ k £ n }
(55-37a) x(n)n |
(55-37b) x(n)k |
x (n)k+1 |
このとき、1 £ k £ n
(55-38) | x(n)k | |
n n |
が成り立ちます。実際、 = n(55-37a)
と |
nn | ³ 2 + 1
(55-39) | x(n)k | |
| x(n)k+1 |
n n |
n n |
となって、降順の帰納法により証明されました。特に (55-37b)
の右辺に出てくる分数の分母は 0 にならないことがわかります。
ゆえに、1 £ k £ n < m(55-37b)
と (55-38)
により
(55-40) | x(m)k |
| | | | |
x (n)k+1 |
x (m)k+1 |
| | | | |
| x(m) |
n n |
m m |
| x(m) |
ゆえに、
(55-41) | x(m)k |
n |
m m |
| x(m)n |
n |
m m |
| x(m)n+1 |
n |
m m |
n |
これは、各 k に対して { x(n)k | n
³ k }(55-37b),(55-38)
で ® ¥
(55-42)xk |
xk+1 |
(55-43) | xk | |
が成り立つことがわかります。そこで、このときの 0
(55-44)x |
n1 + |
n2 + |
n3 + ¼ |
と書いて、これを(分子が 1 の)連分数といいます。
さて、任意の無理数 a から (55-36)
によって annn :º an(55-44)
の連分数を作ると、これが a に一致することが証明できます。
実際、(55-36b)
と (55-42)
から
(55-45)xk |
xk+1 |
ak+1 |
xk+1 |
ak+1 |
ですから
(55-46) | xk |
2 |
2 |
および
(55-47) | xk |
| xk |
| xk |
がすべての ³ 1 = ak( k
³ 1 )a = a0 = a0 + 1/a1 = n0 + 1/x1 = x0
以上の議論を a = p(55-35)
により
(55-48a) ·10-12 |
(55-48b) |
(55-49a) |
a0 - 3 |
0.141592653591 ± 6 ·10-12 |
(55-49b) |
(55-50a) |
a1 - 7 |
0.062513306 ± 10-9 |
·10-7 |
(55-50b) |
(55-51a) |
a2 - 16 |
0.0034056 ± 3 ·10-7 |
(55-51b) |
ただし、上記の ± b - b + b
(55-52) |
7 + |
16 - |
294 + ¼ |
という p の連分数展開を得ます。
もしこれを有限項で切れば、p を近似する分数として
(55-53a) |
7 |
7 |
(55-53b) |
7 + |
16 |
7 + 1/16 |
113 |
113 |
が得られ、特に p"6 桁まで一致する、ずば抜けてよい p の近似値を与えることがわかります。
さて、次に p を数値計算するための、全く別の方法を考えてみましょう。
| a |
< b
(55-54a)x |
(55-54b)y |
(55-55a)xn |
xn |
(55-55b) yn |
によって数列 { xn | n
ÎN }{ yn | n
ÎN }
実際、まず
(55-56a) c |
(55-56b) |
a b |
(55-57a)cn |
c |
(55-57b) |
2 |
と置くと、0 < q < p
(55-58a) xn |
(55-58b) yn |
が成り立つことを n に関する帰納法で証明します。
となって、帰納法が完成しました。
さて、 が成り立ちます。実際、 ですから、 及び
が成り立つことがわかります。
が得られ、このことを利用すると、この数列を使って さて、この初期値のもとで数値計算するときの工夫の一つとして、加速法という方法があるのでそれを解説しましょう。
と表すと、右辺第2項が と定義していくと、誤差項の和の初項の冪が上がっていき、収束が早くなります。これを加速法といいます。
まず、(55-56b)
により /b = cos
q > 0sin
q > 0 ですから、(55-56a)
により = b __________
Ö1 - cos²q = b sin q
ゆえに = c csc
q = b cos
q = c csc q cos q = c cot q0 のときは証明されました。
次に n について成り立つと仮定し、f :º qn+1k :º cn+1qn = 2f = 2k
(55-59a)
xn+1 =xn
+ yn
2 = k {cot(
2f) + csc(2f)} = k{cos(2f) + 1}/sin(2f) = k{2 cos² f}/{2 sin f cos f} = k cot f
(55-59b) yn
+1 = ________Ö xn+1 yn = ____________________Ök cot f ·2k csc(2f) = k _________________________________Ö(cos f / sin f) 2 /(2 sin f cos f) = k / _____Ösin²f = k csc f(55-57),(55-58)
により
(55-60a)
xn =cn
qnqn cot
qn = c
qqnn
tan
q
(55-60b)
yn =cn
qnqn csc
qn = c
qqnn
sin
q
と表すことができます。一方、 < 0 < p/2
(55-61) sin t
t< t < tan j(t)
t:º t - sin y(t)
t:º tan - tj'(t)
t= 1 - cos > 0y'(t)
t= sec² t - 1 = tan² > 0 ですからいずれも単調増加で、しかも j(
0) = y(0) = 0j(t),
y(t) > 0 となるからです。
また、
(55-62a)
t
lim ¯ 0sin
t
t= sin'
0 = cos 0 = 1
(55-62b)
t
lim ¯ 0tan
t
t= tan'
0 = sec² 0 = 1 ® ¥qn ® 0(55-60),(55-61),(55-62)
により
(55-63)
xn < c
q< yn
(55-64)
n
lim ® ¥xn
=
n
lim ® ¥ yn
= c
q
従って、例えば初期値として = 0 = 1/2 = 1/2q = arccos
0 = p/2
(55-65)
n
lim ® ¥xn
=
n
lim ® ¥ yn
=1
pp の値を計算することができます。
(55-66)
sn :º1
yn-1= 2n sin
p n
2= 2n¥
å
k=0(
- 1)k p2k+1
(2k + 1)!22nk+n= p +¥
å
k=1(
- 1)k p2k+1
(2k + 1)!4nksnp の誤差になります。そこで、順次
(55-67)
ns(1) :º4sn+1 - sn
4 - 1 =1
4 - 1æ
è4p +¥
å
k=1(
- 1)k p2k+1
(2k + 1)!4nk+k-1- p -¥
å
k=1(
- 1)k p2k+1
(2k + 1)!4nkö
ø= p +¥
å
k=2(
- 1)k p2k+1
(2k + 1)!4nk41-k - 1
4 - 1
(55-68)
ns(2) :º4²
ns(1)n+1 - s(1)
4²
- 1 =1
4²
- 1æ
è4²
p +¥
å
k=2(
- 1)k p2k+1
(2k + 1)!4nk+k-2- p -¥
å
k=2(
- 1)k p2k+1
(2k + 1)!4nkö
ø41-k - 1
4 - 1 = p +¥
å
k=3(
- 1)k p2k+1
(2k + 1)!4nk42-k - 1
4²
- 1 41-k - 1
4 - 1