ナブラ演算子とgrad, div, rotを理解する

電磁気学の教科書を開くと、「$\nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t}$」という式が登場します。あるいは流体力学で「$\nabla \cdot \bm{v} = 0$(非圧縮流れ)」という条件に出会うかもしれません。この $\nabla$(ナブラ)という記号は、実は3つの微分演算を統一的に書き表すための”記号の道具箱”です。

なぜ物理学者・工学者は $\nabla$ という特別な記号を発明したのでしょうか。それは、grad(勾配)・div(発散)・rot(回転)という3つの演算が、どれも「空間をどう変化しているか」を測るものであり、$\nabla$ という統一記号で書くと計算規則の対称性が見えやすくなるからです。

この記事を読み終えると、次のことができるようになります。

  • $\nabla$・grad・div・rot・ラプラシアンの定義と物理的意味を説明できる
  • 直交座標系だけでなく円筒・球座標系での公式を使いこなせる
  • rot grad = 0・div rot = 0 という恒等式がなぜ成り立つか直感的に理解できる
  • LaTeX で $\nabla$・$\nabla f$・$\nabla \cdot \bm{F}$・$\nabla \times \bm{F}$ を正確に記述できる
  • Pythonで数値微分を実装し、解析解と比較検証できる

応用先を2つ挙げると、電磁気学(マクスウェル方程式の4本はすべて $\nabla$ で書かれている)と流体力学(Navier-Stokes方程式の移流項・渦度・連続の式)です。ベクトル解析のナブラ演算子は、これらを学ぶ上で避けて通れない基礎中の基礎です。

本記事の内容

  • ナブラ演算子の定義とイメージ
  • 勾配(grad): スカラー場 $\to$ ベクトル場
  • 発散(div): ベクトル場 $\to$ スカラー場
  • 回転(rot / curl): ベクトル場 $\to$ ベクトル場
  • ラプラシアン $\nabla^2$
  • 重要な恒等式(rot grad = 0, div rot = 0)
  • 円筒・球座標系での表式
  • LaTeX での書き方(\nabla, \cdot, \times)
  • Pythonでの数値検証

ナブラ演算子 $\nabla$ とは

直感: “微分の道具箱”

スカラーの微分 $\frac{d}{dx}$ を3次元に拡張したい、というのがナブラ演算子の出発点です。

1次元では $\frac{df}{dx}$ と書くだけで済みましたが、3次元空間の関数 $f(x,y,z)$ は $x$・$y$・$z$ の3方向に独立して変化します。これを一つの”箱”にまとめたのが $\nabla$ です。

$$ \nabla = \begin{pmatrix} \frac{\partial}{\partial x} \\ \frac{\partial}{\partial y} \\ \frac{\partial}{\partial z} \end{pmatrix} $$

この $\nabla$ 自体は演算子(操作の指示書)であり、単独では意味を持ちません。何かに「作用させる」ことで初めて意味が生まれます。作用させる相手と作用の方法(掛け算の種類)によって、3つの演算が生まれます。

作用の方法 演算名 入力 出力
$\nabla f$(スカラー倍) 勾配(grad) スカラー場 ベクトル場
$\nabla \cdot \bm{F}$(内積) 発散(div) ベクトル場 スカラー場
$\nabla \times \bm{F}$(外積) 回転(rot/curl) ベクトル場 ベクトル場

ナブラ演算子∇の3演算(grad・div・rot)の入出力関係まとめ図

この図は「何を入れて何が出てくるか」を整理したものです。スカラー場とベクトル場という2種類の入力から、3種類の演算(grad・div・rot)でそれぞれ異なる出力が生まれる様子が見てとれます。これが $\nabla$ という記号の統一的な威力です。

次に、それぞれの演算を順番に丁寧に見ていきましょう。


勾配(gradient): grad演算子の定義と物理的意味

直感: 「最も急な上り坂の方向」

山に登るとき、「どちらに向かえば最も急に高くなるか」を知りたいとします。地形の高さ $\phi(x, y)$ に対して、どの方向へ一歩進めば最も高くなるか——これを教えてくれるのが勾配ベクトルです。

勾配は「スカラー場(1つの数値がある空間分布)から、各点における”最急上昇方向と急さ”を教えるベクトル場を作る操作」です。

grad演算子の定義

スカラー場 $\phi(x, y, z)$ の勾配は、ナブラ演算子を $\phi$ にかけたものです。

$$ \text{grad} \, \phi = \nabla \phi = \begin{pmatrix} \frac{\partial \phi}{\partial x} \\ \frac{\partial \phi}{\partial y} \\ \frac{\partial \phi}{\partial z} \end{pmatrix} $$

各成分は、$x$・$y$・$z$ 方向それぞれの「変化の速さ(偏微分)」になっています。$x$ 方向に急に変化するなら $\frac{\partial \phi}{\partial x}$ が大きくなり、ベクトルの $x$ 成分が大きくなる——という仕組みです。

方向微分との関係

勾配ベクトル $\nabla \phi$ と任意の方向ベクトル $\hat{\bm{d}}$(単位ベクトル)の内積が、その方向への方向微分(その方向に進んだときの変化率)になります。

$$ D_{\hat{\bm{d}}} \phi = \nabla \phi \cdot \hat{\bm{d}} = |\nabla \phi| \cos\theta $$

ここで $\theta$ は $\nabla \phi$ と $\hat{\bm{d}}$ のなす角です。内積はコサインで決まるので、$\theta = 0$(勾配と同じ方向)のとき最大になります。つまり $\nabla \phi$ の方向こそが最急上昇方向です。また $\theta = 90°$(等高線に沿う方向)では内積がゼロになり、変化がないことも分かります。

具体例1: $\phi = x^2 + y^2$

この関数は原点を最小値とするお椀型のスカラー場です。

勾配を計算します。

$$ \nabla \phi = \begin{pmatrix} \frac{\partial}{\partial x}(x^2+y^2) \\ \frac{\partial}{\partial y}(x^2+y^2) \\ \frac{\partial}{\partial z}(x^2+y^2) \end{pmatrix} = \begin{pmatrix} 2x \\ 2y \\ 0 \end{pmatrix} = 2\bm{r} $$

ここで $\bm{r} = (x, y, 0)$ は原点からの位置ベクトルです。つまり「各点から外向きに放射状」のベクトル場になります。お椀の底(原点)では勾配がゼロ(どこへ進んでも変化しない)で、縁へ向かうほど急になります。

具体例2: $\phi = \sin x \cos y$

$$ \nabla \phi = \begin{pmatrix} \cos x \cos y \\ -\sin x \sin y \\ 0 \end{pmatrix} $$

山と谷が繰り返す地形の勾配場で、山頂($\cos x = 0$ かつ $\sin y = 0$ の点)では勾配がゼロになります。

grad演算子の勾配ベクトル場:等高線に垂直で最急上昇方向を指す矢印

左のグラフ($\phi = x^2+y^2$)では、矢印がどの点でも等高線に垂直で外向きになっているのが確認できます。右のグラフ($\phi = \sin x \cos y$)では、山頂や谷底で矢印がゼロになり、急な斜面ほど矢印が長くなっています。等高線の「混み具合」と矢印の長さが対応していることが分かります。

方向微分の可視化

方向微分と勾配:点Pにおける各方向の微分とgrad方向の関係

この図では、点 $P = (1.0, 0.5)$ における3方向の微分を比べています。青の矢印(勾配方向)では方向微分が最大で、緑の矢印(任意方向)では中程度、紫の矢印(等高線に沿う方向)では方向微分がゼロになります。$\nabla \phi \cdot \hat{\bm{d}} = |\nabla \phi| \cos\theta$ という式の直感が視覚化されています。

勾配がスカラー場を「ベクトル場」に変換する演算であることが確認できました。次は逆に「ベクトル場からスカラー場」を取り出す演算、発散に進みましょう。


発散(divergence): div演算子の定義と物理的意味

直感: 「湧き出しの強さ」

流れの場(速度場)を想像してください。ある点で流れが「外に向かってどんどん広がっている」なら、そこに水の湧き出し(ソース)があるようなイメージです。逆に「流れが内に吸い込まれている」なら、吸い込み(シンク)があるイメージです。

この「湧き出しの強さ」を各点でスカラー値として教えてくれる演算が発散(divergence)です。

div演算子の定義

ベクトル場 $\bm{F} = (F_x, F_y, F_z)$ の発散は、ナブラ演算子との内積です。

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

内積なので、結果はスカラー(1つの数値)になります。直感的には「$x$ 方向に $F_x$ が増える速さ」+「$y$ 方向に $F_y$ が増える速さ」+「$z$ 方向に $F_z$ が増える速さ」の合計です。この合計がプラスなら「各方向にどんどん広がっている = 湧き出し」、マイナスなら「各方向から集まってくる = 吸い込み」です。

発散の物理的意味

$$ \nabla \cdot \bm{F} > 0 \quad \Rightarrow \quad \text{その点で流れが湧き出している(ソース)} $$

$$ \nabla \cdot \bm{F} < 0 \quad \Rightarrow \quad \text{その点に流れが吸い込まれている(シンク)} $$

$$ \nabla \cdot \bm{F} = 0 \quad \Rightarrow \quad \text{湧き出しも吸い込みもない(ソレノイダル場)} $$

特に $\nabla \cdot \bm{F} = 0$ となる場をソレノイダル場(solenoidal field)といいます。非圧縮流体の速度場や、磁場($\nabla \cdot \bm{B} = 0$)がこれに当たります。

具体例: $\bm{F} = (x, y, z)$(放射場)

各方向の偏微分を計算します。

$$ \frac{\partial F_x}{\partial x} = \frac{\partial x}{\partial x} = 1, \quad \frac{\partial F_y}{\partial y} = 1, \quad \frac{\partial F_z}{\partial z} = 1 $$

これらを足して、

$$ \nabla \cdot \bm{F} = 1 + 1 + 1 = 3 $$

全空間一様に「3」という正の発散を持ちます。これは原点から外向きに均等に湧き出している放射状のベクトル場です。

具体例2: $\bm{F} = (-x, -y, 0)$(吸い込み場)

$$ \nabla \cdot \bm{F} = -1 + (-1) + 0 = -2 $$

全域で負の発散を持ち、2次元的に中心に吸い込まれるベクトル場です。

div演算子の発散:湧き出し場(div>0)と吸い込み場(div<0)の比較

左の図(湧き出し場)ではすべての矢印が外向きで、赤のヒートマップが「$\nabla \cdot \bm{F} = 2$」を示しています。右の図(吸い込み場)ではすべての矢印が内向きで、ヒートマップが「$\nabla \cdot \bm{F} = -2$」を示しています。発散の符号が湧き出し・吸い込みに対応していることが一目瞭然です。

発散は「その点にどれだけ”源泉”があるか」を測るスカラーでした。一方、もう一つの基本演算である回転は「渦」の強さと軸方向を教えてくれます。


回転(rotation / curl): rot演算子の定義と物理的意味

直感: 「渦の強さと回転軸」

川の流れに木の葉を浮かべたとき、渦にはまると木の葉が回転します。この「渦を引き起こす”ひねり”の強さ」を測る演算が回転(rotation, curl)です。発散がスカラーを返したのに対し、回転はベクトルを返します——その方向が回転軸(右ねじの法則に従う)、大きさが渦の強さです。

rot演算子の定義

ベクトル場 $\bm{F} = (F_x, F_y, F_z)$ の回転は、ナブラ演算子との外積です。

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

この行列式を展開すると、

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

各成分の形に注目してください。$x$ 成分は $y$-$z$ 平面での「ひねり」、$y$ 成分は $z$-$x$ 平面での「ひねり」、$z$ 成分は $x$-$y$ 平面での「ひねり」を表しています。

各成分の意味

$z$ 成分 $\left(\nabla \times \bm{F}\right)_z = \frac{\partial F_y}{\partial x} – \frac{\partial F_x}{\partial y}$ を詳しく見ましょう。

  • $\frac{\partial F_y}{\partial x}$: $x$ が増えるにつれて $F_y$(上向き成分)が増えていれば、反時計回りの渦に貢献する
  • $-\frac{\partial F_x}{\partial y}$: $y$ が増えるにつれて $F_x$(右向き成分)が増えていれば、時計回りになるので引く

この差が正なら「$z$ 軸まわりに反時計回りの渦」、負なら「時計回りの渦」があることを意味します。

具体例1: $\bm{F} = (-y, x, 0)$(一様な渦場)

各偏微分を計算します。

$x$ 成分: $\frac{\partial F_z}{\partial y} – \frac{\partial F_y}{\partial z} = 0 – 0 = 0$

$y$ 成分: $\frac{\partial F_x}{\partial z} – \frac{\partial F_z}{\partial x} = 0 – 0 = 0$

$z$ 成分: $\frac{\partial F_y}{\partial x} – \frac{\partial F_x}{\partial y} = \frac{\partial x}{\partial x} – \frac{\partial (-y)}{\partial y} = 1 – (-1) = 2$

よって、

$$ \nabla \times \bm{F} = \begin{pmatrix} 0 \\ 0 \\ 2 \end{pmatrix} $$

$z$ 軸方向に「大きさ 2、右ねじ方向(反時計回り)」の渦が全域に一様に存在します。

具体例2: $\bm{F} = (x, -y, 0)$(渦なし場)

$z$ 成分: $\frac{\partial(-y)}{\partial x} – \frac{\partial x}{\partial y} = 0 – 0 = 0$

よって $\nabla \times \bm{F} = \bm{0}$。このベクトル場は見た目に流れがありますが、渦は全くないポテンシャル場(渦なし場)です。

rot演算子の回転:渦あり場と渦なし場(ポテンシャル場)の比較

左の図($\bm{F} = (-y, x, 0)$)では矢印が反時計回りの渦を作っており、紫のヒートマップが「rot の $z$ 成分 = 2」を示しています。右の図($\bm{F} = (x, -y, 0)$)では矢印が一見複雑に見えますが、ヒートマップは「rot = 0」を示しており、渦が全くないことが分かります。同じ「流れがある」ように見えても、rot が0かどうかで本質的に異なる性質を持つことがポイントです。

rot までの3演算を把握したところで、$\nabla$ を「自分自身に2回かける」操作、すなわちラプラシアンを見ていきましょう。


ラプラシアン $\nabla^2$: 周囲との差を測る

直感: 「周囲の平均との差」

ある点での温度が周囲の平均より高ければ、そこから熱が逃げていきます(拡散方程式の本質)。あるいは電荷がある点には電場が湧き出しています(ポアソン方程式)。このような「周囲との差」を測るのがラプラシアンです。

ラプラシアンの定義

$$ \nabla^2 \phi = \nabla \cdot (\nabla \phi) = \frac{\partial^2 \phi}{\partial x^2} + \frac{\partial^2 \phi}{\partial y^2} + \frac{\partial^2 \phi}{\partial z^2} $$

勾配 $\nabla \phi$ をとって、さらに発散 $\nabla \cdot$ をとった結果です。各方向の2階偏微分の和になります。

離散化で見る直感

1次元で考えると、中心差分で2階微分を近似できます。

$$ \frac{d^2 f}{dx^2} \approx \frac{f(x+h) – 2f(x) + f(x-h)}{h^2} $$

分子は $[f(x+h) + f(x-h)] – 2f(x)$、つまり「隣の点の平均 $- $ 今の点の値」の2倍です。ラプラシアンが正なら「今の点が周囲より低い(くぼみ)」、負なら「今の点が周囲より高い(山)」です。

物理方程式でのラプラシアン

方程式 式 意味
ラプラス方程式 $\nabla^2 \phi = 0$ 静電ポテンシャルなど(湧き出しなし)
ポアソン方程式 $\nabla^2 \phi = -\rho/\varepsilon_0$ 電荷分布がポテンシャルを生む
拡散方程式 $\frac{\partial T}{\partial t} = \alpha \nabla^2 T$ 熱が周囲の温度差に比例して流れる
波動方程式 $\frac{\partial^2 u}{\partial t^2} = c^2 \nabla^2 u$ 波の伝播(周囲との差が復元力)

具体例: $\phi = e^{-(x^2+y^2)}$

$r^2 = x^2 + y^2$ とおくと、各偏微分は次のようになります。

まず $\frac{\partial \phi}{\partial x} = -2x e^{-r^2}$ を計算し、次の $x$ での偏微分を取ります。

$$ \frac{\partial^2 \phi}{\partial x^2} = (-2 + 4x^2) e^{-r^2} $$

同様に $\frac{\partial^2 \phi}{\partial y^2} = (-2 + 4y^2) e^{-r^2}$ です。2つを足して、

$$ \nabla^2 \phi = (4r^2 – 4) e^{-r^2} = 4(r^2 – 1) e^{-r^2} $$

$r < 1$(中心に近い部分)では $\nabla^2 \phi < 0$(山型 = 周囲より高い)、$r > 1$(外側)では $\nabla^2 \phi > 0$(周囲より低い)になります。

ラプラシアン∇²のヒートマップ:スカラー場と二階微分の空間分布

左の図が $\phi = e^{-r^2}$(ガウス型の山)で、右の図がそのラプラシアンです。右の図で $r \approx 1$ の円周が黒線(ゼロ等高線)として現れており、その内側が青($\nabla^2 \phi < 0$: 山の頂上付近)、外側が赤($\nabla^2 \phi > 0$: 裾野で周囲より低い)になっています。拡散方程式ではこの「青い領域」から熱が放出され、「赤い領域」に熱が流入します。


重要な恒等式

ベクトル解析で頻繁に使われる恒等式を3つ紹介します。これらは「組み合わせると必ずゼロになる」という性質で、電磁気学の理論構造(電場・磁場のポテンシャル表現)の根幹をなします。

恒等式1: $\nabla \times (\nabla \phi) = \bm{0}$(rot grad はゼロ)

スカラー場の勾配をとったベクトル場は、必ず渦なし場になります。

直感的な理由: 勾配 $\nabla \phi$ は「上り坂の方向」を示すベクトル場です。この場を一周してポテンシャルの変化を積分すると、「上って下りる」を繰り返すのでキャンセルして必ずゼロになります。これは「保存力(重力や電場)から仕事を取り出す永久機関は作れない」という物理の根本に対応しています。

数式での確認: $z$ 成分を計算すると

$$ \left[\nabla \times (\nabla \phi)\right]_z = \frac{\partial}{\partial x}\frac{\partial \phi}{\partial y} – \frac{\partial}{\partial y}\frac{\partial \phi}{\partial x} = \frac{\partial^2 \phi}{\partial x \partial y} – \frac{\partial^2 \phi}{\partial y \partial x} = 0 $$

混合偏微分の順序交換可能性(シュワルツの定理)からゼロになります。他の成分も同様です。

物理的応用: 電静ポテンシャル $V$ から電場を $\bm{E} = -\nabla V$ と定義すると、$\nabla \times \bm{E} = -\nabla \times (\nabla V) = \bm{0}$ が自動的に成立します(静電場は渦なし場)。

恒等式2: $\nabla \cdot (\nabla \times \bm{F}) = 0$(div rot はゼロ)

回転してできたベクトル場は、必ずソレノイダル(発散なし)になります。

直感的な理由: 回転 $\nabla \times \bm{F}$ は「渦の強さと軸」を表すベクトル場です。渦は閉じたループを形成し、始まった場所に戻ります。このような「閉じた流れ」からは湧き出しも吸い込みも生まれません。

物理的応用: 磁場 $\bm{B}$ には磁気単極子(モノポール)がないため $\nabla \cdot \bm{B} = 0$ が成立します。これはベクトルポテンシャル $\bm{A}$ を使って $\bm{B} = \nabla \times \bm{A}$ と書けることを示しており、上の恒等式から $\nabla \cdot \bm{B} = \nabla \cdot (\nabla \times \bm{A}) = 0$ が自動的に満たされます。

恒等式3: ベクトルラプラシアン

スカラーのラプラシアン $\nabla^2 \phi = \nabla \cdot (\nabla \phi)$ を拡張すると、ベクトル場 $\bm{F}$ のラプラシアンも定義できます。

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

この式はベクトル恒等式(ベクトル三重積の公式)から導かれ、電磁気学の波動方程式(マクスウェル方程式から磁場・電場のそれぞれの波動方程式を導出するとき)で登場します。

ベクトル恒等式の数値検証:rot grad=0とdiv rot=0を数値誤差レベルで確認

左の図は $\nabla \times (\nabla \phi)$ の $z$ 成分を数値計算したもので、ヒートマップ全体が $10^{-13}$ 程度(数値誤差のみ)の均一なゼロになっています。右の図は $\nabla \cdot (\nabla \times \bm{F})$ の数値計算で、同じく $10^{-17}$ 程度のゼロです。この結果は「理論上はまったくゼロ、数値誤差だけが残る」という恒等式の性質を定量的に確認しています。


LaTeX での書き方

論文やレポートでナブラ演算子を書くときのLaTeXコマンドをまとめます。これは「ナブラ 書き方」「grad 演算子 LaTeX」で検索した方向けのセクションです。

基本コマンド一覧

数式 LaTeXコード 用途
$\nabla$ \nabla ナブラ記号
$\nabla f$ \nabla f 勾配(grad)
$\nabla \cdot \bm{F}$ \nabla \cdot \bm{F} 発散(div)
$\nabla \times \bm{F}$ \nabla \times \bm{F} 回転(rot/curl)
$\nabla^2 \phi$ \nabla^2 \phi ラプラシアン
$\nabla^2 \phi$ \Delta \phi ラプラシアン(別記法)
$\text{grad}\,\phi$ \text{grad}\,\phi 英語表記
$\text{div}\,\bm{F}$ \text{div}\,\bm{F} 英語表記
$\text{rot}\,\bm{F}$ \text{rot}\,\bm{F} 日本語圏での回転
$\text{curl}\,\bm{F}$ \text{curl}\,\bm{F} 英語圏での回転

太字ベクトルの書き方

日本の教科書でよく使われる太字ベクトルには \bm{} コマンドを使います(bm パッケージが必要)。

\usepackage{bm}

% ベクトル場
\bm{F} = (F_x, F_y, F_z)

% ナブラ式
\nabla \cdot \bm{F} = \frac{\partial F_x}{\partial x} + \cdots

長い式の整形

導出が長くなる場合は align 環境を使います。

\nabla \times \bm{F}
= \begin{pmatrix}
  \dfrac{\partial F_z}{\partial y} - \dfrac{\partial F_y}{\partial z} \\[6pt]
  \dfrac{\partial F_x}{\partial z} - \dfrac{\partial F_z}{\partial x} \\[6pt]
  \dfrac{\partial F_y}{\partial x} - \dfrac{\partial F_x}{\partial y}
\end{pmatrix}

rot と curl の使い分け

日本では rot(rotation の略)、英語圏では curl が標準です。同じ演算子ですが、どちらを使うかは分野の慣習によります。数式では $\nabla \times \bm{F}$ と書けばどちらの読み方でも通じます。


円筒・球座標系での表式

ここまで直交座標系 $(x, y, z)$ でナブラを定義してきました。しかし実際の問題では、対称性に合わせた座標系を使うと計算が大幅に簡単になります。

なぜ座標系を変えるのか

円柱形の物体を流れる流体を計算するときは円筒座標、原点から広がる電磁波を扱うときは球座標が自然です。これらの座標系では $\nabla$ の式が変わります——偏微分の係数にスケール因子(metric coefficient)が入るためです。

3座標系(直交・円筒・球)におけるgrad・div・ラプラシアンの公式一覧

この図に3座標系の公式をまとめています。直交座標は最もシンプルで係数がすべて1ですが、円筒・球座標では $\frac{1}{r}$ や $\frac{1}{r^2}$ などの重みが付きます。これは「曲がった座標では同じ角度変化でも、半径が大きいほど実際の距離が大きい」という幾何学的な理由からです。

円筒座標 $(r, \theta, z)$ での公式

円筒座標では $x = r\cos\theta$、$y = r\sin\theta$、$z = z$ と変換します。

勾配:

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

$\theta$ 方向の項に $\frac{1}{r}$ が付くのは、「同じ $\Delta\theta$ でも半径 $r$ が大きいほど実際の距離が長くなる」ため、偏微分を実際の空間変化に換算する係数です。

発散:

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

ラプラシアン(最も使う場面が多い):

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

球座標 $(r, \theta, \varphi)$ での公式

球座標では $x = r\sin\theta\cos\varphi$、$y = r\sin\theta\sin\varphi$、$z = r\cos\theta$ と変換します($\theta$ は天頂角、$\varphi$ は方位角)。

勾配:

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

発散:

$$ \nabla \cdot \bm{F} = \frac{1}{r^2}\frac{\partial(r^2 F_r)}{\partial r} + \frac{1}{r\sin\theta}\frac{\partial(\sin\theta F_\theta)}{\partial \theta} + \frac{1}{r\sin\theta}\frac{\partial F_\varphi}{\partial \varphi} $$

ラプラシアン(物理でよく使う形):

$$ \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 \varphi^2} $$

球座標のラプラシアンは水素原子のシュレーディンガー方程式や点電荷の電位計算で頻出です。$f$ が $r$ だけの関数(球対称な場合)なら第2・第3項がゼロになり、

$$ \nabla^2 f = \frac{1}{r^2}\frac{d}{dr}\left(r^2\frac{df}{dr}\right) $$

という1変数の常微分方程式に帰着します。


電磁気学でのナブラ演算子

ナブラを最も巧みに活用している分野の一つが電磁気学です。マクスウェルの4本の方程式はすべて $\nabla$ を使って書かれています。

$$ \nabla \cdot \bm{E} = \frac{\rho}{\varepsilon_0}, \quad \nabla \cdot \bm{B} = 0 $$

$$ \nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t}, \quad \nabla \times \bm{B} = \mu_0 \bm{J} + \mu_0\varepsilon_0\frac{\partial \bm{E}}{\partial t} $$

これら4本を $\nabla$ の視点で解釈すると次のようになります。

  • $\nabla \cdot \bm{E} = \rho/\varepsilon_0$: 電場の発散は電荷密度 $\rho$ に比例する。電荷があるとそこから電場が「湧き出す」。
  • $\nabla \cdot \bm{B} = 0$: 磁場の発散はゼロ。磁気単極子は存在しない(磁場は常にループを閉じる)。
  • $\nabla \times \bm{E} = -\partial \bm{B}/\partial t$: 変化する磁場は電場の回転(渦)を生む(ファラデーの電磁誘導)。
  • $\nabla \times \bm{B} = \mu_0 \bm{J} + \cdots$: 電流と変化する電場が磁場の回転を生む(アンペールの法則)。

電磁気学でのナブラ:電場のdivと磁場のrotの直感図(マクスウェル方程式)

左の図は正電荷の周りの電場(流線図)で、点電荷から電場が湧き出している($\nabla \cdot \bm{E} > 0$)様子がはっきり見えます。右の図は直線電流の周りの磁場で、電流を中心に渦を巻いており($\nabla \times \bm{B} \neq 0$)、右ねじ方向の回転です。マクスウェル方程式がナブラ記号によってコンパクトに表現されている理由が、この図から直感的に理解できます。


Pythonで数値検証する

理論を数値計算で確認することで、定義が正しく理解できているか検証します。中心差分を使えば偏微分を数値的に近似できます。

数値微分の基本: 中心差分

1階偏微分の中心差分近似は次の式です。

$$ \frac{\partial f}{\partial x} \approx \frac{f(x+h, y) – f(x-h, y)}{2h} $$

ラプラシアン(2階偏微分の和)は次のように近似できます。

$$ \nabla^2 f \approx \frac{f(x+h,y) – 2f(x,y) + f(x-h,y)}{h^2} + \frac{f(x,y+h) – 2f(x,y) + f(x,y-h)}{h^2} $$

import numpy as np
import matplotlib.pyplot as plt

# ------
# テスト関数: phi = sin(x) * cos(y)
# 解析解: grad_x = cos(x)*cos(y), grad_y = -sin(x)*sin(y)
#         laplacian = -2 * sin(x) * cos(y)
# ------
dx = 0.05  # 差分幅(小さいほど精度上がるが丸め誤差も増える)
x_ = np.linspace(-2.5, 2.5, 80)
y_ = np.linspace(-2.5, 2.5, 80)
X, Y = np.meshgrid(x_, y_)

def phi_f(x, y):
    return np.sin(x) * np.cos(y)

phi_val = phi_f(X, Y)

# 数値勾配(中心差分)
grad_x_num = (phi_f(X+dx, Y) - phi_f(X-dx, Y)) / (2*dx)
grad_y_num = (phi_f(X, Y+dx) - phi_f(X, Y-dx)) / (2*dx)

# 解析的な勾配
grad_x_exact = np.cos(X) * np.cos(Y)
grad_y_exact = -np.sin(X) * np.sin(Y)

# 誤差
err_gx = np.abs(grad_x_num - grad_x_exact)
print(f"勾配 x成分の最大誤差: {err_gx.max():.2e}")

# 数値ラプラシアン(中心差分の2階版)
lap_num = (
    (phi_f(X+dx, Y) - 2*phi_val + phi_f(X-dx, Y)) / dx**2 +
    (phi_f(X, Y+dx) - 2*phi_val + phi_f(X, Y-dx)) / dx**2
)

# 解析的なラプラシアン: -sin(x)*cos(y) - sin(x)*cos(y) = -2*sin(x)*cos(y)
lap_exact = -2 * np.sin(X) * np.cos(Y)
err_lap = np.abs(lap_num - lap_exact)
print(f"ラプラシアンの最大誤差: {err_lap.max():.2e}")

# 恒等式検証: rot(grad(phi)) = 0 の z成分
dgrady_dx = (grad_y_num[:, 2:] - grad_y_num[:, :-2]) / (2*dx)  # (80, 78)
dgradx_dy = (grad_x_num[2:, :] - grad_x_num[:-2, :]) / (2*dx)  # (78, 80)
rot_z = dgrady_dx[1:-1, :] - dgradx_dy[:, 1:-1]  # (78, 78)
print(f"rot(grad(phi)) の最大絶対値: {np.max(np.abs(rot_z)):.2e}")

これを実行すると次のような出力が得られます。

勾配 x成分の最大誤差: 4.16e-04
ラプラシアンの最大誤差: 4.16e-04
rot(grad(phi)) の最大絶対値: 3.33e-14

勾配の誤差は $O(h^2) \approx (0.05)^2 = 2.5 \times 10^{-3}$ 程度の理論精度に対し、実測で約 $4 \times 10^{-4}$ に収まっています。ラプラシアンも同じ $h^2$ スケールの誤差です。そして恒等式 $\nabla \times (\nabla \phi) = 0$ については、$3.3 \times 10^{-14}$ という倍精度演算の丸め誤差レベルのみで、理論通りゼロが確認されます。

Pythonによる数値微分検証:中心差分で勾配とラプラシアンを計算し解析解と比較

左の図が数値勾配(矢印)とスカラー場(等高線)の重ね図、中央が数値勾配の解析解との誤差(最大 $4 \times 10^{-5}$ と非常に小さい)、右が数値ラプラシアンの分布です。中央の誤差図では均一に小さい誤差が分布しており、境界付近で若干大きくなる傾向が見えます——これは境界部分では差分ステンシルが端に寄るため精度が落ちることを反映しています。実際の偏微分方程式の数値解法(有限差分法)ではこの点に注意が必要です。


まとめ

本記事では、ナブラ演算子 $\nabla$ と、それから派生する4つの演算(grad・div・rot・ラプラシアン)を解説しました。

ナブラ演算子の3演算

演算 記号 入力 出力 物理的意味
勾配 $\nabla \phi$ スカラー場 ベクトル場 最急上昇方向と急さ
発散 $\nabla \cdot \bm{F}$ ベクトル場 スカラー場 湧き出し/吸い込みの強さ
回転 $\nabla \times \bm{F}$ ベクトル場 ベクトル場 渦の強さと回転軸

重要な恒等式

  • $\nabla \times (\nabla \phi) = \bm{0}$: 勾配の回転は常にゼロ(保存力 = 渦なし場)
  • $\nabla \cdot (\nabla \times \bm{F}) = 0$: 回転の発散は常にゼロ(磁場にモノポールなし)

ラプラシアン $\nabla^2 = \nabla \cdot \nabla$ は「周囲との差」を測り、熱方程式・波動方程式・シュレーディンガー方程式などに登場します。

LaTeX書き方: \nabla(ナブラ)、\nabla \cdot(div)、\nabla \times(rot)、\nabla^2(ラプラシアン)

これらの演算は、電磁気学(マクスウェル方程式)、流体力学(ナビエ・ストークス方程式)、量子力学(シュレーディンガー方程式)など、物理・工学の中核的な理論すべてに登場します。ナブラ演算子をマスターすることで、これらの理論の「言語」を読む力が身につきます。

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

画像なし
勾配・発散・回転の定義と直感的理解
grad・div・rotの定義と物理的直感を体系的にまとめた解説記事。ベクトル解析の基礎を固める。
画像なし
ガウスの発散定理の証明と応用
体積積分と面積分を結ぶガウスの定理。電磁気学や流体力学の理論的土台。