対数と指数は数学・物理・工学・情報科学で最も頻繁に登場する関数です。機械学習の損失関数(交差エントロピー)、信号処理のデシベル表記、情報理論のエントロピー、化学の反応速度、人口増加モデルなど、対数と指数が関わらない分野を探すほうが難しいほどです。
LaTeXでは \log や \exp といった専用コマンドが用意されていますが、底の指定方法や括弧の使い方にはいくつかのバリエーションがあります。
本記事の内容
\log,\ln,\lgの使い分け- 対数の底を指定する書き方
\expの書き方- べき乗の表記
- 実際の数式での使用例
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
- 分数をLaTeXで書く — 対数の中で使う分数
- 括弧のサイズ調整 — 引数の括弧
対数の書き方
なぜ \log コマンドを使うのか
LaTeXの数式モードで log とそのまま書くと、$l$、$o$、$g$ がそれぞれ別の変数(イタリック体)として表示されてしまいます。
$$ log(x) \quad \text{vs} \quad \log(x) $$
左がコマンドなしの log($log$:変数の積のように見える)、右が \log コマンド($\log$:正しいローマン体)です。関数名はローマン体で書くのが数学の慣習であり、\log コマンドを使うことでこれが自動的に適用されます。
\log:一般的な対数
$$ \log x, \quad \log(x + 1), \quad \log_2 8 = 3 $$
$$
\log x, \quad \log(x + 1), \quad \log_2 8 = 3
$$
\log はデフォルトでは底を指定しません。分野によって底の意味が異なります。
| 分野 | \log の底 |
|---|---|
| 数学(解析学) | $e$(自然対数) |
| 数学(離散数学) | 文脈による |
| 物理学 | $e$(自然対数) |
| 情報科学 | $2$(二進対数) |
| 工学(デシベル) | $10$(常用対数) |
混乱を避けるために、底を明示するか、\ln(自然対数)や \log_2(二進対数)を使うのが望ましいです。
\ln:自然対数
$$ \ln x, \quad \ln e = 1, \quad \ln(xy) = \ln x + \ln y $$
$$
\ln x, \quad \ln e = 1, \quad \ln(xy) = \ln x + \ln y
$$
\ln は自然対数(底が $e$)の専用コマンドです。物理学や工学では \ln を使うのが一般的です。
\log に底を指定する
底は下付き文字で指定します。
$$ \log_2 x, \quad \log_{10} x, \quad \log_a b $$
$$
\log_2 x, \quad \log_{10} x, \quad \log_a b
$$
底が2文字以上の場合は波括弧で囲みます。\log_{10} のように書きます。
対数の底の変換公式
底の変換公式は対数を扱うときの基本です。
$$ \log_a b = \frac{\log_c b}{\log_c a} = \frac{\ln b}{\ln a} $$
$$
\log_a b = \frac{\log_c b}{\log_c a} = \frac{\ln b}{\ln a}
$$
対数の性質
対数の基本的な性質を数式で書いてみましょう。
$$ \begin{align} \log(xy) &= \log x + \log y \\ \log\left(\frac{x}{y}\right) &= \log x – \log y \\ \log(x^n) &= n \log x \end{align} $$
$$
\begin{align}
\log(xy) &= \log x + \log y \\
\log\left(\frac{x}{y}\right) &= \log x - \log y \\
\log(x^n) &= n \log x
\end{align}
$$
分数を含む対数では \left( \right) で括弧のサイズを調整すると見やすくなります。
対数の書き方を一通り紹介しました。次に、対数と表裏一体の関係にある指数関数の書き方に進みましょう。
指数の書き方
\exp:指数関数
指数関数は \exp コマンドで書きます。
$$ \exp(x), \quad \exp(-x^2) $$
$$
\exp(x), \quad \exp(-x^2)
$$
\exp は関数名を正しいローマン体で出力します。
$e^x$ 表記との使い分け
指数関数は $e^x$ とも書きます。どちらを使うかは式の複雑さによります。
$$ e^x \quad \text{(引数が簡単なとき)} $$
$$ \exp\left(-\frac{(x – \mu)^2}{2\sigma^2}\right) \quad \text{(引数が複雑なとき)} $$
引数が長い・複雑な場合は \exp(...) のほうが読みやすくなります。$e$ の上付き文字に長い式を載せると、指数部分が小さくなって見づらいからです。
% 引数が複雑な場合は \exp を使う
$$
\exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right)
$$
% 上付き文字で書くと見づらい
$$
e^{-\frac{(x - \mu)^2}{2\sigma^2}}
$$
べき乗の表記
一般的なべき乗は上付き文字 ^ で書きます。
$$ x^2, \quad x^{n+1}, \quad 2^{10} = 1024 $$
$$
x^2, \quad x^{n+1}, \quad 2^{10} = 1024
$$
上付き文字が複数文字の場合は波括弧で囲みます。x^{n+1} と書かないと、$x^n + 1$ と解釈されてしまいます。
指数の塔
指数の上にさらに指数が乗る場合(指数の塔、tetration)は次のように書きます。
$$ e^{e^x}, \quad 2^{2^n}, \quad x^{y^z} $$
$$
e^{e^x}, \quad 2^{2^n}, \quad x^{y^z}
$$
指数の結合は右から左に読みます。$x^{y^z} = x^{(y^z)}$ であり、$(x^y)^z = x^{yz}$ とは異なります。
指数の書き方を理解しました。次に、対数と指数が登場する実際の数式例をいくつか見ていきましょう。
実践的な数式例
情報エントロピー
シャノンエントロピーは情報理論の中心的な概念で、対数が本質的に使われています。
$$ H(X) = -\sum_{i=1}^{n} p_i \log_2 p_i $$
$$
H(X) = -\sum_{i=1}^{n} p_i \log_2 p_i
$$
底が $2$ のときの単位は「ビット」です。$\ln$(自然対数)を使うと単位は「ナット」になります。
交差エントロピー(機械学習)
$$ \mathcal{L} = -\sum_{i=1}^{n} \left[y_i \log \hat{y}_i + (1 – y_i) \log(1 – \hat{y}_i)\right] $$
$$
\mathcal{L} = -\sum_{i=1}^{n} \left[y_i \log \hat{y}_i
+ (1 - y_i) \log(1 - \hat{y}_i)\right]
$$
二値分類の損失関数として頻出する式です。
ガウス分布の対数尤度
$$ \ell(\mu, \sigma^2) = -\frac{n}{2}\ln(2\pi) – \frac{n}{2}\ln\sigma^2 – \frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i – \mu)^2 $$
$$
\ell(\mu, \sigma^2) = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln\sigma^2
- \frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i - \mu)^2
$$
尤度関数に対数を取ると、総乗が総和に変わり計算が楽になります。
デシベル
$$ L = 10 \log_{10}\left(\frac{P}{P_0}\right) \quad [\text{dB}] $$
$$
L = 10 \log_{10}\left(\frac{P}{P_0}\right) \quad [\text{dB}]
$$
音響工学や電気工学で使うデシベル表記です。
ソフトマックス関数
$$ \text{softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j=1}^{K} \exp(z_j)} $$
$$
\text{softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j=1}^{K} \exp(z_j)}
$$
多クラス分類で出力を確率に変換するために使われる関数です。
マクスウェル・ボルツマン分布
$$ f(v) = 4\pi n \left(\frac{m}{2\pi k_B T}\right)^{3/2} v^2 \exp\left(-\frac{mv^2}{2k_B T}\right) $$
$$
f(v) = 4\pi n \left(\frac{m}{2\pi k_B T}\right)^{3/2}
v^2 \exp\left(-\frac{mv^2}{2k_B T}\right)
$$
統計力学の基本的な速度分布関数で、\exp と分数の組み合わせが典型的です。
実践的な例を見てきました。次に、関連する数学関数のコマンドをまとめます。
関連する数学関数コマンド
LaTeXでは \log や \exp 以外にも多くの関数名コマンドが用意されています。
| コマンド | 出力 | 意味 |
|---|---|---|
\log |
$\log$ | 対数 |
\ln |
$\ln$ | 自然対数 |
\lg |
$\lg$ | 常用対数 |
\exp |
$\exp$ | 指数関数 |
\sin |
$\sin$ | 正弦 |
\cos |
$\cos$ | 余弦 |
\tan |
$\tan$ | 正接 |
\sinh |
$\sinh$ | 双曲線正弦 |
\cosh |
$\cosh$ | 双曲線余弦 |
\tanh |
$\tanh$ | 双曲線正接 |
\det |
$\det$ | 行列式 |
\dim |
$\dim$ | 次元 |
これらの関数名コマンドはすべてローマン体で出力されます。sin ではなく \sin と書くことが大切です。
LaTeX vs KaTeX の注意点
| コマンド | KaTeX対応 | 備考 |
|---|---|---|
\log |
対応 | — |
\ln |
対応 | — |
\lg |
対応 | — |
\exp |
対応 | — |
\log_2 |
対応 | 底の指定 |
\log_{10} |
対応 | 底の指定 |
| 三角関数全般 | 対応 | — |
KaTeXでは対数・指数関連のコマンドがすべてサポートされています。
よくある間違いとTips
間違い1:\log なしで log と書く
% NG: イタリック体(変数の積に見える)
$log x$
% OK: ローマン体
$\log x$
間違い2:自然対数の底 $e$ を斜体で書く
自然対数の底 $e$ は数学定数なので、立体(ローマン体)で書くのが厳密には正しいとされています。
% 一般的(イタリック体)
$e^x$
% 厳密(ローマン体)
$\mathrm{e}^x$
ただし、実際にはイタリック体で書くことが多く、どちらでも広く受け入れられています。
間違い3:exp のスペーシング
\exp の後に括弧なしで変数を書くと、スペーシングが不自然になることがあります。
% やや見づらい
$\exp x$
% 見やすい(括弧をつける)
$\exp(x)$
関数の引数が1文字の場合でも、括弧を付けるほうが慣例的です。
Tips:対数の中の絶対値
対数の引数が負になりうる場合は、絶対値を付けることがあります。
$$ \int \frac{1}{x} \, dx = \ln|x| + C $$
$$
\int \frac{1}{x} \, dx = \ln|x| + C
$$
まとめ
本記事では、LaTeXで対数と指数を書く方法を解説しました。
- 対数:
\log(一般)、\ln(自然対数)、\log_2(二進対数) - 指数:
\exp(...)またはe^{...}— 引数の複雑さで使い分ける - 底の指定: 下付き文字
\log_aで底を明示 - べき乗: 上付き文字
^で指数を書く - 関数名: 必ず
\log,\exp等のコマンドを使い、ローマン体にする
対数と指数は理工系の数式で最も基本的な関数です。
次のステップとして、以下の記事も参考にしてください。
- 確率記号をLaTeXで書く — 対数尤度、エントロピー
- 総和と総乗をLaTeXで書く — 対数と総和の変換
- 極限limをLaTeXで書く — 対数の極限