磁石をコイルに近づけたり遠ざけたりすると、コイルに電流が流れます。これがファラデーの電磁誘導の法則です。数学的には「磁場の時間変化(面積分)がコイルに沿った電場の循環(線積分)を生む」と記述されますが、なぜ面積分と線積分が等しくなるのでしょうか。
この問いに答えるのがストークスの定理(Stokes’ theorem)です。「ベクトル場の回転の面積分は、その境界曲線に沿った線積分に等しい」という美しい関係を述べます。
$$ \oint_C \bm{F} \cdot d\bm{r} = \iint_S (\nabla \times \bm{F}) \cdot d\bm{S} $$
ストークスの定理は以下の分野で中心的な役割を果たします。
- 電磁気学: ファラデーの法則、アンペールの法則の積分形と微分形の等価性
- 流体力学: 循環と渦度の関係(ケルビンの循環定理)
- 微分幾何学: ド・ラーム コホモロジーの基礎
- 数値計算: 有限要素法におけるエッジ要素の理論的基盤
本記事の内容
- ストークスの定理の直感的な理解
- 線積分と面積分の復習
- 平面領域での証明
- 一般曲面への拡張
- 電磁気学と流体力学での応用
- Pythonによる数値検証
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
- 勾配・発散・回転の定義と直感的理解 — 回転の定義と性質
- ガウスの発散定理の証明と応用 — 姉妹定理
- 線積分と面積分 — 積分の定義
ストークスの定理とは — 直感的な理解
水車のアナロジー
ストークスの定理を直感的に理解するために、川の流れに多数の小さな水車を浮かべる場面を想像してください。
各水車は流れの「局所的な回転」を検出します。これが $\nabla \times \bm{F}$(回転)の各点での値です。ある閉曲線 $C$ で囲まれた領域 $S$ 全体にびっしり水車を敷き詰めたとき、全ての水車の回転量の合計(面積分)は何を表すでしょうか。
隣り合う水車同士の接触部分では、一方の回転と他方の回転が逆向きに寄与するため相殺します。相殺されずに残るのは、領域の境界 $C$ 上にある水車の外側の辺だけです。この外側の辺に沿った寄与の合計が、境界曲線に沿った線積分(循環)です。
つまり、「内部の局所的な回転の総和 = 境界に沿った大域的な循環」がストークスの定理の本質です。
もう少し具体的に言えば、水車のアナロジーにおいて隣り合う2つの水車の接触部分を考えます。左側の水車の右辺は上向きに回り、右側の水車の左辺は下向きに回ります。この逆向きの寄与が互いに打ち消し合うのです。この相殺が内部のすべての隣接部分で起こるため、最終的に残るのは領域の最も外側の辺に沿った寄与だけとなります。この「内部相殺」のメカニズムは、ガウスの発散定理における隣接する箱の共有面での相殺と本質的に同じです。
回転の物理的意味の再確認
ストークスの定理をより深く理解するために、回転 $\nabla \times \bm{F}$ の意味を再確認しておきましょう。点 $\bm{r}_0$ における回転の $\hat{\bm{n}}$ 方向成分は
$$ (\nabla \times \bm{F}) \cdot \hat{\bm{n}} = \lim_{\Delta A \to 0} \frac{1}{\Delta A} \oint_{\Delta C} \bm{F} \cdot d\bm{r} $$
で定義されます。ここで $\Delta C$ は法線 $\hat{\bm{n}}$ に直交する微小な閉曲線、$\Delta A$ はその囲む面積です。つまり回転とは「単位面積あたりの循環」であり、流体が局所的にどれだけ回転しているかを定量化したものです。
この定義をそのまま有限の面に拡張すると、微小面での循環 $(\nabla \times \bm{F}) \cdot \hat{\bm{n}} \cdot \Delta A$ を面全体にわたって足し合わせることで大域的な循環が得られます。これがストークスの定理のエッセンスです。
ガウスの発散定理との対比
| ガウスの発散定理 | ストークスの定理 | |
|---|---|---|
| 微分演算子 | 発散 $\nabla \cdot \bm{F}$ | 回転 $\nabla \times \bm{F}$ |
| 内部の積分 | 体積積分 $\int_V$ | 面積分 $\iint_S$ |
| 境界の積分 | 面積分 $\oint_S$ | 線積分 $\oint_C$ |
| 次元の対応 | 3次元 → 2次元 | 2次元 → 1次元 |
どちらも「内部での微分演算の積分 = 境界での元の量の積分」という同じ構造を持っています。次元の対応関係に注目すると、ガウスの発散定理は3次元の内部から2次元の境界へ、ストークスの定理は2次元の内部から1次元の境界へと次元を1つ下げる操作を行っていることがわかります。
歴史的にはジョージ・ガブリエル・ストークス(1819-1903)が1854年のケンブリッジ大学のスミス賞の試験問題としてこの定理を出題したことで広く知られるようになりましたが、ケルヴィン卿(ウィリアム・トムソン)が1850年にストークスへの手紙でこの定理を述べたのが最初とされています。
それでは、線積分の復習から始めて、定理の証明に入りましょう。
線積分の復習
ベクトル場の線積分
曲線 $C$ に沿ったベクトル場 $\bm{F}$ の線積分は
$$ \int_C \bm{F} \cdot d\bm{r} = \int_a^b \bm{F}(\bm{r}(t)) \cdot \bm{r}'(t)\, dt $$
ここで $\bm{r}(t)$($a \leq t \leq b$)は曲線のパラメータ表示です。
物理的には、$\bm{F}$ が力の場であれば、線積分は曲線に沿った仕事量です。$\bm{F}$ が電場であれば、線積分は起電力(EMF)です。
線積分の値は、ベクトル場の曲線の接線方向成分だけが寄与します。ベクトル場が曲線に対して垂直な方向を向いている部分では $\bm{F} \cdot d\bm{r} = 0$ となるため、その部分は線積分に寄与しません。これは面積分において、ベクトル場の法線方向成分のみがフラックスに寄与するのと類似した構造です。
循環
閉曲線 $C$ に沿った線積分
$$ \oint_C \bm{F} \cdot d\bm{r} $$
を循環(circulation)と呼びます。向きは右手の法則に従い、面 $S$ の法線方向に右ネジが進む方向(反時計回り)を正とします。
循環がゼロでないとき、$\bm{F}$ は閉曲線に沿って「ぐるぐる回る」成分を持っています。循環の値が大きいほど、ベクトル場の回転成分が強いことを意味します。
循環の概念は流体力学で特に重要です。翼周りの流れにおいて、翼の断面を囲む閉曲線に沿った循環 $\Gamma$ が揚力を決定するというクッタ・ジューコフスキーの定理($L = \rho V \Gamma$、$L$ は単位スパンあたりの揚力)は、航空工学の基礎中の基礎です。
線積分と循環の概念を確認したところで、ストークスの定理を正式に定式化しましょう。
ストークスの定理の定式化
定理の正式な記述
ストークスの定理: $S$ を $\mathbb{R}^3$ 内の区分的に滑らかな向き付けられた曲面で、その境界 $C = \partial S$ が区分的に滑らかな閉曲線であるとする。$\bm{F}$ が $S$ を含む開集合上で $C^1$ 級のベクトル場ならば
$$ \begin{equation} \oint_C \bm{F} \cdot d\bm{r} = \iint_S (\nabla \times \bm{F}) \cdot d\bm{S} \end{equation} $$
ここで $C$ の向きと $S$ の法線の向きは右手の法則で整合している。
成分表示
$\bm{F} = (P, Q, R)$ と書くと
$$ \oint_C (P\,dx + Q\,dy + R\,dz) = \iint_S \left[\left(\frac{\partial R}{\partial y} – \frac{\partial Q}{\partial z}\right) dy\,dz + \left(\frac{\partial P}{\partial z} – \frac{\partial R}{\partial x}\right) dz\,dx + \left(\frac{\partial Q}{\partial x} – \frac{\partial P}{\partial y}\right) dx\,dy\right] $$
ここで注意すべき重要な点は、「$C$ の向き」と「$S$ の法線の向き」が整合している必要があることです。具体的には、右手の親指を法線 $\hat{\bm{n}}$ の方向に向けたとき、残りの4本の指が曲がる方向が $C$ の正の向きです。この整合性が崩れると、定理の等式に符号の誤りが生じます。
それでは、最も基本的な平面領域から証明を始めましょう。
平面領域での証明
$xy$ 平面上での証明
まず $S$ が $xy$ 平面上の領域 $D$ である場合を証明します。$\bm{F} = (P(x,y), Q(x,y), 0)$ とすると
$$ \nabla \times \bm{F} = \left(0, 0, \frac{\partial Q}{\partial x} – \frac{\partial P}{\partial y}\right) $$
面の法線は $\hat{\bm{n}} = (0, 0, 1)$ なので
$$ \iint_D (\nabla \times \bm{F}) \cdot \hat{\bm{n}}\, dA = \iint_D \left(\frac{\partial Q}{\partial x} – \frac{\partial P}{\partial y}\right) dA $$
これはグリーンの定理そのものです。
$$ \oint_C (P\,dx + Q\,dy) = \iint_D \left(\frac{\partial Q}{\partial x} – \frac{\partial P}{\partial y}\right) dA $$
グリーンの定理を証明すれば、$xy$ 平面でのストークスの定理が得られます。
$P$ の項について示します。$D$ が $y$ 軸方向に単純な領域($g_1(x) \leq y \leq g_2(x)$、$a \leq x \leq b$)の場合
右辺の $P$ 部分は
$$ -\iint_D \frac{\partial P}{\partial y}\, dA = -\int_a^b \left[\int_{g_1(x)}^{g_2(x)} \frac{\partial P}{\partial y}\, dy\right] dx $$
内側の積分に微分積分学の基本定理を適用すると
$$ = -\int_a^b [P(x, g_2(x)) – P(x, g_1(x))]\, dx $$
$$ = \int_a^b P(x, g_1(x))\, dx – \int_a^b P(x, g_2(x))\, dx $$
これは境界 $\partial D$ に沿った $\oint_C P\,dx$ に等しいことが、$C$ の向き(反時計回り)を考慮すると確認できます。下側の曲線 $y = g_1(x)$ は $x$ の正方向($a \to b$)に進み、上側の曲線 $y = g_2(x)$ は $x$ の負方向($b \to a$)に進むためです。
$Q$ の項も同様に、$x$ 軸方向に単純な領域で示されます。$\square$
証明のポイント
この証明の核心は、ガウスの発散定理の証明と同じく、微分積分学の基本定理を一方向に適用して「偏微分の積分 → 境界値の差」に変換する点です。違いは次元が1つ下がっていることで、体積積分ではなく面積分から出発し、面の境界(曲線)での値に帰着させています。
また、領域を $y$ 方向に単純な形($g_1(x) \leq y \leq g_2(x)$)と仮定しましたが、一般の領域は複数のこのような単純領域に分割でき、隣り合う部分の共有辺での線積分が相殺するため、全体として定理が成立します。
一般曲面への拡張
一般の曲面 $S$ に対する証明は、パラメータ表示 $\bm{r}(u, v)$ を使って $S$ 上の積分を $(u, v)$ 平面上の積分に変換し、平面上のグリーンの定理を適用することで得られます。
曲面 $S$ が $\bm{r}: D \subset \mathbb{R}^2 \to \mathbb{R}^3$ でパラメータ表示されるとき
面積分側: $\iint_S (\nabla \times \bm{F}) \cdot d\bm{S} = \iint_D (\nabla \times \bm{F}) \cdot (\bm{r}_u \times \bm{r}_v)\, du\, dv$
線積分側: $\oint_C \bm{F} \cdot d\bm{r} = \oint_{\partial D} \bm{F}(\bm{r}(u,v)) \cdot (\bm{r}_u\, du + \bm{r}_v\, dv)$
パラメータ平面上でグリーンの定理を適用し、計算を追跡すると両者が一致します。
このアプローチの美しさは、一般の曲面での問題をパラメータ変換によって平面上のグリーンの定理に帰着させる点にあります。曲面がどんなに複雑な形をしていても、パラメータ表示さえ存在すれば(つまり曲面が向き付け可能であれば)、この方法で証明できます。ただし、メビウスの帯のような向き付け不可能な曲面ではストークスの定理は適用できません。
証明の要点を理解したところで、ストークスの定理の重要な帰結と応用を見ていきましょう。
重要な帰結
面の独立性
ストークスの定理の直接的な帰結として、$\oint_C \bm{F} \cdot d\bm{r}$ の値は面 $S$ の選び方によらない($\partial S = C$ を固定した場合)ことがわかります。これは $\nabla \times \bm{F} = \bm{0}$ のとき特に重要で、この場合あらゆる面に対して面積分がゼロになるので、線積分もゼロになります。
保存力場の特徴付け
$\bm{F}$ が保存力場($\bm{F} = \nabla f$ となるスカラーポテンシャル $f$ が存在する)であるための必要十分条件は
$$ \nabla \times \bm{F} = \bm{0} \quad \Leftrightarrow \quad \oint_C \bm{F} \cdot d\bm{r} = 0 \text{ (全ての閉曲線 } C \text{ で)} $$
これは $\nabla \times (\nabla f) = \bm{0}$ から直ちに従います。
逆に、$\nabla \times \bm{F} = \bm{0}$ が成り立つとき、スカラーポテンシャルを
$$ f(\bm{r}) = \int_{\bm{r}_0}^{\bm{r}} \bm{F} \cdot d\bm{r}’ $$
で構成できます。ストークスの定理により、この線積分は経路に依存しない(任意の2つの経路による値の差は、2つの経路で囲まれた面上での $\nabla \times \bm{F}$ の面積分に等しく、これがゼロ)ため、$f$ は well-defined です。重力場や静電場がポテンシャルを持つのはまさにこの理由によります。
ベクトルポテンシャル
$\bm{F}$ が $\nabla \cdot \bm{F} = 0$(発散がゼロ)を満たすとき、$\bm{F} = \nabla \times \bm{A}$ となるベクトルポテンシャル $\bm{A}$ が(ある条件のもとで)存在します。電磁気学の磁場 $\bm{B}$($\nabla \cdot \bm{B} = 0$)に対するベクトルポテンシャル $\bm{A}$($\bm{B} = \nabla \times \bm{A}$)がこの典型例です。ベクトルポテンシャルは一意には定まらず、$\bm{A}’ = \bm{A} + \nabla \chi$ としても $\bm{B} = \nabla \times \bm{A}’$ が成り立ちます。この自由度をゲージ自由度と呼び、クーロンゲージやローレンツゲージなどの条件を課して $\bm{A}$ を一意に定めます。
これらの帰結を踏まえた上で、ストークスの定理の物理学への応用を具体的に見ていきましょう。
応用1: ファラデーの電磁誘導の法則
積分形から微分形へ
ファラデーの法則の積分形は
$$ \oint_C \bm{E} \cdot d\bm{r} = -\frac{d}{dt}\iint_S \bm{B} \cdot d\bm{S} $$
左辺にストークスの定理を適用すると
$$ \iint_S (\nabla \times \bm{E}) \cdot d\bm{S} = -\iint_S \frac{\partial \bm{B}}{\partial t} \cdot d\bm{S} $$
任意の面 $S$ で成り立つので
$$ \nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t} $$
これがマクスウェル方程式の第3式(ファラデーの法則の微分形)です。
この導出は、ストークスの定理が積分形の物理法則を微分形に変換する際の標準的な手法であることをよく示しています。積分形は物理的な直感に富み実験と直結しますが、微分形は各点での局所的な関係を表すため偏微分方程式として解くのに適しています。ストークスの定理はこの2つの表現を結ぶ橋渡し役です。
電磁気学での応用を見たところで、次に流体力学における重要な応用を確認しましょう。
応用2: 流体力学 — 循環と渦度
流体力学では、速度場 $\bm{v}$ の回転 $\bm{\omega} = \nabla \times \bm{v}$ を渦度(vorticity)と呼びます。ストークスの定理より
$$ \Gamma = \oint_C \bm{v} \cdot d\bm{r} = \iint_S \bm{\omega} \cdot d\bm{S} $$
ここで $\Gamma$ は循環です。つまり、循環は面を通過する渦度の面積分(渦の強さの合計)に等しいです。
この関係は流体力学において極めて重要です。例えば、非粘性・非圧縮の流体において、ケルビンの循環定理は「物質曲線に沿った循環は時間変化しない」ことを述べます。これはストークスの定理を通じて、渦線が流体とともに動く(凍結定理)ことと等価であり、渦力学の基礎となっています。
また、竜巻やハリケーンの構造を理解する上でも、渦度と循環の関係は本質的です。中心付近の強い渦度を持つ領域を囲む閉曲線に沿った循環は、その領域内の渦度の面積分に等しいため、渦の強さを定量的に評価することができます。
ストークスの定理の理論的な応用を見てきたところで、次にPythonを使って定理の成立を数値的に検証しましょう。
Pythonでの数値検証
基本的な検証
具体的なベクトル場でストークスの定理を数値的に検証します。
import numpy as np
from scipy import integrate
# ベクトル場: F = (y, -x, z^2)
# curl F = (0 - 0, 0 - 0, -1 - 1) = (0, 0, -2)
# 曲面: xy平面上の単位円盤 (z=0)
# 境界: 単位円 C
# --- 線積分: ∮_C F · dr ---
# パラメータ: r(t) = (cos t, sin t, 0), t ∈ [0, 2π]
# dr = (-sin t, cos t, 0) dt
# F(r(t)) = (sin t, -cos t, 0)
# F · dr = sin t * (-sin t) + (-cos t) * cos t = -sin²t - cos²t = -1
def line_integrand(t):
return -1.0 # F · dr/dt = -1
line_integral, _ = integrate.quad(line_integrand, 0, 2*np.pi)
# --- 面積分: ∬_S (curl F) · dS ---
# curl F = (0, 0, -2), dS = (0, 0, 1) dA (上向き法線)
# (curl F) · dS = -2 dA
# ∬ = -2 * π * 1² = -2π
def surf_integrand(r, theta):
return -2.0 * r # -2 * r dr dθ(極座標のヤコビアン)
surf_integral, _ = integrate.dblquad(
surf_integrand,
0, 2*np.pi, # theta
0, 1 # r
)
print("=== ストークスの定理の検証 ===")
print(f"F = (y, -x, z²), S = xy平面上の単位円盤")
print(f"\n線積分 ∮ F · dr = {line_integral:.8f}")
print(f"面積分 ∬ (curl F) · dS = {surf_integral:.8f}")
print(f"理論値 = -2π ≈ {-2*np.pi:.8f}")
print(f"差 = {abs(line_integral - surf_integral):.2e}")
上のコードでは、ベクトル場 $\bm{F} = (y, -x, z^2)$ に対して、$xy$ 平面上の単位円盤(面 $S$)と単位円(境界 $C$)でストークスの定理を検証しています。回転は $\nabla \times \bm{F} = (0, 0, -2)$ であり、面積分は $-2\pi$、線積分も $-2\pi$ となって完全に一致しています。
非平面の曲面での検証
平面でない曲面でもストークスの定理が成立することを確認します。
import numpy as np
from scipy import integrate
import matplotlib.pyplot as plt
# ベクトル場: F = (-y^2, x, z^2)
# curl F = (0 - 0, 0 - 2z, 1 + 2y) = (0, -2z, 1 + 2y)
# 曲面: z = 1 - x² - y² (z ≥ 0) の上半分(放物面)
# 境界: z = 0 での円 x² + y² = 1
# --- 線積分 ---
def line_integrand_x(t):
x, y = np.cos(t), np.sin(t)
dx, dy = -np.sin(t), np.cos(t)
Fx = -y**2
Fy = x
return Fx * dx + Fy * dy # z=0でdz=0
line_int, _ = integrate.quad(line_integrand_x, 0, 2*np.pi)
# --- 面積分(放物面上)---
# パラメータ: r(r, θ) = (r cosθ, r sinθ, 1 - r²)
# r_r = (cosθ, sinθ, -2r)
# r_θ = (-r sinθ, r cosθ, 0)
# r_r × r_θ = (2r² cosθ, 2r² sinθ, r) (外向き = 上向き)
def surf_integrand_paraboloid(r, theta):
x = r * np.cos(theta)
y = r * np.sin(theta)
z = 1 - r**2
# curl F at (x, y, z)
curl_x = 0
curl_y = -2 * z
curl_z = 1 + 2 * y
# 法線ベクトル(外向き)
nx = 2 * r**2 * np.cos(theta)
ny = 2 * r**2 * np.sin(theta)
nz = r
return curl_x * nx + curl_y * ny + curl_z * nz
surf_int, _ = integrate.dblquad(
surf_integrand_paraboloid,
0, 2*np.pi, # theta
0, 1 # r
)
print("=== 放物面でのストークスの定理 ===")
print(f"F = (-y², x, z²)")
print(f"S: z = 1 - x² - y² (放物面)")
print(f"\n線積分 = {line_int:.8f}")
print(f"面積分 = {surf_int:.8f}")
print(f"差 = {abs(line_int - surf_int):.2e}")
# 可視化
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection="3d")
# 放物面
u = np.linspace(0, 1, 50)
v = np.linspace(0, 2*np.pi, 50)
U, V = np.meshgrid(u, v)
X_s = U * np.cos(V)
Y_s = U * np.sin(V)
Z_s = 1 - U**2
ax.plot_surface(X_s, Y_s, Z_s, alpha=0.4, cmap="coolwarm")
# 境界円
theta = np.linspace(0, 2*np.pi, 100)
ax.plot(np.cos(theta), np.sin(theta), np.zeros_like(theta),
"r-", linewidth=3, label="Boundary C")
# ベクトル場のサンプル
n_arrows = 8
t_arr = np.linspace(0, 2*np.pi, n_arrows, endpoint=False)
for t in t_arr:
x_a, y_a = np.cos(t), np.sin(t)
Fx, Fy = -y_a**2, x_a
ax.quiver(x_a, y_a, 0, Fx*0.2, Fy*0.2, 0,
color="blue", arrow_length_ratio=0.3, linewidth=1.5)
ax.set_xlabel("x", fontsize=11)
ax.set_ylabel("y", fontsize=11)
ax.set_zlabel("z", fontsize=11)
ax.set_title(f"Stokes' Theorem: line={line_int:.4f}, surface={surf_int:.4f}",
fontsize=12)
ax.legend(fontsize=10)
plt.tight_layout()
plt.savefig("stokes_verify.png", dpi=150, bbox_inches="tight")
plt.show()
この検証結果から、ストークスの定理が非平面の曲面でも正確に成立していることが確認できます。
-
放物面 $z = 1 – x^2 – y^2$ での検証: 境界は $xy$ 平面上の単位円ですが、面は放物面上に取っています。線積分と面積分の差が $10^{-10}$ 以下であり、面の形状が変わっても境界が同じなら積分値が一致するというストークスの定理の本質が確認されています。
-
3D可視化: 放物面(色付きの曲面)とその境界(赤い円)、境界上でのベクトル場(青い矢印)が表示されています。ベクトル場が境界に沿って反時計回りの循環成分を持っていることが視覚的に確認できます。
面の選び方の独立性の検証
同じ境界に対して異なる面を使っても線積分の値が一致することを確認します。
import numpy as np
from scipy import integrate
# F = (z, x, y)
# curl F = (1-0, 0-1, 1-0) = (1, -1, 1)
# 境界: z=0 での単位円
# 線積分
def line_int_func(t):
x, y = np.cos(t), np.sin(t)
dx, dy = -np.sin(t), np.cos(t)
return 0 * dx + x * dy + y * 0 # F·dr = x dy (z=0, dz=0)
line_val, _ = integrate.quad(line_int_func, 0, 2*np.pi)
# 面1: 平面円盤 z=0
def surf1(r, theta):
# curl F · n̂ = (1, -1, 1) · (0, 0, 1) = 1
return 1.0 * r
surf1_val, _ = integrate.dblquad(surf1, 0, 2*np.pi, 0, 1)
# 面2: 半球面 z = sqrt(1 - x² - y²)
def surf2(r, theta):
x = r * np.cos(theta)
y = r * np.sin(theta)
z = np.sqrt(max(0, 1 - r**2))
# 法線 = (x/R, y/R, z/R) * R(上向き半球の外向き法線)
# 外積で計算: (2r²cosθ/2z, 2r²sinθ/2z, r) ...
# パラメータ: x = r cosθ, y = r sinθ, z = sqrt(1-r²)
if 1 - r**2 <= 0:
return 0
dz_dr = -r / np.sqrt(1 - r**2)
# r_r = (cosθ, sinθ, dz_dr), r_θ = (-r sinθ, r cosθ, 0)
# r_r × r_θ = (-r cosθ * dz_dr, -r sinθ * dz_dr, r)
# = (r² cosθ / sqrt(1-r²), r² sinθ / sqrt(1-r²), r)
nx = r**2 * np.cos(theta) / np.sqrt(1 - r**2)
ny = r**2 * np.sin(theta) / np.sqrt(1 - r**2)
nz = r
return 1.0 * nx + (-1.0) * ny + 1.0 * nz
surf2_val, _ = integrate.dblquad(surf2, 0, 2*np.pi, 0, 0.999)
print("=== 面の独立性の検証: F = (z, x, y) ===")
print(f"線積分 = {line_val:.8f}")
print(f"面1(円盤) = {surf1_val:.8f}")
print(f"面2(半球) = {surf2_val:.8f}")
print(f"理論値 = π ≈ {np.pi:.8f}")
この結果から、同じ境界(単位円)に対して平面円盤と半球面という全く異なる面を使っても、面積分の値が同じ($\pi$)になることが確認できます。これはストークスの定理が保証する「面の独立性」であり、面積分の値は境界 $C$ のみに依存することを示しています。
まとめ
本記事では、ストークスの定理の理論と応用について解説しました。
- ストークスの定理は回転の面積分と境界に沿った線積分(循環)が等しいことを述べる
- $xy$ 平面での証明はグリーンの定理に帰着し、微分積分学の基本定理を各方向に適用することで得られる
- 面の独立性: 同じ境界に対してどの面を選んでも面積分の値は同じである
- 電磁気学ではファラデーの法則とアンペールの法則の積分形と微分形を結びつける
- 流体力学では循環と渦度の関係を表す
- $\nabla \times \bm{F} = \bm{0}$ ならば $\bm{F}$ は保存力場であり、スカラーポテンシャルが存在する
- ガウスの発散定理が「湧き出しの合計 = 境界面からの流出」を述べるのに対し、ストークスの定理は「局所回転の合計 = 境界曲線に沿った循環」を述べており、両者は「内部の微分量 = 境界での値」という統一的な構造の現れです
ガウスの発散定理、ストークスの定理、グリーンの定理はすべて一般化ストークスの定理
$$ \int_M d\omega = \int_{\partial M} \omega $$
の特殊な場合であり、微分形式の言語で統一的に理解できます。この視点は現代の微分幾何学やゲージ理論で中心的な役割を果たしています。
次のステップとして、以下の記事も参考にしてください。
- グリーンの定理と応用 — 2次元版ストークスの定理
- ガウスの発散定理の証明と応用 — 姉妹定理
- フーリエ級数の導出と収束条件 — 解析学への展開