【LaTeX】勾配∇(nabla)・偏微分・ベクトル解析記号の書き方 完全ガイド

「電磁気学の教科書を読み直していたら、$\nabla \times \bm{E} = -\partial \bm{B}/\partial t$ という式が当たり前のように出てきた。意味はなんとなく分かるが、これを自分のレポートでLaTeXで書こうとすると、\nabla の太字はどうするのか、\times\cdot の使い分けは何か、\partiald はどう違うのか――迷う点が次々と出てくる」。理工系の文章を書く人なら一度は経験する詰まりです。

本記事は、その「迷い」をワンストップで解消するための完全ガイドです。ナブラ記号 $\nabla$ を中心に、偏微分・勾配・発散・回転・ラプラシアン・ヘシアン行列まで、ベクトル解析で出てくるほぼすべての記号のLaTeX表記をまとめます。さらに、機械学習でよく使う $\nabla_{\bm{w}} \mathcal{L}$ のような添字つきナブラ、球面座標・円柱座標での∇の書き方、MathJaxとKaTeXでの互換性まで扱います。

これらの記法は、次のようなさまざまな場面で実際に使われます。第一に、電磁気学・流体力学・連続体力学のレポート。マクスウェル方程式やナビエ・ストークス方程式は、すべてナブラ記号で書かれており、教科書の式を写すだけでも何度も \nabla を打つことになります。第二に、機械学習の論文・ブログ記事。勾配降下法や逆伝播の説明では $\nabla \mathcal{L}(\bm{\theta})$ が一行ごとに登場します。第三に、TeXで書いた数学ノートをWordPressやQiitaに貼り付けるとき。MathJax/KaTeXがどのコマンドに対応しているかを把握しておかないと、ローカルでは綺麗に表示されたのにブラウザでは崩れる、という事故が起こります。

本記事の内容

  • ナブラ記号 \nabla の基本と、なぜこの記号が必要だったのか
  • 偏微分 \partial の書き方 (5つの流儀の比較)
  • 勾配・発散・回転の使い分け (なぜ \cdot\times か)
  • ラプラシアン \nabla^2 / \Delta とヘシアン・ヤコビアン
  • 機械学習でよく使う $\nabla_{\bm{w}} \mathcal{L}$ などの添字つき表記
  • 球面/円柱座標系での∇の書き方
  • LaTeX / MathJax / KaTeX の対応表とよくあるエラー
  • コピペで使えるテンプレ集

ベクトル解析の主要LaTeX記号一覧

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

なぜナブラ記号が必要だったのか

ナブラ記号 $\nabla$ の話に入る前に、そもそも「なぜわざわざ新しい記号を作ったのか」という直感的な動機を押さえておきます。これを理解すると、\nabla \cdot, \nabla \times がただの省略ではなく、ベクトル解析の構造そのものを表していることが見えてきます。

19世紀、マクスウェルが電磁気学の方程式を組み立てた頃、勾配・発散・回転はすべて成分ごとに長々と書かれていました。たとえば現代の $\nabla \cdot \bm{E} = \rho/\varepsilon_0$ という式は、当時は次のように書かれていたのです。

$$ \frac{\partial E_x}{\partial x} + \frac{\partial E_y}{\partial y} + \frac{\partial E_z}{\partial z} = \frac{\rho}{\varepsilon_0} $$

3次元では3つの偏微分が並ぶだけで済みますが、4次元時空や $n$ 次元の問題ではこの方式は破綻します。「もっと簡潔に書けないか」――その要請から、ハミルトン、テイト、ヘヴィサイドらが$\nabla$ をベクトル形の演算子として扱うというアイデアを発展させました。

3次元直交座標系では、ナブラを次のように「ベクトル」とみなします。

$$ \nabla = \left( \frac{\partial}{\partial x},\ \frac{\partial}{\partial y},\ \frac{\partial}{\partial z} \right) $$

成分は数ではなく偏微分演算子ですが、形式的にベクトルとして扱うと、内積 \cdot で発散、外積 \times で回転が表現できます。これは単なる省略記法ではなく、「ベクトル場の局所変化はベクトル演算で記述できる」という深い構造の現れです。本記事の以降の節は、すべてこの「$\nabla$ をベクトルとして扱う」発想の応用です。

ナブラの動機が腹落ちしたら、まずは基本のコマンドから順に押さえていきましょう。

ナブラ記号 \nabla の基本

ナブラとは

ナブラ(nabla)$\nabla$ は、微分演算を統一的に表現するためのベクトル演算子です。見た目は逆三角形で、ギリシャ語のハープ(竪琴)に由来する名前です。「逆 $\Delta$」と勘違いされがちですが、$\Delta$ はラプラシアンを表す別記号なので注意してください(後述)。

3次元の直交座標系では、ナブラは次のように定義されます。

$$ \nabla = \begin{pmatrix} \dfrac{\partial}{\partial x} \\[6pt] \dfrac{\partial}{\partial y} \\[6pt] \dfrac{\partial}{\partial z} \end{pmatrix} $$

このナブラを使って、スカラー場やベクトル場に対するさまざまな微分演算を表現できます。

LaTeXでの書き方

$$ \nabla $$

$$
\nabla
$$

\nabla でナブラ記号 $\nabla$ を出力します。非常にシンプルです。

ナブラの太字

ナブラをベクトル演算子として明示的に太字にする流儀もあります。

$$ \bm{\nabla} $$

$$
\bm{\nabla}        % amsbsy
\boldsymbol{\nabla} % amsmath
\mathbf{\nabla}    % 古い書き方 (一部の環境ではうまくいかない)
$$

ただし、多くの教科書ではナブラ自体にベクトルの意味が含まれているため、太字にしないのが一般的です。\bmbm パッケージ、\boldsymbolamsmath+amssymb 環境で動きます。KaTeXでは \bm がそのまま動かないことがあるので、ブログ用途では \boldsymbol が安全です。

ナブラの添字(変数の明示)

機械学習や多変数の文脈では、「どの変数で微分しているか」を明示するために添字をつけます。たとえばパラメータ $\bm{w}$ に関する勾配を強調したい場合は次のように書きます。

$$ \nabla_{\bm{w}} \mathcal{L}(\bm{w}, \bm{x}) $$

$$
\nabla_{\bm{w}} \mathcal{L}(\bm{w}, \bm{x})
$$

\nabla_{\bm{w}} と添字を中括弧でくくります。これは「$\bm{w}$ の各成分で偏微分したベクトル」を意味します。後出の機械学習の節で詳しく扱います。

ナブラの基本を押さえました。次に、ナブラの構成要素である「偏微分」の書き方を、より丁寧に整理しておきましょう。

偏微分 \partial の書き方

ベクトル解析の表記は偏微分の塊なので、\partial の使い方を最初にきっちり押さえておくと後が楽です。

基本

$$ \frac{\partial f}{\partial x} $$

$$
\frac{\partial f}{\partial x}     % 標準
\dfrac{\partial f}{\partial x}    % インラインでも大きく表示
\partial_x f                       % 演算子表記 (場の理論で多い)
f_x                                % 下付き添字表記 (黒板で省力)
$$

\frac{\partial f}{\partial x} がもっとも丁寧で、教科書では標準です。\dfrac を使うとインライン数式 $\dfrac{\partial f}{\partial x}$ でも分数を大きく表示できます。

2階偏微分

$$ \frac{\partial^2 f}{\partial x^2},\quad \frac{\partial^2 f}{\partial x \partial y} $$

$$
\frac{\partial^2 f}{\partial x^2}
\quad
\frac{\partial^2 f}{\partial x \partial y}
$$

2階偏微分は分子の $\partial$ を \partial^2 とすることに注意してください。\partial^{2} でも同じ結果です。混合偏微分の分母は $\partial x \partial y$ と並べます。

偏微分の5つの表記比較

物理・数学・機械学習の各分野で異なる表記が使われます。下表に主要なものをまとめました。

偏微分の表記比較

名称 LaTeX 出力 主な使用場面
Leibniz 記法 \dfrac{\partial f}{\partial x} $\dfrac{\partial f}{\partial x}$ 物理・工学で標準
演算子記法 \partial_x f $\partial_x f$ 場の理論、PDE教科書
添字記法 f_x $f_x$ 黒板、論文の本文中
ナブラ成分 (\nabla f)_x $(\nabla f)_x$ ベクトル解析と整合
D 記号 D_x f $D_x f$ 関数解析、教育的文脈

同じドキュメント内では表記を統一しましょう。「$f_x$」と「$\partial_x f$」を混在させると、読者は「どちらかは別の意味では?」と疑ってしまいます。

よくある詰まり:\partiald

全微分 $df/dx$ と偏微分 $\partial f/\partial x$ は別の記号です。LaTeXでは前者を d (直立体の場合は \mathrm{d})、後者を \partial で書きます。多変数関数なのに $df/dx$ と書くと、「全変数を独立に動かして全微分している」のか「他を固定して $x$ のみで偏微分している」のかが曖昧になるので、迷ったら必ず \partial を使いましょう。

偏微分の書き方が揃ったので、次にナブラを使った勾配の表記に進みます。

勾配(gradient)

勾配とは

スカラー場 $f(x, y, z)$ の勾配は、「関数が最も急激に増加する方向と、その増加率の大きさ」を表すベクトルです。山の地形で例えれば、勾配は「最も急な上り坂の方向と傾き」に相当します。

直感的には、登山者があなたを目隠ししたまま山頂から離れた斜面のどこかに置いたとします。あなたは立ち上がり、つま先で地面を探って一番急な傾斜を感じる方向を指さす――その指の向きと、その方向の勾配の大きさを合わせたものが $\nabla f$ です。

スカラー場と勾配ベクトル場

書き方

$$ \nabla f = \operatorname{grad} f = \begin{pmatrix} \dfrac{\partial f}{\partial x} \\[4pt] \dfrac{\partial f}{\partial y} \\[4pt] \dfrac{\partial f}{\partial z} \end{pmatrix} $$

$$
\nabla f = \operatorname{grad} f = \begin{pmatrix}
\dfrac{\partial f}{\partial x} \\
\dfrac{\partial f}{\partial y} \\
\dfrac{\partial f}{\partial z}
\end{pmatrix}
$$

勾配は $\nabla f$ または $\operatorname{grad} f$ と書きます。\nabla f のほうが圧倒的に多く使われます。\operatorname{grad} を使うと、後ろの $f$ との間に適切なスペースが入り、\text{grad} よりも数式中で見やすくなります。

具体例

スカラー場 $f(x, y, z) = x^2 + y^2 + z^2$ の勾配は次のようになります。

$$ \nabla f = \begin{pmatrix} 2x \\ 2y \\ 2z \end{pmatrix} = 2\bm{r} $$

原点からの距離の2乗の勾配が、位置ベクトル $\bm{r}$ の2倍になるという結果は直感的にも納得できます。原点から離れるほど $f$ の値は増えるので、勾配は放射方向を向くはずです。

等高線と勾配の直交性

勾配の重要な性質として、「等高線(等値面)に対して常に垂直」というものがあります。スカラー場の等高線に沿って動いても $f$ の値は変わらないので、変化を最大にする方向は等高線に直交する――この事実は数式 $\nabla f \cdot \bm{t} = 0$ から従います($\bm{t}$ は等高線の接ベクトル)。

等高線と勾配ベクトル

この性質は最適化アルゴリズムの根幹で、勾配降下法が「等高線を横切るように移動する」のはまさにこの直交性によるものです。

機械学習での応用:勾配降下法

$$ \bm{w}_{t+1} = \bm{w}_t – \eta \nabla_{\bm{w}} \mathcal{L}(\bm{w}_t) $$

$$
\bm{w}_{t+1} = \bm{w}_t - \eta\,\nabla_{\bm{w}} \mathcal{L}(\bm{w}_t)
$$

損失関数 $\mathcal{L}$ の勾配 $\nabla_{\bm{w}} \mathcal{L}$ の逆方向にパラメータを更新するのが勾配降下法です。$\eta$ は学習率、添字 $_{\bm{w}}$ は「パラメータベクトル $\bm{w}$ で偏微分する」ことを明示します。深層学習の論文では、この添字を省いて $\nabla \mathcal{L}$ と書くことも多いですが、複数のパラメータ群(重みとバイアス)を扱う場合は添字を残すほうが読みやすくなります。

勾配の書き方がわかりました。次に、ベクトル場の「湧き出し」を表す発散を見ていきましょう。

発散(divergence)

発散とは

ベクトル場 $\bm{F}(x, y, z)$ の発散は、「その点からベクトルがどれだけ湧き出しているか」を表すスカラー量です。水の流れで例えれば、発散が正の点は「水源」(水が湧き出している)、負の点は「排水口」(水が吸い込まれている)に相当します。

別のイメージとして、目に見えない流体(電場のようなもの)が空間を満たしていて、ある一点にカニのような小さな計測器を浮かべるとします。計測器は周囲から流入してくる量と流出していく量を測ります。流出が流入を上回れば「ここは発散が正=湧き出し」と判断する――発散とは、まさにこの局所的な収支のことです。

発散と回転の幾何学的意味

書き方

$$ \nabla \cdot \bm{F} = \operatorname{div} \bm{F} = \frac{\partial F_x}{\partial x} + \frac{\partial F_y}{\partial y} + \frac{\partial F_z}{\partial z} $$

$$
\nabla \cdot \bm{F} = \operatorname{div} \bm{F}
= \frac{\partial F_x}{\partial x} + \frac{\partial F_y}{\partial y} + \frac{\partial F_z}{\partial z}
$$

発散は $\nabla \cdot \bm{F}$(ナブラとベクトル場のドット積)または $\operatorname{div} \bm{F}$ と書きます。\cdot でドット(内積の記号)を入れるのがポイントです。\bullet だと太いドット $\bm{F} \bullet \bm{G}$ になってしまうので、内積は必ず \cdot を使いましょう。

ガウスの法則

電磁気学のガウスの法則は発散を使って表現されます。

$$ \nabla \cdot \bm{E} = \frac{\rho}{\varepsilon_0} $$

$$
\nabla \cdot \bm{E} = \frac{\rho}{\varepsilon_0}
$$

電場 $\bm{E}$ の発散が電荷密度 $\rho$ に比例するという法則です。$\rho$ は \rho、$\varepsilon$ は \varepsilon\epsilon だと $\epsilon$ になり、物理では \varepsilon が標準)で書きます。

ガウスの発散定理

発散定理は、体積積分と面積分を結びつける重要な定理です。

$$ \iiint_V (\nabla \cdot \bm{F}) \, dV = \oiint_S \bm{F} \cdot d\bm{S} $$

$$
\iiint_V (\nabla \cdot \bm{F}) \, dV = \oiint_S \bm{F} \cdot d\bm{S}
$$

\iiint で三重積分、\oiint で「閉曲面上の二重積分」を表します。KaTeXでは \oiint が標準では使えないことがあるので、その場合は \oint\!\!\!\oint で代用します。

発散の書き方を理解しました。次に、ベクトル場の「渦」を表す回転に進みましょう。

回転(rotation / curl)

回転とは

ベクトル場 $\bm{F}$ の回転は、「その点の周りでベクトル場がどれだけ渦を巻いているか」を表すベクトルです。台風の目の周りの風速場を想像すると、回転の概念がイメージしやすいでしょう。

もっと身近に言えば、流れる川に小さな水車を浮かべたときに「水車がどれくらい回るか・どちら向きの軸で回るか」を表すのが回転ベクトルです。水車が時計回りに回るなら回転ベクトルは紙面の奥を向き、反時計回りなら手前を向きます(右手系の規約による)。

書き方

$$ \nabla \times \bm{F} = \operatorname{rot} \bm{F} = \operatorname{curl} \bm{F} $$

$$
\nabla \times \bm{F} = \operatorname{rot} \bm{F} = \operatorname{curl} \bm{F}
$$

回転は $\nabla \times \bm{F}$(ナブラとベクトル場のクロス積)と書きます。日本では $\operatorname{rot}$(rotation の略)、英語圏では $\operatorname{curl}$ が使われることが多いです。

成分表示

$$ \nabla \times \bm{F} = \begin{vmatrix} \bm{e}_x & \bm{e}_y & \bm{e}_z \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\ F_x & F_y & F_z \end{vmatrix} $$

$$
\nabla \times \bm{F} = \begin{vmatrix}
\bm{e}_x & \bm{e}_y & \bm{e}_z \\
\dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\
F_x & F_y & F_z
\end{vmatrix}
$$

行列式の形で書くと、回転の各成分の計算方法が明確になります。\begin{vmatrix} は縦棒つき行列式環境、\begin{pmatrix} はカッコ付き、\begin{bmatrix} は角カッコ付きです。

展開した成分表示

行列式を展開すると次のように書けます。

$$ \nabla \times \bm{F} = \begin{pmatrix} \dfrac{\partial F_z}{\partial y} – \dfrac{\partial F_y}{\partial z} \\ \dfrac{\partial F_x}{\partial z} – \dfrac{\partial F_z}{\partial x} \\ \dfrac{\partial F_y}{\partial x} – \dfrac{\partial F_x}{\partial y} \end{pmatrix} $$

レポートでは行列式形式と展開形式の両方を示すと、読者が計算過程を追いやすくなります。

ファラデーの法則

電磁気学のファラデーの電磁誘導の法則は回転を使って表現されます。

$$ \nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t} $$

$$
\nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t}
$$

ストークスの定理

$$ \iint_S (\nabla \times \bm{F}) \cdot d\bm{S} = \oint_C \bm{F} \cdot d\bm{r} $$

$$
\iint_S (\nabla \times \bm{F}) \cdot d\bm{S} = \oint_C \bm{F} \cdot d\bm{r}
$$

回転の書き方を理解しました。次に、2階の微分演算子であるラプラシアンを見ていきましょう。

ラプラシアン

ラプラシアンとは

ラプラシアンは、勾配の発散として定義される2階の微分演算子です。スカラー場 $f$ の各点における「周囲との差」を測る量で、熱伝導方程式や波動方程式の中心に位置します。温度分布で言えば、ラプラシアンが正の点は周囲より温度が低い(熱が流れ込む)点です。

直感的には、ある場所の値を周囲の平均と比較したときの「飛び出し具合」を測ります。富士山の頂上では「周囲は自分より低い」のでラプラシアンは負、すり鉢の底では「周囲は自分より高い」のでラプラシアンは正、平らな草原ではラプラシアンはゼロ。熱は飛び出した山を平らにし、くぼみを埋める方向に流れる――これが拡散方程式 $\partial u/\partial t = \alpha \nabla^2 u$ の意味です。

ラプラシアンによる拡散(熱伝導方程式)

書き方

$$ \nabla^2 f = \Delta f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2} + \frac{\partial^2 f}{\partial z^2} $$

$$
\nabla^2 f = \Delta f = \frac{\partial^2 f}{\partial x^2}
+ \frac{\partial^2 f}{\partial y^2} + \frac{\partial^2 f}{\partial z^2}
$$

ラプラシアンは $\nabla^2$(ナブラの2乗)または $\Delta$(大文字デルタ)で表記します。物理学では $\nabla^2$、数学では $\Delta$ が使われる傾向があります。\Delta は変化量を表す $\Delta x$ と同じ記号なので、文脈に注意してください。

熱伝導方程式

$$ \frac{\partial u}{\partial t} = \alpha \nabla^2 u $$

$$
\frac{\partial u}{\partial t} = \alpha \nabla^2 u
$$

温度 $u$ の時間変化がラプラシアンに比例するという方程式です。

波動方程式

$$ \frac{\partial^2 u}{\partial t^2} = c^2 \nabla^2 u $$

ポアソン方程式

$$ \nabla^2 \phi = -\frac{\rho}{\varepsilon_0} $$

電位 $\phi$ に関するポアソン方程式です。$\rho = 0$ の場合はラプラス方程式 $\nabla^2 \phi = 0$ になります。

ベクトル場のラプラシアン

ベクトル場 $\bm{F}$ にもラプラシアンを適用できます。

$$ \nabla^2 \bm{F} = \begin{pmatrix} \nabla^2 F_x \\ \nabla^2 F_y \\ \nabla^2 F_z \end{pmatrix} $$

直交座標系では各成分にスカラーラプラシアンを適用するだけで済みますが、曲線座標系では基底ベクトルの位置依存性を考慮する必要があり、もっと複雑になります(後述)。

ダランベルシアン

相対論的場の理論では、時空のラプラシアンに相当するダランベルシアン \Box を使います。

$$ \Box \phi = \left( \frac{1}{c^2} \frac{\partial^2}{\partial t^2} – \nabla^2 \right) \phi = 0 $$

\Box で四角の記号 $\Box$ が出ます。これは時間2階微分と空間ラプラシアンの差で、相対論版の波動方程式の中心に登場します。

ラプラシアンの書き方を理解しました。次に、勾配のさらに上位の概念――ヘシアン行列を見ていきます。

ヘシアン行列とヤコビアン

ナブラを2回適用すると、スカラー場からはヘシアン行列、ベクトル場からはヤコビアン行列が得られます。機械学習・最適化では避けて通れない概念です。

ヘシアン行列とは

スカラー関数 $f(\bm{x})$ の2階偏微分をすべて並べた行列がヘシアンです。

$$ \bm{H} = \nabla^2 f = \begin{pmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots \\[6pt] \dfrac{\partial^2 f}{\partial x_2 \partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots \\[6pt] \vdots & \vdots & \ddots \end{pmatrix} $$

$$
\bm{H} = \nabla^2 f = \begin{pmatrix}
\dfrac{\partial^2 f}{\partial x_1^2}
  & \dfrac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots \\
\dfrac{\partial^2 f}{\partial x_2 \partial x_1}
  & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots \\
\vdots & \vdots & \ddots
\end{pmatrix}
$$

\nabla^2 f という記法は、ラプラシアンと紛らわしいので、行列であることを強調したいときは \bm{H} f\mathrm{Hess}(f) と書くこともあります。

固有値とくぼみ/峠

ヘシアンの固有値の符号から、臨界点($\nabla f = \bm{0}$ の点)の種類が判別できます。

  • すべての固有値が正 → 極小点(くぼみ)
  • すべての固有値が負 → 極大点(山)
  • 正負が混在 → 鞍点(峠)

ヘシアンの固有値とくぼみ/峠/鞍点

最適化アルゴリズム(ニュートン法)や、損失関数の局所構造の解析(リーマン幾何的な学習率調整)で、ヘシアンの固有値構造が決定的な役割を果たします。

ヤコビアン

ベクトル関数 $\bm{f}(\bm{x}): \mathbb{R}^n \to \mathbb{R}^m$ のヤコビアン(ヤコビ行列)は次のように書きます。

$$ \bm{J} = \frac{\partial \bm{f}}{\partial \bm{x}} = \begin{pmatrix} \dfrac{\partial f_1}{\partial x_1} & \cdots & \dfrac{\partial f_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \dfrac{\partial f_m}{\partial x_1} & \cdots & \dfrac{\partial f_m}{\partial x_n} \end{pmatrix} $$

$$
\bm{J} = \frac{\partial \bm{f}}{\partial \bm{x}} = \begin{pmatrix}
\dfrac{\partial f_1}{\partial x_1} & \cdots & \dfrac{\partial f_1}{\partial x_n} \\
\vdots & \ddots & \vdots \\
\dfrac{\partial f_m}{\partial x_1} & \cdots & \dfrac{\partial f_m}{\partial x_n}
\end{pmatrix}
$$

機械学習の自動微分(バックプロパゲーション)は、本質的にはこのヤコビアンを連鎖律で積み上げる計算です。深層ネットワークの「逆伝播」の正体は、各層のヤコビアンの行列積に他なりません。

ヘシアン・ヤコビアンの書き方を理解したところで、次にベクトル解析で頻出する恒等式を一覧で押さえておきましょう。

ベクトル恒等式

ベクトル解析にはいくつかの重要な恒等式があります。これらをLaTeXで正確に書けるようにしておきましょう。

回転の発散は0

$$ \nabla \cdot (\nabla \times \bm{F}) = 0 $$

$$
\nabla \cdot (\nabla \times \bm{F}) = 0
$$

任意のベクトル場の回転の発散は常に0になります。

勾配の回転は0

$$ \nabla \times (\nabla f) = \bm{0} $$

$$
\nabla \times (\nabla f) = \bm{0}
$$

任意のスカラー場の勾配の回転は常にゼロベクトルになります。これは「保存場(勾配場)は渦を持たない」という物理的意味を持ちます。

二重回転

$$ \nabla \times (\nabla \times \bm{F}) = \nabla(\nabla \cdot \bm{F}) – \nabla^2 \bm{F} $$

この恒等式は電磁波の波動方程式の導出で使われます。マクスウェル方程式から $\bm{E}$ について解くと、左辺の \nabla \times \nabla \times \bm{E} が出てきて、この恒等式で右辺の $-\nabla^2 \bm{E}$ に変換することで、見慣れた波動方程式 $\partial^2 \bm{E}/\partial t^2 = c^2 \nabla^2 \bm{E}$ が得られます。

内積・外積に関する恒等式

$$ \nabla \cdot (\bm{F} \times \bm{G}) = \bm{G} \cdot (\nabla \times \bm{F}) – \bm{F} \cdot (\nabla \times \bm{G}) $$

$$
\nabla \cdot (\bm{F} \times \bm{G}) = \bm{G} \cdot (\nabla \times \bm{F}) - \bm{F} \cdot (\nabla \times \bm{G})
$$

この式は、電磁波のエネルギー流密度(ポインティングベクトル $\bm{S} = \bm{E} \times \bm{H}$)の保存則を導く際に必須です。

積の規則

$$ \nabla \cdot (f \bm{F}) = (\nabla f) \cdot \bm{F} + f (\nabla \cdot \bm{F}) $$

$$ \nabla \times (f \bm{F}) = (\nabla f) \times \bm{F} + f (\nabla \times \bm{F}) $$

スカラー関数とベクトル場の積に対しては、通常の微分と同じく「片方を微分してもう片方をそのまま」を2回足す積の規則が成り立ちます。

ベクトル解析の重要な恒等式

ベクトル恒等式の書き方を確認しました。次に、これらを組み合わせたマクスウェル方程式を書いてみましょう。

マクスウェル方程式

電磁気学の基本法則であるマクスウェル方程式は、ナブラ記号を使った最も有名な例の一つです。

$$ \begin{align} \nabla \cdot \bm{E} &= \frac{\rho}{\varepsilon_0} & &\text{(ガウスの法則)} \\ \nabla \cdot \bm{B} &= 0 & &\text{(磁気に関するガウスの法則)} \\ \nabla \times \bm{E} &= -\frac{\partial \bm{B}}{\partial t} & &\text{(ファラデーの法則)} \\ \nabla \times \bm{B} &= \mu_0 \bm{J} + \mu_0 \varepsilon_0 \frac{\partial \bm{E}}{\partial t} & &\text{(アンペール・マクスウェルの法則)} \end{align} $$

$$
\begin{align}
\nabla \cdot \bm{E} &= \frac{\rho}{\varepsilon_0}
  & &\text{(ガウスの法則)} \\
\nabla \cdot \bm{B} &= 0
  & &\text{(磁気に関するガウスの法則)} \\
\nabla \times \bm{E} &= -\frac{\partial \bm{B}}{\partial t}
  & &\text{(ファラデーの法則)} \\
\nabla \times \bm{B} &= \mu_0 \bm{J} + \mu_0 \varepsilon_0 \frac{\partial \bm{E}}{\partial t}
  & &\text{(アンペール・マクスウェルの法則)}
\end{align}
$$

4つの方程式を align 環境で等号揃えにし、右端に名称を添えています。& & を二重に使うのは、「等号位置」と「名称の左揃え位置」の2つの揃え列を作るためです。

ナビエ・ストークス方程式

流体力学の支配方程式も、ナブラの集大成です。

$$ \rho \left( \frac{\partial \bm{v}}{\partial t} + (\bm{v} \cdot \nabla) \bm{v} \right) = -\nabla p + \mu \nabla^2 \bm{v} + \bm{f} $$

$$
\rho \left( \frac{\partial \bm{v}}{\partial t} + (\bm{v} \cdot \nabla) \bm{v} \right)
= -\nabla p + \mu \nabla^2 \bm{v} + \bm{f}
$$

ここで $(\bm{v} \cdot \nabla)$ は移流項で、ベクトル場 $\bm{v}$ を $\bm{v}$ 自身の方向に微分する演算子です。\nabla 単独ではなくスカラー演算子 $\bm{v} \cdot \nabla$ として扱う点に注意してください。

主要な方程式が一通り書けるようになりました。次に、機械学習の文脈で多用される表記を整理します。

機械学習でよく使う∇表記

機械学習の論文や教科書では、勾配の使い方が物理学とは少し異なります。「どのパラメータで微分するか」を明示する必要があるため、添字つきナブラが標準です。

ロス関数面と勾配降下軌跡

損失関数の勾配

$$ \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}) = \begin{pmatrix} \dfrac{\partial \mathcal{L}}{\partial \theta_1} \\ \vdots \\ \dfrac{\partial \mathcal{L}}{\partial \theta_d} \end{pmatrix} $$

$$
\nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta})
$$

ここで \mathcal{L} はカリグラフィー体の $\mathcal{L}$ で、損失関数(Loss)を表します。ベクトル微分の添字を \bm{\theta} とすることで、「パラメータ $\bm{\theta}$ について偏微分する」ことを明示します。

確率密度関数の対数尤度の勾配

最尤推定で頻出するスコア関数は次のように書きます。

$$ \nabla_{\bm{\theta}} \log p(\bm{x} \mid \bm{\theta}) $$

$$
\nabla_{\bm{\theta}} \log p(\bm{x} \mid \bm{\theta})
$$

\mid は縦棒 $|$ を「条件付き」記号として使うときのコマンドで、左右に適切な余白が入ります。| 直書きでもよいですが、\mid のほうがフォーマルです。

確率的勾配降下法 (SGD) の更新式

$$ \bm{\theta}_{t+1} = \bm{\theta}_t – \eta \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}_t; \bm{x}_i, y_i) $$

セミコロン以降がミニバッチサンプルで、\bm{x}_i, y_i でデータ点を指定します。

Adam オプティマイザ

$$ \begin{align} \bm{m}_t &= \beta_1 \bm{m}_{t-1} + (1 – \beta_1) \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}_t) \\ \bm{v}_t &= \beta_2 \bm{v}_{t-1} + (1 – \beta_2) \left( \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}_t) \right)^{\odot 2} \end{align} $$

\odot は要素ごとの積(アダマール積)です。^{\odot 2} で「各要素を2乗する」ことを表します。深層学習の論文では、こうした要素ごとの演算が頻出します。

自然勾配法

$$ \bm{\theta}_{t+1} = \bm{\theta}_t – \eta\, \bm{F}^{-1}(\bm{\theta}_t)\, \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}_t) $$

$\bm{F}$ はフィッシャー情報行列です。通常の勾配を行列で「曲げる」ことで、パラメータの幾何に合った最急方向を得る、自然勾配法の更新式です。

機械学習の表記が押さえられたら、次に座標系を変えたときのナブラの形を見ておきましょう。

球面/円柱座標系での∇

直交座標系のナブラは単純ですが、対称性のある問題(中心力場、円筒対称な電磁場など)では曲線座標系を使うほうが便利です。

円柱座標と球面座標における∇の基底

円柱座標 $(r, \theta, z)$

$$ \nabla f = \frac{\partial f}{\partial r} \bm{\hat{r}} + \frac{1}{r} \frac{\partial f}{\partial \theta} \bm{\hat{\theta}} + \frac{\partial f}{\partial z} \bm{\hat{z}} $$

$$
\nabla f = \frac{\partial f}{\partial r} \bm{\hat{r}}
+ \frac{1}{r} \frac{\partial f}{\partial \theta} \bm{\hat{\theta}}
+ \frac{\partial f}{\partial z} \bm{\hat{z}}
$$

\bm{\hat{r}} で太字ハット付きの単位ベクトル $\bm{\hat{r}}$ を書きます。\hat{\bm{r}} でも見た目はほぼ同じですが、\bm{\hat{r}} のほうが「太字でハット」の順で意味が読み取りやすいです。

円柱座標の発散

$$ \nabla \cdot \bm{F} = \frac{1}{r} \frac{\partial (r F_r)}{\partial r} + \frac{1}{r} \frac{\partial F_\theta}{\partial \theta} + \frac{\partial F_z}{\partial z} $$

球面座標 $(r, \theta, \phi)$

$$ \nabla f = \frac{\partial f}{\partial r} \bm{\hat{r}} + \frac{1}{r} \frac{\partial f}{\partial \theta} \bm{\hat{\theta}} + \frac{1}{r \sin \theta} \frac{\partial f}{\partial \phi} \bm{\hat{\phi}} $$

$$
\nabla f = \frac{\partial f}{\partial r} \bm{\hat{r}}
+ \frac{1}{r} \frac{\partial f}{\partial \theta} \bm{\hat{\theta}}
+ \frac{1}{r \sin \theta} \frac{\partial f}{\partial \phi} \bm{\hat{\phi}}
$$

球面座標のラプラシアン

$$ \nabla^2 f = \frac{1}{r^2} \frac{\partial}{\partial r}\left( r^2 \frac{\partial f}{\partial r} \right) + \frac{1}{r^2 \sin \theta} \frac{\partial}{\partial \theta}\left( \sin \theta \frac{\partial f}{\partial \theta} \right) + \frac{1}{r^2 \sin^2 \theta} \frac{\partial^2 f}{\partial \phi^2} $$

これは水素原子のシュレーディンガー方程式の中心に登場する式で、量子力学の角運動量演算子はこのラプラシアンの角度部分そのものです。

LaTeX的には、\frac を入れ子にして書きますが、行が非常に長くなるので、align 環境で改行を入れて見やすくする工夫が必要です。

座標系の話まで来ました。最後に、LaTeXからWeb系のMathJax/KaTeXに乗せ替えるときの注意点を整理しておきます。

LaTeX / MathJax / KaTeX 対応表とエラー対処

ローカルのTeXでは綺麗にコンパイルできても、WordPressやQiitaに貼ったら崩れた――というのはあるあるです。よく使うコマンドの対応を表にまとめます。

コマンド LaTeX MathJax KaTeX 備考
\nabla OK OK OK
\partial OK OK OK
\cdot OK OK OK 発散の内積
\times OK OK OK 回転の外積
\Delta OK OK OK ラプラシアン
\Box OK OK ダランベルシアン。KaTeXは要バージョン
\bm{x} bm OK KaTeXは未対応のこと多い
\boldsymbol{x} OK OK OK 推奨
\operatorname{rot} OK OK OK 推奨
\text{rot} OK OK OK スペーシングがやや劣る
\oiint OK × KaTeXは未対応。代替必要
\iiint OK OK OK
\odot OK OK OK アダマール積
\mathcal{L} OK OK OK カリグラフィー
\varepsilon OK OK OK $\varepsilon$(物理で標準)

KaTeXで \bm が動かない場合

KaTeXの古いバージョンでは \bm が定義されていません。\boldsymbol に置き換えれば動きます。

% NG (KaTeX で表示崩れの可能性)
$\bm{\nabla} \cdot \bm{E}$

% OK
$\boldsymbol{\nabla} \cdot \boldsymbol{E}$

\oiint が出ない場合

KaTeX は \oiint をサポートしないことがあります。代替手段は以下の通りです。

% 代替1: 二重積分記号と閉曲面記号を組み合わせる
\oint\!\!\!\oint_S

% 代替2: \unicode (KaTeX) または \mathchar (LaTeX)
% 環境依存なので推奨度は低い

よくあるエラー

% NG: 太字コマンドの入れ子ミス
$\bm \nabla$        % ブレースがないので $\nabla$ だけ太字にならない
% OK
$\bm{\nabla}$

% NG: 添字に複数文字を中括弧なしで書く
$\nabla_\bm{w}$     % $w$ だけが添字になる
% OK
$\nabla_{\bm{w}}$

% NG: \frac の引数が不足
$\frac\partial f \partial x$  % エラー
% OK
$\frac{\partial f}{\partial x}$

LaTeX / Web系の対応関係を確認しました。最後に、よく使う表記をまとめてコピペ可能なテンプレ集として置いておきます。

コピペ集

レポートやノートで頻繁に使う形をコピペできるよう、まとめておきます。

勾配・発散・回転の基本

% 勾配
$$\nabla f = \operatorname{grad} f$$

% 発散
$$\nabla \cdot \bm{F} = \operatorname{div} \bm{F}$$

% 回転
$$\nabla \times \bm{F} = \operatorname{rot} \bm{F}$$

% ラプラシアン
$$\nabla^2 f = \Delta f$$

% ベクトルラプラシアン
$$\nabla^2 \bm{F}$$

機械学習の勾配降下

$$\bm{\theta}_{t+1} = \bm{\theta}_t - \eta \nabla_{\bm{\theta}} \mathcal{L}(\bm{\theta}_t)$$

マクスウェル方程式 (一式)

$$
\begin{align}
\nabla \cdot \bm{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \bm{B} &= 0 \\
\nabla \times \bm{E} &= -\frac{\partial \bm{B}}{\partial t} \\
\nabla \times \bm{B} &= \mu_0 \bm{J} + \mu_0 \varepsilon_0 \frac{\partial \bm{E}}{\partial t}
\end{align}
$$

ヘシアン行列

$$
\bm{H} = \begin{pmatrix}
\dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1 \partial x_2} \\
\dfrac{\partial^2 f}{\partial x_2 \partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2}
\end{pmatrix}
$$

発散定理・ストークスの定理

$$\iiint_V (\nabla \cdot \bm{F}) \, dV = \oiint_S \bm{F} \cdot d\bm{S}$$

$$\iint_S (\nabla \times \bm{F}) \cdot d\bm{S} = \oint_C \bm{F} \cdot d\bm{r}$$

これでテンプレ集は完備しました。最後に全体をまとめます。

よくある詰まりとTips

詰まり1:発散と内積の区別

$\nabla \cdot \bm{F}$(発散)と $\bm{a} \cdot \bm{b}$(内積)は同じ \cdot を使いますが、意味が異なります。$\nabla$ は演算子であり、通常のベクトルではありません。形式的にベクトルとして扱えるのが便利な点ですが、「演算子としての性質」(積の規則など)を忘れると間違いの元です。

詰まり2:回転の表記のブレ

日本の教科書では rot、英語圏では curl が使われます。同じ文書内では表記を統一しましょう。\operatorname{rot}\text{rot} は見た目こそ似ていますが、前者のほうが演算子としてのスペーシングが正しく入ります。

% 日本式
$\operatorname{rot} \bm{F}$

% 英語式
$\operatorname{curl} \bm{F}$

% ナブラ記法(最も一般的)
$\nabla \times \bm{F}$

詰まり3:太字ナブラ vs 通常ナブラ

教科書によって $\nabla$ を太字 $\bm{\nabla}$ で書く流儀と、そのまま $\nabla$ で書く流儀があります。一つの文書では統一してください。混在すると「これは別物か?」と読者が混乱します。

Tips:ナブラ演算子の覚え方

  • $\nabla f$:スカラー場にナブラを「かける」→ ベクトル(勾配)
  • $\nabla \cdot \bm{F}$:ベクトル場とナブラの「内積」→ スカラー(発散)
  • $\nabla \times \bm{F}$:ベクトル場とナブラの「外積」→ ベクトル(回転)

入力(スカラー/ベクトル)と出力(スカラー/ベクトル)の対応で覚えると、迷わなくなります。

Tips:物理単位の整合性チェック

$\nabla$ は「単位長さあたりの変化率」なので、長さの逆数の次元 $[\mathrm{m}^{-1}]$ を持ちます。式の単位がおかしいと感じたら、$\nabla$ の次元を含めて両辺を確認すると間違いに気付きやすいです。たとえば $\nabla \cdot \bm{E} = \rho/\varepsilon_0$ の両辺の単位を追ってみると、ガウスの法則が次元的に整合していることを確認できます。

Tips:自動微分との接続

機械学習で loss.backward() を呼ぶと内部で行われているのは、まさにこの $\nabla_{\bm{\theta}} \mathcal{L}$ の計算です。PyTorchの torch.autograd.grad や、JAXの jax.grad は、本記事で書いた数式そのものをコードで実装しています。LaTeXの数式とPythonコードを「同じもの」として読めるようになると、論文の理解速度が劇的に上がります。

まとめ

本記事では、LaTeXで勾配・発散・回転・ラプラシアン・ヘシアンを書く方法を、基礎から機械学習・座標変換まで包括的に解説しました。

  • ナブラ記号: \nabla で逆三角形の演算子を出力。添字つきは \nabla_{\bm{w}}
  • 偏微分: \frac{\partial f}{\partial x} が標準。簡潔には \partial_x ff_x
  • 勾配: \nabla f でスカラー場の勾配
  • 発散: \nabla \cdot \bm{F} でベクトル場の発散
  • 回転: \nabla \times \bm{F} でベクトル場の回転
  • ラプラシアン: \nabla^2 f または \Delta f
  • ヘシアン: \bm{H} = \nabla^2 f の行列形、固有値で臨界点を判別
  • ヤコビアン: \partial \bm{f}/\partial \bm{x} でベクトル関数の1階微分行列
  • 機械学習: \nabla_{\bm{\theta}} \mathcal{L} で「パラメータについて微分」を明示
  • 座標系: 円柱・球面座標では係数 $\frac{1}{r}$, $\frac{1}{r \sin \theta}$ が入る
  • KaTeX互換: \bm\boldsymbol\oiint → 二重 \oint で代替

これらの演算子は電磁気学、流体力学、熱伝導、量子力学、機械学習で不可欠です。記法を自在に操れるようになれば、教科書の式を写すストレスが消え、論文を読む速度も書く速度も大きく上がります。

次のステップとして、以下の記事も参考にしてください。

関連記事:LaTeX数式記法シリーズ

LaTeX数式記法 完全ガイド(実用チートシート)
記号・環境・コマンドを一覧で引けるチートシート
画像なし
LaTeXで太字ベクトル(bm・boldsymbol・vec)
bm・boldsymbol・mathbfの違いと使い分け
画像なし
LaTeXで行列を書く(pmatrix・転置・逆行列)
pmatrix・bmatrix・転置・逆行列の実例集
画像なし
LaTeXで偏微分・全微分を書く方法 — partial・dfrac・記号一覧【コピペ可】
partial記号から高階偏微分・ヤコビアンまで解説
画像なし
LaTeXで積分(定積分・重積分・線積分)を書く方法 — 記号一覧【コピペ可】
iint・iiint・oint・線積分まで網羅