ベクトル恒等式の証明と物理的意味

ベクトル解析では、勾配・発散・回転の組み合わせに関する恒等式が数多く存在します。これらは電磁気学や流体力学で繰り返し登場し、マクスウェル方程式の導出や簡略化に不可欠です。

本記事では、主要なベクトル恒等式を成分計算で証明し、それぞれの物理的意味を解説します。

本記事の内容

  • 回転の勾配がゼロ: $\nabla\times(\nabla\phi) = \bm{0}$
  • 回転の発散がゼロ: $\nabla\cdot(\nabla\times\bm{A}) = 0$
  • BAC-CAB則: $\bm{A}\times(\bm{B}\times\bm{C})$
  • 積の微分に関する恒等式
  • 二重ナブラの恒等式
  • 電磁気学での応用例
  • Pythonでの可視化

前提知識

恒等式1: 回転の勾配はゼロ

定理

スカラー場 $\phi$ が2回連続微分可能ならば:

$$ \boxed{\nabla\times(\nabla\phi) = \bm{0}} $$

証明

$\nabla\phi = \left(\frac{\partial\phi}{\partial x},\, \frac{\partial\phi}{\partial y},\, \frac{\partial\phi}{\partial z}\right)$ に対して回転を計算します:

$$ \nabla\times(\nabla\phi) = \begin{vmatrix} \bm{e}_x & \bm{e}_y & \bm{e}_z \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \\ \frac{\partial\phi}{\partial x} & \frac{\partial\phi}{\partial y} & \frac{\partial\phi}{\partial z} \end{vmatrix} $$

$x$ 成分を計算すると:

$$ \frac{\partial}{\partial y}\frac{\partial\phi}{\partial z} – \frac{\partial}{\partial z}\frac{\partial\phi}{\partial y} = \frac{\partial^2\phi}{\partial y\partial z} – \frac{\partial^2\phi}{\partial z\partial y} = 0 $$

最後の等号は偏微分の交換可能性(シュワルツの定理)によります。$y$ 成分、$z$ 成分も同様にゼロとなるため、$\nabla\times(\nabla\phi) = \bm{0}$ が成立します。

物理的意味

保存力場(ポテンシャルの勾配で表せる場)は渦なしです。静電場 $\bm{E} = -\nabla V$ に対して $\nabla\times\bm{E} = \bm{0}$ は、静電場が渦を持たないことを意味します。

逆に、$\nabla\times\bm{F} = \bm{0}$ であるベクトル場 $\bm{F}$ はスカラーポテンシャル $\phi$ を用いて $\bm{F} = \nabla\phi$ と書けます(単連結領域において)。

恒等式2: 回転の発散はゼロ

定理

ベクトル場 $\bm{A}$ が2回連続微分可能ならば:

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

証明

$\bm{A} = (A_x, A_y, A_z)$ の回転は:

$$ \nabla\times\bm{A} = \left(\frac{\partial A_z}{\partial y} – \frac{\partial A_y}{\partial z},\, \frac{\partial A_x}{\partial z} – \frac{\partial A_z}{\partial x},\, \frac{\partial A_y}{\partial x} – \frac{\partial A_x}{\partial y}\right) $$

この発散を取ると:

$$ \nabla\cdot(\nabla\times\bm{A}) = \frac{\partial}{\partial x}\left(\frac{\partial A_z}{\partial y} – \frac{\partial A_y}{\partial z}\right) + \frac{\partial}{\partial y}\left(\frac{\partial A_x}{\partial z} – \frac{\partial A_z}{\partial x}\right) + \frac{\partial}{\partial z}\left(\frac{\partial A_y}{\partial x} – \frac{\partial A_x}{\partial y}\right) $$

展開すると6つの項が現れます:

$$ = \frac{\partial^2 A_z}{\partial x\partial y} – \frac{\partial^2 A_y}{\partial x\partial z} + \frac{\partial^2 A_x}{\partial y\partial z} – \frac{\partial^2 A_z}{\partial y\partial x} + \frac{\partial^2 A_y}{\partial z\partial x} – \frac{\partial^2 A_x}{\partial z\partial y} $$

偏微分の交換により、第1項と第4項、第2項と第5項、第3項と第6項がそれぞれ打ち消し合い、結果はゼロです。

物理的意味

磁場 $\bm{B} = \nabla\times\bm{A}$(ベクトルポテンシャル $\bm{A}$)に対して $\nabla\cdot\bm{B} = 0$ は自動的に満たされます。これは磁気単極子が存在しないことに対応します。

恒等式3: BAC-CAB則

定理

3つのベクトル $\bm{A}$, $\bm{B}$, $\bm{C}$ に対して:

$$ \boxed{\bm{A}\times(\bm{B}\times\bm{C}) = \bm{B}(\bm{A}\cdot\bm{C}) – \bm{C}(\bm{A}\cdot\bm{B})} $$

右辺の頭文字から BAC-CAB則(バック・キャブ則)と呼ばれます。

証明

$\bm{A} = (A_1, A_2, A_3)$, $\bm{B} = (B_1, B_2, B_3)$, $\bm{C} = (C_1, C_2, C_3)$ として、$x$ 成分を計算します。

まず $\bm{B}\times\bm{C}$ の成分は:

$$ \bm{B}\times\bm{C} = (B_2C_3 – B_3C_2,\; B_3C_1 – B_1C_3,\; B_1C_2 – B_2C_1) $$

$\bm{A}\times(\bm{B}\times\bm{C})$ の $x$ 成分は:

$$ [\bm{A}\times(\bm{B}\times\bm{C})]_x = A_2(B_1C_2 – B_2C_1) – A_3(B_3C_1 – B_1C_3) $$

$$ = A_2B_1C_2 – A_2B_2C_1 – A_3B_3C_1 + A_3B_1C_3 $$

$$ = B_1(A_2C_2 + A_3C_3) – C_1(A_2B_2 + A_3B_3) $$

$A_1C_1$ と $A_1B_1$ を加えて引くと:

$$ = B_1(A_1C_1 + A_2C_2 + A_3C_3) – C_1(A_1B_1 + A_2B_2 + A_3B_3) $$

$$ = B_1(\bm{A}\cdot\bm{C}) – C_1(\bm{A}\cdot\bm{B}) $$

これは $[\bm{B}(\bm{A}\cdot\bm{C}) – \bm{C}(\bm{A}\cdot\bm{B})]_x$ に一致します。$y$, $z$ 成分も同様に示せます。

物理的意味

BAC-CAB則はローレンツ力の変換や、ベクトルの二重外積を含む計算で頻出します。例えば、荷電粒子の運動方程式の変形に用いられます。

恒等式4: 積の微分に関する恒等式

スカラー場とベクトル場の積

$$ \boxed{\nabla\times(\phi\bm{A}) = (\nabla\phi)\times\bm{A} + \phi(\nabla\times\bm{A})} $$

$$ \boxed{\nabla\cdot(\phi\bm{A}) = (\nabla\phi)\cdot\bm{A} + \phi(\nabla\cdot\bm{A})} $$

発散の積の法則の証明

$\nabla\cdot(\phi\bm{A})$ の $x$ 成分への寄与を計算します:

$$ \frac{\partial}{\partial x}(\phi A_x) = \frac{\partial\phi}{\partial x}A_x + \phi\frac{\partial A_x}{\partial x} $$

$y$, $z$ 成分も同様に計算して合計すると:

$$ \nabla\cdot(\phi\bm{A}) = \left(\frac{\partial\phi}{\partial x}A_x + \frac{\partial\phi}{\partial y}A_y + \frac{\partial\phi}{\partial z}A_z\right) + \phi\left(\frac{\partial A_x}{\partial x} + \frac{\partial A_y}{\partial y} + \frac{\partial A_z}{\partial z}\right) $$

$$ = (\nabla\phi)\cdot\bm{A} + \phi(\nabla\cdot\bm{A}) $$

ベクトル場同士の外積の発散

$$ \boxed{\nabla\cdot(\bm{A}\times\bm{B}) = \bm{B}\cdot(\nabla\times\bm{A}) – \bm{A}\cdot(\nabla\times\bm{B})} $$

この恒等式はポインティングベクトル $\bm{S} = \bm{E}\times\bm{H}$ の発散を計算する際に直接使われます。

恒等式5: 二重ナブラの恒等式

curl curl の公式

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

ここで $\nabla^2\bm{A}$ はベクトルラプラシアンです。

証明($x$ 成分)

$\nabla\times\bm{A}$ を $\bm{B} = (B_x, B_y, B_z)$ とおくと:

$$ B_x = \frac{\partial A_z}{\partial y} – \frac{\partial A_y}{\partial z}, \quad B_y = \frac{\partial A_x}{\partial z} – \frac{\partial A_z}{\partial x}, \quad B_z = \frac{\partial A_y}{\partial x} – \frac{\partial A_x}{\partial y} $$

$[\nabla\times\bm{B}]_x$ を計算します:

$$ [\nabla\times(\nabla\times\bm{A})]_x = \frac{\partial B_z}{\partial y} – \frac{\partial B_y}{\partial z} $$

$$ = \frac{\partial}{\partial y}\left(\frac{\partial A_y}{\partial x} – \frac{\partial A_x}{\partial y}\right) – \frac{\partial}{\partial z}\left(\frac{\partial A_x}{\partial z} – \frac{\partial A_z}{\partial x}\right) $$

$$ = \frac{\partial^2 A_y}{\partial y\partial x} – \frac{\partial^2 A_x}{\partial y^2} – \frac{\partial^2 A_x}{\partial z^2} + \frac{\partial^2 A_z}{\partial z\partial x} $$

$\frac{\partial^2 A_x}{\partial x^2}$ を加えて引くと:

$$ = \frac{\partial}{\partial x}\left(\frac{\partial A_x}{\partial x} + \frac{\partial A_y}{\partial y} + \frac{\partial A_z}{\partial z}\right) – \left(\frac{\partial^2 A_x}{\partial x^2} + \frac{\partial^2 A_x}{\partial y^2} + \frac{\partial^2 A_x}{\partial z^2}\right) $$

$$ = [\nabla(\nabla\cdot\bm{A})]_x – [\nabla^2\bm{A}]_x $$

物理的意味

電磁波の方程式の導出で中心的な役割を果たします。マクスウェル方程式から:

$$ \nabla\times(\nabla\times\bm{E}) = -\mu_0\epsilon_0\frac{\partial^2\bm{E}}{\partial t^2} $$

左辺に curl curl の公式を適用し、$\nabla\cdot\bm{E} = 0$(電荷のない領域)を使うと:

$$ \nabla^2\bm{E} = \mu_0\epsilon_0\frac{\partial^2\bm{E}}{\partial t^2} $$

これが波動方程式であり、光速 $c = 1/\sqrt{\mu_0\epsilon_0}$ が導かれます。

恒等式の一覧表

整理すると、以下のベクトル恒等式が特に重要です:

恒等式 名称
$\nabla\times(\nabla\phi) = \bm{0}$ 勾配の回転はゼロ
$\nabla\cdot(\nabla\times\bm{A}) = 0$ 回転の発散はゼロ
$\bm{A}\times(\bm{B}\times\bm{C}) = \bm{B}(\bm{A}\cdot\bm{C}) – \bm{C}(\bm{A}\cdot\bm{B})$ BAC-CAB則
$\nabla\cdot(\phi\bm{A}) = (\nabla\phi)\cdot\bm{A} + \phi(\nabla\cdot\bm{A})$ 発散の積の法則
$\nabla\times(\phi\bm{A}) = (\nabla\phi)\times\bm{A} + \phi(\nabla\times\bm{A})$ 回転の積の法則
$\nabla\cdot(\bm{A}\times\bm{B}) = \bm{B}\cdot(\nabla\times\bm{A}) – \bm{A}\cdot(\nabla\times\bm{B})$ 外積の発散
$\nabla\times(\nabla\times\bm{A}) = \nabla(\nabla\cdot\bm{A}) – \nabla^2\bm{A}$ curl curl の公式

Pythonでの可視化

恒等式 $\nabla\times(\nabla\phi) = \bm{0}$ を数値的に検証します。

import numpy as np
import matplotlib.pyplot as plt

# 2次元グリッド
x = np.linspace(-2, 2, 40)
y = np.linspace(-2, 2, 40)
X, Y = np.meshgrid(x, y)
dx = x[1] - x[0]
dy = y[1] - y[0]

# スカラー場 φ = x^2 y - y^3
phi = X**2 * Y - Y**3

# 勾配 ∇φ の解析解
grad_x = 2*X*Y
grad_y = X**2 - 3*Y**2

# curl(∇φ) の z成分を数値微分で計算
# (∂(grad_y)/∂x - ∂(grad_x)/∂y)
curl_z = np.gradient(grad_y, dx, axis=1) - np.gradient(grad_x, dy, axis=0)

fig, axes = plt.subplots(1, 3, figsize=(18, 5))

# (1) スカラー場 φ
c1 = axes[0].contourf(X, Y, phi, levels=20, cmap='RdBu_r')
axes[0].set_title(r'Scalar field $\phi = x^2 y - y^3$', fontsize=13)
axes[0].set_xlabel('$x$'); axes[0].set_ylabel('$y$')
plt.colorbar(c1, ax=axes[0])

# (2) 勾配場 ∇φ
axes[1].quiver(X[::3,::3], Y[::3,::3], grad_x[::3,::3], grad_y[::3,::3],
               color='navy', alpha=0.7)
axes[1].set_title(r'Gradient $\nabla\phi$', fontsize=13)
axes[1].set_xlabel('$x$'); axes[1].set_ylabel('$y$')
axes[1].set_aspect('equal')

# (3) curl(∇φ) ≈ 0 の検証
c3 = axes[2].contourf(X, Y, curl_z, levels=20, cmap='RdBu_r')
axes[2].set_title(r'$[\nabla\times(\nabla\phi)]_z \approx 0$', fontsize=13)
axes[2].set_xlabel('$x$'); axes[2].set_ylabel('$y$')
plt.colorbar(c3, ax=axes[2])

plt.tight_layout()
plt.savefig('vector_identities.png', dpi=150, bbox_inches='tight')
plt.show()

print(f"curl(grad φ) の最大絶対値: {np.max(np.abs(curl_z)):.2e}")
print("(数値誤差の範囲でゼロに近い値)")

次に、$\nabla\cdot(\nabla\times\bm{A}) = 0$ を数値的に確認します。

import numpy as np
import matplotlib.pyplot as plt

# 3次元グリッド(z=0断面で可視化)
x = np.linspace(-2, 2, 50)
y = np.linspace(-2, 2, 50)
z = np.linspace(-2, 2, 50)
X, Y, Z = np.meshgrid(x, y, z, indexing='ij')
dx = x[1] - x[0]

# ベクトル場 A = (y*z, x*z, x*y)
Ax = Y * Z
Ay = X * Z
Az = X * Y

# curl(A) を数値微分で計算
curl_x = np.gradient(Az, dx, axis=1) - np.gradient(Ay, dx, axis=2)
curl_y = np.gradient(Ax, dx, axis=2) - np.gradient(Az, dx, axis=0)
curl_z = np.gradient(Ay, dx, axis=0) - np.gradient(Ax, dx, axis=1)

# div(curl(A)) を数値微分で計算
div_curl = (np.gradient(curl_x, dx, axis=0)
          + np.gradient(curl_y, dx, axis=1)
          + np.gradient(curl_z, dx, axis=2))

# z=0 断面(中央スライス)
mid = len(z) // 2
Xp, Yp = np.meshgrid(x, y, indexing='ij')

fig, axes = plt.subplots(1, 2, figsize=(14, 5))

# (1) |curl(A)| の z=0 断面
curl_mag = np.sqrt(curl_x[:,:,mid]**2 + curl_y[:,:,mid]**2 + curl_z[:,:,mid]**2)
c1 = axes[0].contourf(Xp, Yp, curl_mag, levels=20, cmap='viridis')
axes[0].set_title(r'$|\nabla\times\mathbf{A}|$ at $z=0$', fontsize=13)
axes[0].set_xlabel('$x$'); axes[0].set_ylabel('$y$')
plt.colorbar(c1, ax=axes[0])

# (2) div(curl(A)) ≈ 0 の検証
c2 = axes[1].contourf(Xp, Yp, div_curl[:,:,mid], levels=20, cmap='RdBu_r')
axes[1].set_title(r'$\nabla\cdot(\nabla\times\mathbf{A}) \approx 0$', fontsize=13)
axes[1].set_xlabel('$x$'); axes[1].set_ylabel('$y$')
plt.colorbar(c2, ax=axes[1])

plt.tight_layout()
plt.savefig('div_curl_zero.png', dpi=150, bbox_inches='tight')
plt.show()

print(f"div(curl A) の最大絶対値: {np.max(np.abs(div_curl)):.2e}")

まとめ

本記事では、主要なベクトル恒等式を証明し、その物理的意味を解説しました。

  • $\nabla\times(\nabla\phi) = \bm{0}$: 保存力場は渦なし(静電場の性質)
  • $\nabla\cdot(\nabla\times\bm{A}) = 0$: 磁気単極子の非存在
  • BAC-CAB則: 二重外積の展開公式
  • 積の微分則: スカラー場・ベクトル場の積に対する勾配・発散・回転
  • curl curl の公式: 電磁波の波動方程式の導出に不可欠

これらの恒等式は、すべて成分計算で地道に証明できます。偏微分の交換可能性(シュワルツの定理)が本質的な役割を果たしていることを理解しておきましょう。

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