対数
対数(たいすう、logarithm)とは、ある数 x を数 b の冪乗 bp として表した場合の冪指数 p である。この p は「底を b とする x の対数(logarithm of x to base b; base b logarithm of x)」と呼ばれ、通常は logb x と書き表される。また、対数 logb x に対する x は真数(しんすう、antilogarithm)と呼ばれる。数 x に対応する対数を与える関数を考えることができ、そのような関数を対数関数と呼ぶ。対数関数は通常 log と表される。
通常の対数 logb x は真数 x, 底 b を実数として定義されるが、実数の対数からの類推により、複素数や行列などの様々な数に対してその対数が定義されている。
実数の対数 logb x は、底 b が 1 でない正数であり (b ≠ 1, b > 0)、真数 x が正数である場合 (x > 0) について定義される。 これらの条件を満たす対数は、ある x と b の組に対してただ一つに定まる。
実数の対数関数 logb x は底 b に対する指数関数 bx の逆関数である。この性質はしばしば対数関数の定義として用いられるが、歴史的には対数の出現の方が指数関数よりも先である。
一般には複素数でも定義されるが、その解説は自然対数の項目にゆずる。
1 でない正の実数 a および正の実数 x に対し
x = a^p
を満たす実数 p がただ一つ定まる。この p を x の a を底とする対数として定義する。x に対して a を底とする対数を loga x と表わせば、上記の方程式を満たす p は以下のように書き換えることができる。
p = \log_a x.
この対数の定義はレオンハルト・オイラーによる(1728年)。
正の実数 a ≠ 1 について、正の実数 x を変数にとる実数値連続関数 fa (x) として
\begin{align}
f_a(xy) &= f_a(x) + f_a(y) \\
f_a(a) &= 1
\end{align}
f_a(x) = \log_a x
と書き、この関数 loga x を a を底とする対数関数と呼ぶ。
1 以外の正の実数であれば底に何を用いてもよいが、分野によって慣例的によく用いられる底があり、底が省略されることも多い。log x のように底が省略されている場合は、前後の文脈や扱われている分野によって底がいくつであるかを判断する。
底を a = 10 とした対数は常用対数(common logarithm)あるいはブリッグスの対数(Briggsian logarithm)と呼ばれ、実験などの測定値に用いることが多い。ヘンリー・ブリッグスは、1617年に 1000 未満の整数について8桁、1624年には1~2万と9万~10万の整数についての14桁の常用対数表を出版した。他の対数と区別するために、"Log" のように大文字を用いたり、"lg" という記号を用いることがある (ISO 31/XI では "lg" となっている)。 "lg" は二進対数の表記でもしばしば使用される(後述)。
底を a = e(ネイピア数) とした対数を自然対数(natural logarithm)あるいはネイピアの対数(Napierian logarithm)という。ジョン・ネイピアの名前がとられているが、ネイピア自身が計算に用いた定義は現在の自然対数とは異なる(後述)。微積分などの計算が簡単になるため、数学などの理論分野で用いられることが多い。他の対数と区別するために "ln" という記号を用いることがある。
底を a = 2 とした対数は二進対数 (binary logarithm) といい、情報理論の分野で情報量などを表現するのに用いられることが多い。また、音楽の分野においても、1オクターブとは周波数比 1:2 のことであり、さらに、平均律においては半音が周波数比 1:21/12、全音が周波数比 1:22/12 と定義されているため、二進対数を用いると計算が簡便になる。他の対数と区別するために "lb" という記号を用いることがある (ISO 31/XI)。また二進対数では"lg n"と表記されることがよくある。
対数の概念は、16世紀末にヨスト・ビュルギ(1588年)やジョン・ネイピア(1594年)によって考案され、便利な計算法として広まった。天文学や航海学では膨大な数値計算がすでに必要とされており、三角関数表についてはヒッパルコスのころから存在していたとされ、ティコ・ブラーエは三角関数表を応用して掛け算を足し算に変換して計算する手法を使用していた。ネイピアは、20年かけて対数表を作成し1614年に発表した。エドマンド・ガンターは対数の値を長さに換算した目盛りを持つ物差しを利用し、以上の計算手順を簡単に行えるようにした対数計算尺を発明した。対数は煩雑な計算にかける労力を大幅に減らし、ヨハネス・ケプラーによる天体の軌道計算をはじめとして、その後の科学の急激な発展を支えた。
記号としては1624年にケプラーが"Log"を使い、その後オイラーが常用対数に"log"を、それ以外の底の対数に"l"を使った。用語としての対数(logarithm)はネイピアがギリシャ語のロゴス(関係)とアリトモス(数)を組み合わせたものだという。
対数表の近似精度を高めることはネイピア以降もしばしば行われ、産業政策にも利用された。1790年にフランスで ガスパール・ド・プロニー が失業中の理髪師たちを集めて雇用し計算させたのをはじめに、チャールズ・バベッジの階差機関への挑戦(1827年)や20世紀初頭アメリカ・ニューディール政策における公共事業促進局の実施するプロジェクト (Mathematical Tables Project) において精度向上の試みが行われた。
指数関数的に変化する量を対数に変換してみると、線型性などの綺麗な性質が浮かび上がる。また、双曲線などの面積を求める積分にも対数があらわれる(たとえば、∫A x−1 dx = loge A である)。これらの例の他にも対数はいろいろな場面であらわれ、単なる「簡便な計算法」以上の意味を持つことも多い。そのため対数は、詳しく研究されてきた関数の一つでもある。
ネイピアらが示した対数の定義は現在用いられているものとは異なっていた。
ネイピアによる対数の定義は次のようなものである:正の実数 x に対して
x=10^7 \left( 1-\frac{1}{10^7} \right)^p
を満たす実数 p がただ一つ定まる。この p のことを ネイピアの対数(Napierian logarithm)という。この値は、−107 ln (x/107) と 7 桁の精度で一致する。ネイピアは、1594年に対数の概念に到達し、この定義を用いて20年間計算を続け、7 桁の数の対数表を完成させて1614年に発表した。
ビュルギもまた対数の発見者であるが、ビュルギが用いた定義はネイピアのものとはわずかに異なっている。ビュルギによる対数の定義は次のようなものである:正の実数 x に対して
x=10^8 \left( 1+\frac{1}{10^4} \right)^p
を満たす実数 p がただ一つ定まる。この p のことをビュルギの対数という。この値は、104 ln (x/108) と4桁の精度で一致する。ビュルギは、ネイピアよりも早く1588年に対数の概念を発見したが、1620年まで公表しなかったため、対数の発見者としてはネイピアが称えられることが多い。
三角関数において例えば (sin x)2 の意味で sin2 x と書くのと同様に、対数関数に対しても、2 以上の整数 n に対して logn x という表記が使われることがある。
対数により、積の計算を、より簡単な和の計算に置き換えることができる。いくつかの例外を除き、有限の手順では対数の値を厳密に求めることはできないため、対数の計算には近似値を用いる。予め定めた近似の精度に応じて有効数字が決定される。対数の近似計算は計算量が多く高コストであるため、対数を含んだ計算には基本的に数表が用いられる。この対数値を列挙した数表を対数表という。対数表には限られた数しか値が載っていないため、対数表から対数値を参照する場合にはしばしば補間公式が用いられる。
2つの正の実数 x, y の積を求めたいとする。別の正の数 a ≠ 1 に対して、
\begin{align}
x &= a^p \\
y &= a^q
\end{align}
という置き換えがいつでも可能であり、指数法則
a^p a^q = a^{p + q}
が成り立つことから、以下の手順によって積 xy を求めることができる。
対数表を参照するなどして x を p に、y を q に変換する。
和 p + q を計算する。
対数表を逆に参照するなどして p + q の結果を a p + q に変換する。
これが求める積 xy である。
常用対数表を用いて積を求める例を示す。
345 × 4560 = 3.45 × 4.56 × 105 ・・・(1)
log10(3.45 × 4.56) = log103.45 + log104.56
log103.45 = 0.5378 , log104.56 = 0.6590
log103.45 + log104.56 = 0.5378 + 0.6590 = 1.1968 = 0.1968 + 1
常用対数表より対数 0.1968 に近い真数を探すと
0.1968 ≒ log101.57
また、1 = log1010 であるから
log10(3.45 × 4.56) = log103.45 + log104.56 ≒ log101.57 + log1010 = log1015.7
これより、3.45 × 4.56 ≒ 15.7 ・・・(2)
(2)を(1)に代入して、
345 × 4560 ≒ 15.7 × 105 = 1,570,000
これは 345 × 4560 = 1,573,200 に対して上から3桁までの値が一致している。
(精度が必要な場合は有効数字の大きな対数表を用いる必要がある。一般に対数は無限小数の形で求められ、対数表の値は近似値である。)
以下の節において、a, b は 1 ではない正の実数、x, y は正の実数、p は実数、ln x は自然対数を表す。
a^{\log_a x} = x
が成り立つ。
積の対数は(底が等しい)対数の和に等しい。
\log_a xy=\log_a x+\log_a y
商の対数は(底が等しい)対数の差に等しい。
\log_a\frac{x}{y}=\log_a x-\log_a y
p 乗の対数は、対数の p 倍に等しい。
\log_a x^p =p\log_a x
また、底の p 乗の対数は、対数の 1/p 倍に等しい。(pは0でない実数)
\log_{a^p} {x} =\frac{1}{p}\log_a x
loga x を用いた式から logb x を用いた式へと変形するには、
\log_b x = \log_b \left(a^{\log_a x}\right) = \log_a x\cdot\log_b a
となることから、
\log_a x = {\log_b x \over \log_b a}
とすればよい。これを底の変換という。
これにより、特定の底・任意の真数での対数が分かる場合に、それらの値から任意の底での対数を得ることができる。たとえば、b = 10 として常用対数表から log10 a と log10 x を引くこともできるし、底 b をネイピア数 e として後述のマクローリン展開で loge a と loge x を計算してもよい。
特に、x ≠ 1 ならば、b = x とすることにより
\log_a x = {1 \over \log_x a}
を得る。
また、b = 1/a とする(底を逆数にする)と、対数の符号が反転する。
\log_{1/a} x = \frac{\log_a x}{\log_a (1/a)} = - \log_a x.
\mathrm{colog}_a x = \log_a \frac{1}{x} = - \log_a x = \log_{1/a} x
を a を底とする余対数(よたいすう、cologarithm)と呼ぶ。
底の値によらず、真数が 1 のとき対数は 0 である。
\log_a 1=0
a > 1 の場合、対数は狭義単調増加
x<y\Leftrightarrow \log_a x<\log_a y
であり、
\lim_{x\to 0+} \log_a x=-\infty
\lim_{x\to \infty} \log_a x=\infty
が成り立つ。
0 < a < 1 の場合、対数は狭義単調減少
x<y\Leftrightarrow \log_a x>\log_a y
であり、
\lim_{x\to 0+} \log_a x=\infty
\lim_{x\to \infty} \log_a x=-\infty
が成り立つ。
対数の発散は「とても緩やか」であり p > 0 に対して
\lim_{x\to \infty} \frac{x^p} =0
が成り立つ。
\frac{d}{dx} \ln x=\frac{1}{x}
\frac{d}{dx} \log_a x=\frac{d}{dx} \frac{\ln x}{\ln a}=\frac{1}{x\ln a} =\frac{\log_a e}{x}
マクローリン展開{2n+1} \quad (|x|<1)
を用いる方が収束が速く、さらに (1 + x)/(1 − x) は任意の正の実数を表せる。}
\ln (1+x)=\sum^{\infin}_{n=1} \frac{(-1)^{n-1}{n} x^n \quad (|x|<1)
\ln (1-x)=-\sum^{\infin}_{n=1} \frac{1}{n} x^n \quad (|x|<1)
積分に関する公式(以下の不定積分において C は積分定数とする)
\int \frac{dx}{x} =\ln |x|+C
\int \ln x\, dx=x\ln x-x+C
\int \log_a x\, dx=\frac{x\ln x-x}{\ln a} +C =x\log_a x-x\log_a e+C=x\log_a \frac{x}{e} +C
\frac{x}{1 + x} < \ln(1 + x) < x \quad (x > 0)