28.対数
前回、エントロピーのところで、対数関数が出てきたので、おさらい。
まず、0 と自然数、1,2,3・・・を知っているとしよう。また、自然数を数えることはできているとしよう。自然数 a から出発して、1 を b 回数える。これは、
a + b ・・・(1)
を実行したということ。「足し算」が導入された。
「足し算」が導入されたので、次に、0 から出発して、a を一つ、さらに一つ、つまり a を2つ、a を3つ・・・と足していこう。a を b 回たすと
a + a + a + ・・・ + a = a×b ・・・(2)
ということで、「掛け算」を導入する。
「掛け算」が導入されたので、引き続いて、a を1回、a を2回・・・、a を b 回掛け算しよう。
a×a×a×・・・×a = ab ・・・(3)
と、べき乗が導入される。
今度は、(1)、(2)、(3)の逆を考えてみる。自然数 a と c を知っていたとき、
a + b = c
となるような b を知りたい。そこで、
b = c - a ・・・(4)
と定義しよう。「引き算」の導入だ。a が2、c が16だったら、足し算(1)を睨んで、b=14 とわかる。それを(4)式のようにして表す。
次に、a×b = c を満たす b が知りたい。a が 2、c が 16 だったら、掛け算(2)を睨んで、b=8 とわかる。それを
b = c / a ・・・(5)
のようにして表す。「割り算」の導入だ。
今度は、ba = c を満たす b を知りたい。何を a 回かけたら c になるか。a が 2、c が16 だったら、べき乗(3)を睨んで、4 を a( = 2 )回かけたら 4×4 で 16(=c)になるので、b=4 とわかる。4 を 2回かけたら、4×4 で 16 だ。それを
b = √16 だが、一般に b = c(1/a) ・・・(6)
とかく。a 乗根だ。(フォントが無いのでうまく書けない・・・。)
逆に、ab = c となる b を知りたい。a を何回かけたら c になるか。a が 2 で c が 16 だったら、a(=2 )を何回かけたら c(=16)になるか。2 を 4回かけたら 16 になるのでb=4。これを
4 = log 2 16 、一般に b = log a c ・・・(7)
とかく。log の下の a は、「a を何回かけたら」の a 、log の中の c は、「a を何回掛けたら c になるか」の c 。これが対数だ。このとき、数 a を対数の底という。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ここまで来たついでに、数を一般化しておこう。今、0と自然数で始めた。しかし、引き算(4)を考えると、c = 0 の時にはどうしたらよいだろう。
0-1、0-2、0-3、・・・
が現れる。これをひっくるめて、次のような新しい数を定義してしまう。順に
-1、-2、-3、・・・
「負の自然数」の導入だ。「0と自然数」に「負の自然数」-あわせて「整数」と呼ぼう-まで合わせることで、引き算はすべて行えるようになった。ついでに、掛け算の規則 a×(b + c ) = a×b + a×c を認めれば
2×(-1)=2×(2 - 3 ) = 2×2 - 2 × 3 = 4-6 = -2
なので、(正の数)×(負の数)という掛け算もできる。ついでに(-2)×(-2)=-2×(1-3)=-2×1-(-2)×3 = -2 -(-6) = -2+6 =4 と掛け算できる。(負の数)×(負の数)だ。
足し算の逆である引き算はできるようになったが、割り算(5)はどうだろう。c=1のときには、a が1より大きいと、整数では書けない。そこで、「有理数」を導入する。分数で書ける数だ。もちろん整数 a も a / 1 と無理やり分数で書けるので、整数も有理数に入れておこう。
ところが、だ。
べき乗の逆、(6)で、b2 = 2 となるbはどんな数だろう。規則では、b=2(1/2) だが、これは分数で書けない。1.41421356・・・と、循環しない数字の列がどこまでも続く。「無理数」だ。「有理数」と「無理数」で、数直線上の数はすべて尽きる。
ところが。
b2 = -1 となる b が無い。b が正の数なら(正の数)×(正の数)=(正の数)だし、b が負の数なら(負の数)×(負の数)=(正の数)だ。同じ数を 2回かけて-1のような負の数にはならない。そこで、2回かけて-1 になる数を新たに導入する。「虚数」だ。今までの数を「実数」と呼ぼう。
b2 = -1 の解は、 b = i (=√-1)
と書くことにする。「実数」と「虚数」合わせたものを複素数と呼ぼう。
じつは、「複素数を係数とする定数でない多項式は、複素数内に必ず根(解)を持つ」ことが言える。つまり、z を変数、a0、a1、・・・an を複素数とすると、方程式
a0×zn + a1×zn-1 +・・・+an-1×z + an = 0
の解は、必ず複素数の範囲でみつかり、数を拡張する必要はない。これを「代数学の基本定理」と呼ぶ。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
完全に話が脱線した。必要な対数の知識を得ることが目的だ。今、
a = bv , c = bw
としよう。この時、
bu = a×b ,つまり、bu = bv × bw = bv+w , ここに u = v + w
である。このとき、‘‘逆’’、すなわち底が b の対数をとろう。
log b bu = log b (a×b) ・・・(8)
左辺は底 b を何回かけたら bu になるかを意味していたのだから、答えは u だ。
u = log b bu = log b (a×b) ・・・(8)’
同じようにlog b a ( = log b bv ) = v 、log b c ( = log b bw ) = w なのだが、u = v + w だったから
u = v + w = log b a + log b c ・・・(8)’’
だ。(8)’ と(8)’’ の2式の右辺を見比べて、u、v、w をやめると
log b (a×b) = log b a + log b c ・・・(9)
という有用な公式が得られる。
次に、底が b の対数はすべて知っているとしよう。このとき、x についての方程式
xa = c ・・・(10)
を考えてみる。今、
x = bt ・・・(11)
とおいてみる。もとの方程式(10)に代入すると
b(t×a) = c
になる。底が b の対数は知っているとしたので、対数をとって、
log b b(t×a) = log b c
一方、この式の左辺は log b b(t×a) = t×a だから、
t×a = log b c ・・・(12)
だ。でも、(10)から、素直に底を x にして対数をとると
log x xa = log x c ( = a ) ・・・(13)
だが、左辺は a だ。最右辺に ( = a ) と明記した。底 x を何回かけたら xa になるかというと、a 回だから。また、(11)式を底 b として対数をとると
log b x = log b bt = t ・・・(14)
になる。こうして、(12)の t と a を(13)と(14)を使うと
log b x × log x c = log b c
つまり
log x c = log b c / log b x
のように、底が x の対数は、底が b の対数で書けてしまうという、有用な公式が得られた。こうして、ある一つの底の対数がすべてわかっていれば、どんな底の対数でもすべてその底(今は b )の対数で表せる。そこで、b として、ネイピア数 e = 2.71828・・・にとる。これを自然対数と呼び
log e x = ln x
と書く。対数は logarithm、だから、頭の3文字をとって、log。自然対数は natural logarithm、logの l と、自然(natural)の n をとって、ln と書く。