1. 高校数学の美しい物語
  2. ガウスの発散定理・ストークスの定理の証明

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

更新日時 2021/05/02

ガウスの発散定理(英: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

物理でよく重宝されるベクトル解析の有名な公式,「ガウスの発散定理」「ストークスの定理」について証明します。

目次
  • ガウスの発散定理の証明

  • ストークスの定理の証明

ガウスの発散定理の証明

証明がまあまあ長くなるので,一つずつ節に分けて説明していきます。

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

閉曲面の面積分は分割して考えられる

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

まずは,任意の曲面を2分割したものの面積分の和が,もとの曲面の面積分に等しくなることを見ていきます。

曲面の分割

曲面 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} が成立します。ここで S+SS_{\text{左}} + S_{\text{中}} という閉曲面を S1S_1S+SS_{\text{右}} + S_{\text{中}} という閉曲面を S2S_2で表すことにします。

単位法線ベクトル 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 \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 S1AndS+S2AndS=SAndS(*) \therefore \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 という微小立方体のブロックで構成できるくらい切っていきます。

このとき,面積分について,NN が十分大きいことを考えれば, 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=SAAnAdS+SBAnBdS+SCAnCdS+SDAnDdS+SEAnEdS+SFAnFdS \int_{S_i} \boldsymbol{A} \cdot \boldsymbol{n} dS = \int_{S_A} \boldsymbol{A} \cdot \boldsymbol{n_A} dS + \int_{S_B} \boldsymbol{A} \cdot \boldsymbol{n_B} dS + \int_{S_C} \boldsymbol{A} \cdot \boldsymbol{n_C} dS + \int_{S_D} \boldsymbol{A} \cdot \boldsymbol{n_D} dS + \int_{S_E} \boldsymbol{A} \cdot \boldsymbol{n_E} dS + \int_{S_F} \boldsymbol{A} \cdot \boldsymbol{n_F} dS と計算することができます。

ここで, 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} これらの和をとれば Δ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) のところは ΔxΔyΔz\Delta x \Delta y \Delta z とかけるとさらに高次の微小項になるため潰しています。

同様に考えていけば, 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 となり,証明終了です。

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

面積が 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 という立体における単位体積あたりの湧き出し,吸い込みを表す量であると考えることができるでしょう。

水は突然生成したり消滅したりしませんから,SS を貫く水の総量が,VV という立体から湧き出したり,立体に吸い込まれたりする量に等しいはずです。直感的に成りたっていてほしいこのことが実際に成立していることを教えてくれるのが,このガウスの発散定理であるということです。

ストークスの定理の証明

先ほども述べた通り,ストークスの定理の証明も構造としては同じです。任意のループの周回積分は分割して考えれられることがわかるので,細かい四角形に分解し,この四角形の一つに焦点をあてて周回積分を計算して,それをたしあわせます。

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

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 という正方形型の微小ループで構成できるようになるまで切り刻んでいきます。

このとき,周回積分について,NN が十分大きいことを考えれば, 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)={Ax(x+Δx,y,z)+(Δyによるズレ)}ΔyAx(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_x\left(x+\Delta x,y,z\right) + \left(\Delta y \text{によるズレ}\right)\right\} \Delta y\\ &\approx A_x\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(Ax(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_x\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 となって,証明が完了します。

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

  1. 高校数学の美しい物語
  2. ガウスの発散定理・ストークスの定理の証明