ガウスの発散定理・ストークスの定理の証明

ガウスの発散定理(英:Divergence Theorem) SAndS=VAdV \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS = \int_V \nabla \cdot \boldsymbol{A} dV ストークスの定理(英:Stokes’ Theorem) CAdr=S(×A)ndS \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} = \int_S \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n} dS

ベクトル解析の有名な公式「ガウスの発散定理」「ストークスの定理」を導出します。物理でよく使われる公式です。

ガウスの発散定理とストークスの定理は証明の構造がとても似ています。

※ 線積分については 線積分の直感的意味・例題を使った計算方法の解説 をどうぞ。

ガウスの発散定理の証明

まずはガウスの発散定理を証明します。やや長いので,4ステップに分けて1つずつ説明します。

閉曲面の面積分は分割できる

まず,閉曲面を2分割したものの面積分の和が,もとの閉曲面の面積分に等しいことを述べます。

A\boldsymbol{A} の任意の閉曲面 SS に対する面積分: SAndS \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS を考えます。

曲面の分割

閉曲面 SS を,SS_{\text{中}} という平面で,SS_{\text{左}}SS_{\text{右}} という曲面に分割します。また,SS_{\text{中}} に対し,図のように単位法線ベクトルを用意します。

このとき, S+SAndS=SAndS+SAndSS+SAndS=SAndS+SAndS\begin{aligned} \int_{S_{\text{左}} + S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n} dS &= \int_{S_{\text{左}}} \boldsymbol{A} \cdot \boldsymbol{n} dS + \int_{S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n_{\text{右}}} dS\\ \int_{S_{\text{右}} + S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n} dS &= \int_{S_{\text{右}}} \boldsymbol{A} \cdot \boldsymbol{n} dS + \int_{S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n_{\text{左}}} dS \end{aligned} が成立します。

単位法線ベクトル n,n\boldsymbol{n_{\text{左}}}, \boldsymbol{n_{\text{右}}} は大きさが同じ,向きが真逆のベクトルなので,同じ面に対する面積分は和をとると打ち消し合います。つまり, SAndS+SAndS=0 \int_{S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n_{\text{左}}} dS + \int_{S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n_{\text{右}}} dS = 0 です。よって, S+SAndS+S+SAndS=SAndS+SAndS=SAndS\begin{aligned} &\int_{S_{\text{左}} + S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n} dS + \int_{S_{\text{右}} + S_{\text{中}}} \boldsymbol{A} \cdot \boldsymbol{n} dS \\&= \int_{S_{\text{左}}} \boldsymbol{A} \cdot \boldsymbol{n} dS + \int_{S_{\text{右}}} \boldsymbol{A} \cdot \boldsymbol{n} dS \\&= \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS \end{aligned} ここで S+SS_{\text{左}} + S_{\text{中}} という閉曲面を S1S_1S+SS_{\text{右}} + S_{\text{中}} という閉曲面を S2S_2で表すと, S1AndS+S2AndS=SAndS(*) \int_{S_1} \boldsymbol{A} \cdot \boldsymbol{n} dS + \int_{S_2} \boldsymbol{A} \cdot \boldsymbol{n} dS = \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS \tag{*} です。この式 ()(*) はとても重要で,「任意の閉曲面 SS における A\boldsymbol{A} の面積分は,それを分割したときにできる2つの閉曲面 S1,S2S_1, S_2 における A\boldsymbol{A} の面積分の和に等しい」ことを表しています。面積分を考える上では,好きなように閉曲面を分割して良いということです。

微小立方体の集合として考える

前節で見たように,閉曲面の面積分は分割して考えられます。そこで,分割を繰り返して SS を極限まで切り刻んでみましょう。具体的には,SS とその中身を十分たくさんの微小立方体 S1,S2,,SNS_1, S_2, \cdots, S_N を合わせたもので近似します。(SSA\boldsymbol{A} が滑らかなら)NN\to\infty とすれば近似はいくらでも正確になります。

つまり,面積分について, SAndS=limN{i=1NSiAndS} \int_S \boldsymbol{A} \cdot \boldsymbol{n}dS = \lim_{N \to \infty}\left\{\sum_{i = 1}^N \int_{S_i} \boldsymbol{A} \cdot \boldsymbol{n} dS\right\} が成立します。

任意の閉曲面の面積分が微小立方体の面積分の総和で置き換えられました。

微小立方体の面積分を考える

では,微小立方体の6面を閉曲面とする面積分を考えてみましょう。下図のように,法線ベクトルに名前をつけます。また,nA\boldsymbol{n_A} に対応する面の名前を SAS_AnB\boldsymbol{n_B} に対応する面の名前を SBS_B のように呼ぶことにします。

微小立方体

この微小立方体の6面を合わせて SiS_i と呼ぶことにすると, SiAndS={A,B,C,D,E,F}SAndS \int_{S_i} \boldsymbol{A} \cdot \boldsymbol{n} dS = \sum_{\text{面}\in\{A,B,C,D,E,F\}}\int_{S_{\text{面}}}\boldsymbol{A} \cdot \boldsymbol{n_{\text{面}}} dS と計算することができます。

まず,面 AA と面 FF の寄与を考えます。 SAAnAdS(Ax(x+Δx2,y+Δy2,z+Δz)Ay(x+Δx2,y+Δy2,z+Δz)Az(x+Δx2,y+Δy2,z+Δz))(001)ΔxΔy=Az(x+Δx2,y+Δy2,z+Δz)ΔxΔy\begin{aligned} &\int_{S_A} \boldsymbol{A} \cdot \boldsymbol{n_A} dS\\ &\approx \left(\begin{array}{c} A_x\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z + \Delta z\right)\\ A_y\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z + \Delta z\right)\\ A_z\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z + \Delta z\right)\\ \end{array}\right) \cdot \left(\begin{array}{c} 0\\ 0\\ 1 \end{array}\right) \Delta x \Delta y\\ &= A_z \left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z + \Delta z\right)\Delta x \Delta y \end{aligned} また, SFAnFdS(Ax(x+Δx2,y+Δy2,z)Ay(x+Δx2,y+Δy2,z)Az(x+Δx2,y+Δy2,z))(001)ΔxΔy=Az(x+Δx2,y+Δy2,z)ΔxΔy\begin{aligned} &\int_{S_F} \boldsymbol{A} \cdot \boldsymbol{n_F} dS \\&\approx \left(\begin{array}{c} A_x\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z\right)\\ A_y\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z\right)\\ A_z\left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z\right)\\ \end{array}\right) \cdot \left(\begin{array}{c} 0\\ 0\\ -1 \end{array}\right) \Delta x \Delta y\\ &= - A_z \left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z\right)\Delta x \Delta y \end{aligned}AA と面 FF の寄与はこれらの和であり, ΔxΔy(Az(x+Δx2,y+Δy2,z+Δz)Az(x+Δx2,y+Δy2,z))ΔxΔy(Azzx=x+Δx2,y+Δy2,z)Δz=ΔxΔy(Azz+(Δx2によるズレ)+(Δy2によるズレ))ΔzAzzΔxΔyΔz\begin{aligned} &\Delta x \Delta y \left(A_z \left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z + \Delta z\right) - A_z \left(x + \dfrac{\Delta x}{2},y + \dfrac{\Delta y}{2}, z\right) \right)\\ &\approx \Delta x \Delta y \left(\left. \dfrac{\partial{A_z}}{\partial{z}} \right|_{x = x + \frac{\Delta x}{2}, y + \frac{\Delta y}{2}, z}\right) \Delta z\\ &= \Delta x \Delta y \left(\dfrac{\partial{A_z}}{\partial{z}} + \left(\dfrac{\Delta x}{2} \text{によるズレ}\right) + \left(\dfrac{\Delta y}{2} \text{によるズレ}\right)\right) \Delta z\\ &\approx \dfrac{\partial{A_z}}{\partial{z}}\Delta x \Delta y \Delta z \end{aligned} ただし,最後の行の変形について,(Δx2によるズレ)+(Δy2によるズレ)\left(\dfrac{\Delta x}{2} \text{によるズレ}\right) + \left(\dfrac{\Delta y}{2} \text{によるズレ}\right)Azz\dfrac{\partial A_z}{\partial z} と比べて微小なため無視しました。

同様に B,DB,D の寄与と C,EC,E の寄与も考えて足すと, SiAndS=(Axx+Ayy+Azz)ΔxΔyΔz=AΔxΔyΔz=AΔV\begin{aligned} \int_{S_i} \boldsymbol{A} \cdot \boldsymbol{n} dS &= \left(\dfrac{\partial{A_x}}{\partial{x}} + \dfrac{\partial{A_y}}{\partial{y}} + \dfrac{\partial{A_z}}{\partial{z}}\right)\Delta x \Delta y \Delta z\\ &= \nabla \cdot \boldsymbol{A} \Delta x \Delta y \Delta z\\ &= \nabla \cdot \boldsymbol{A} \Delta V \end{aligned} これで,微小立方体の面積分を求めることができました。

もとの式に代入する

微小立方体の結果をもとの式に代入するだけです。任意の閉曲面における面積分は SAndS=limN{i=1NAΔV} \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS = \lim_{N \to \infty}\left\{\sum_{i = 1}^N\nabla \cdot \boldsymbol{A} \Delta V \right\} 右辺を体積積分で置き換えてあげると, SAndS=VAdV \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS = \int_V \nabla \cdot \boldsymbol{A} dV となり,証明終了です。

ガウスの発散定理の気持ち

ガウスの発散定理: SAndS=VAdV \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS = \int_V \nabla \cdot \boldsymbol{A} dV の大雑把なイメージを紹介します。

ガウスの発散定理の大雑把なイメージ

閉曲面 SS を貫く水の総量は,その内部 VV から湧き出したり,吸い込まれたりする量に等しい。

面積が dSdS であるような微小曲面を,ベクトル場 A\boldsymbol{A} が横切っている状況を考えます。

微小面に対する流束

このとき, AndS \boldsymbol{A} \cdot \boldsymbol{n} dS という量を考えます。A\boldsymbol{A} が水の流れのようなものだと思えば,この量は単位時間あたりに dSdS を貫く水の量を表します。これを,曲面 SS にそって面積分したもの: SAndS \int_S \boldsymbol{A} \cdot \boldsymbol{n} dS は,SS という曲面を単位時間あたりに貫く水の量を表すことになります。これを流束と呼ぶことがあります。とくに SS が閉曲面である場合には,SS という囲いから,単位時間あたりに溢れ出す水の総量を表しているわけです。

これに対し,発散: A=divA \nabla \cdot \boldsymbol{A} = \mathrm{div} \boldsymbol{A} は,単位体積あたりの湧き出し,吸い込みを表す量です(これの説明は少し時間がかかるので,この記事では説明しません。この記事の証明が読めていれば,理解するのは全然難しくありませんので,気になる方は調べてみると良いでしょう)。つまり, VAdV \int_V \nabla \cdot \boldsymbol{A} dV VV という立体における単位体積あたりの湧き出し,吸い込みを表す量であると考えられます。

つまり,ガウスの発散定理は,以下の2つが等しいことを表しています。

  • 閉曲面 SS を貫く水の総量(左辺)
  • その内部 VV から湧き出したり,吸い込まれたりする量(右辺)

ストークスの定理の証明

次は,ストークスの定理 CAdr=S(×A)ndS \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} = \int_S \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n} dS を証明します。ガウスの発散定理の証明と似ていますが,以下の4ステップで説明します。

  1. 任意のループの周回積分は分割して考えられる
  2. 細かい四角形に分解し,
  3. この四角形の一つに焦点をあてて周回積分を計算して,
  4. それをたしあわせる

ループの周回積分は分割して考えられる

A\boldsymbol{A} の任意のループ CC に対する周回積分: CAdr \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} を考えます。

ループの分割

CC を,CC_{\text{中}} という線で,CC_{\text{左}}CC_{\text{右}} という曲線に分割します。これら2つは図の矢印のような向きがある経路だと思ってください。また,CC_{\text{中}} にも向きをつけ,C+CC_{\text{左}} + C_{\text{中}\searrow} で一つのループ C1C_1C+CC_{\text{右}} + C_{\text{中}\nwarrow} で一つのループ C2C_2 ができるようにします。

C1,C2C_1, C_2 の周回積分について C1Adr=CAdr+CAdrC2Adr=CAdr+CAdr\begin{aligned} \oint_{C_1} \boldsymbol{A} \cdot d\boldsymbol{r} &= \int_{C_{\text{左}}} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_{\text{中}} \searrow} \boldsymbol{A} \cdot d\boldsymbol{r}\\ \oint_{C_2} \boldsymbol{A} \cdot d\boldsymbol{r} &= \int_{C_{\text{右}}} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_{\text{中}} \nwarrow} \boldsymbol{A} \cdot d\boldsymbol{r} \end{aligned} です。C,CC_{\text{中}} \searrow, C_{\text{中}} \nwarrow は互いに逆向きの経路なので,これらの線積分の和は打ち消し合います。つまり, CAdr+CAdr=0 \int_{C_{\text{中}} \searrow} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_{\text{中}} \nwarrow} \boldsymbol{A} \cdot d\boldsymbol{r} = 0 が成立します。よって, C1Adr+C2Adr=CAdr+CAdr=CAdr \oint_{C_1} \boldsymbol{A} \cdot d\boldsymbol{r} + \oint_{C_2} \boldsymbol{A} \cdot d\boldsymbol{r} = \int_{C_{\text{左}}} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_{\text{右}}} \boldsymbol{A} \cdot d\boldsymbol{r} = \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} C1Adr+C2Adr=CAdr(**) \therefore \oint_{C_1} \boldsymbol{A} \cdot d\boldsymbol{r} + \oint_{C_2} \boldsymbol{A} \cdot d\boldsymbol{r} = \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} \tag{**} この式 ()(**) は,ガウスの発散定理の証明で登場した式 ()(*) と同様に重要で,「任意のループ CC における A\boldsymbol{A} の周回積分は,それを分割したときにできる2つのループ C1,C2C_1, C_2 における A\boldsymbol{A} の周回積分の和に等しい」ということを表しています。周回積分は面積分同様,好きなようにループを分割して良いわけです。

微小ループの集合として考える

CC を,CC とその中身が C1,C2,,CNC_1, C_2, \cdots, C_N という正方形型の微小ループで構成できるようになるまで切り刻んでいきます。

このとき,周回積分について, CAdr=limN{i=1NCiAdr} \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} = \lim_{N \to \infty}\left\{\sum_{i = 1}^N \oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r}\right\} が成り立ちます。

任意のループの周回積分が微小ループの周回積分の総和で置き換えられました。

微小ループの周回積分を考える

まず,xyxy 平面上に微小ループが乗っている場合を考えます。

微小ループ

この微小ループを CiC_i と呼ぶことにします。このとき,CiC_i の周回積分は CAdr=CAAdr+CBAdr+CCAdr+CDAdr \oint_{C} \boldsymbol{A} \cdot d\boldsymbol{r} = \int_{C_A} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_B} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_C} \boldsymbol{A} \cdot d\boldsymbol{r} + \int_{C_D} \boldsymbol{A} \cdot d\boldsymbol{r} と計算できます。

ここで, CAAdr=xx+Δx(Ax(x,y,z)Ay(x,y,z)Az(x,y,z))(dx00)={Ax(x,y,z)+(Δxによるズレ)}ΔxAx(x,y,z)Δx\begin{aligned} \int_{C_A} \boldsymbol{A} \cdot d\boldsymbol{r} &= \int_x^{x + \Delta x} \left(\begin{array}{c} A_x\left(x,y,z\right)\\ A_y\left(x,y,z\right)\\ A_z\left(x,y,z\right) \end{array}\right) \cdot \left(\begin{array}{c} dx\\ 0\\ 0 \end{array}\right)\\ &= \left\{A_x\left(x,y,z\right) + \left(\Delta x \text{によるズレ}\right)\right\} \Delta x\\ &\approx A_x\left(x,y,z\right) \Delta x \end{aligned} また, CBAdr=yy+Δy(Ax(x+Δx,y,z)Ay(x+Δx,y,z)Az(x+Δx,y,z))(0dy0)={Ay(x+Δx,y,z)+(Δyによるズレ)}ΔyAy(x+Δx,y,z)Δy\begin{aligned} \int_{C_B} \boldsymbol{A} \cdot d\boldsymbol{r} &= \int_y^{y + \Delta y} \left(\begin{array}{c} A_x\left(x+\Delta x,y,z\right)\\ A_y\left(x+\Delta x,y,z\right)\\ A_z\left(x+\Delta x,y,z\right) \end{array}\right) \cdot \left(\begin{array}{c} 0\\ dy\\ 0 \end{array}\right)\\ &= \left\{A_y\left(x+\Delta x,y,z\right) + \left(\Delta y \text{によるズレ}\right)\right\} \Delta y\\ &\approx A_y\left(x+\Delta x,y,z\right) \Delta y \end{aligned} 他についても同様に計算すれば CCAdr=Ax(x,y+Δy,z)ΔxCDAdr=Ay(x,y,z)Δy\begin{aligned} \int_{C_C} \boldsymbol{A} \cdot d\boldsymbol{r} &= -A_x (x,y + \Delta y, z) \Delta x\\ \int_{C_D} \boldsymbol{A} \cdot d\boldsymbol{r} &= -A_y (x,y, z) \Delta y\\ \end{aligned} これより, CiAdr=Δx(Ax(x,y,z)Ax(x,y+Δy,z))+Δy(Ay(x+Δx,y,z)Ay(x,y,z))=Δx(Axy)Δy+Δy(Ayx)Δx=ΔxΔy(AyxAxy)=ΔxΔy(×A)z=ΔxΔy(×A)nz\begin{aligned} &\oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r} \\&= \Delta x \left(A_x\left(x,y,z\right) -A_x (x,y + \Delta y, z)\right) + \Delta y \left(A_y\left(x+\Delta x,y,z\right)-A_y (x,y, z) \right)\\ &= \Delta x \left(-\dfrac{\partial{A_x}}{\partial{y}}\right)\Delta y + \Delta y \left(\dfrac{\partial{A_y}}{\partial{x}}\right)\Delta x\\ &= \Delta x \Delta y \left(\dfrac{\partial{A_y}}{\partial{x}} - \dfrac{\partial{A_x}}{\partial{y}}\right)\\ &= \Delta x \Delta y \left(\nabla \times \boldsymbol{A}\right)_z\\ &= \Delta x \Delta y \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_z} \end{aligned} 最後の行において,nz\boldsymbol{n_z}+z+z 方向を向いている単位ベクトルです。

yzyz 平面,zxzx 平面にループが乗っている場合を同様に考えれば CiAdr=ΔyΔz(×A)nxCiAdr=ΔzΔx(×A)ny\begin{aligned} \oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r} &= \Delta y \Delta z \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_x}\\ \oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r} &= \Delta z \Delta x \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_y}\\ \end{aligned}

これらの式を見ると,CiAdr\displaystyle\oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r}(ループの面積)(×A)nループの単位法線ベクトル (\text{ループの面積}) \cdot \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_{\text{ループの単位法線ベクトル}}} という形で記述できていることがわかります。同様に,任意の向きの微小ループに対して CiAdr=(×A)niΔSi \oint_{C_i} \boldsymbol{A} \cdot d\boldsymbol{r} = \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_i} \Delta S_i と書くことができます。

もとの式に代入する

微小ループの結果を元の式に代入します。任意のループにおける周回積分は CAdr=limN{i=1N(×A)niΔSi} \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} = \lim_{N \to \infty}\left\{\sum_{i = 1}^N \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n_i} \Delta S_i\right\} 右辺を面積分で置き換えると, CAdr=S(×A)ndS \oint_C \boldsymbol{A} \cdot d\boldsymbol{r} = \int_S \left(\nabla \times \boldsymbol{A}\right) \cdot \boldsymbol{n} dS となり,証明が完了します。

初等なベクトル解析の一つの山場とも言える定理ですね。名前がかっこよくてどちらも好きです。