div,rot,gradという、電磁気などで出てくるベクトル解析の記号。「rotって何なんですか」というのは永遠のFAQらしく、わしもよく聞かれる。これがわからなくて電磁気学の単位を落す人は多い(何を隠そう、わしも落した)。そこで、いろんなところで書かれていることではあるが、せっかくだからここでも書いておくことにする。
物理で新しい言葉や法則やなんかが出てくると「ほら、また難しい言葉が出てきた」と拒否反応を示す学生さんが多い。
という感覚なのであろう。だがそういう新しい言葉や法則などは、何かを計算するために必要があって編み出されたものであって、何かが便利になるから こそ、世間で使われているのである。div,rot,gradだって同じこと。だから
という感覚で出迎えていただきたいものである。div,rot,gradに関しても「何のために必要なのか」→「そのためにはどんな計算をするのか」と考えていった方が、その定義が頭に入ってきやすい。
divを具体的に理解するには、水の流れで考えるのが一番良い。洗濯機の中でも滝壺でもいいから、とにかく水がどわーーと流れているところを想像する。そして、その流れの中にとっても小さな立方体を考える。実際に箱を入れる必要はない。とにかく水の中の「立方体の形をした領域」を考えるのである。水がどわーーーと流れているのだから、その立方体の中も水が通り抜けていっている。そして「この立方体の中の水はどれだけ減りましたか」という問題を考えると、この答えを出すために必要なのがdivなのである。上の図の場合、左では入る量と出る量がバランスしている、つまり出た分だけはいるので増減なし(この場合が、divが0となる)が、右では出る量の方が多い(この場合、divは正)。
水で考えている場合、たいていの場合は「立方体のある面からは出ていくが、ある面からは入ってくる。結果として中の水は増えないだろう」というのが答えになるだろう。もし今考えた立方体の中に蛇口があってそこから水が吹き出していれば話は変わってくる。 また、これが空気なら「右からも左からも入ってきたので、ちょっと圧縮されましたね。上と下から少し逃げましたが、それでも立方体内の空気は増えたようです」ということもあるかもしれない。この問題を解くには、立方体の6つの面から出ていく水(空気でもいいが)の量を計算して、足してやればよい。 今水の流速を示すベクトルをVとしよう。天井(面積$\Delta x\Delta y$)から、単位時間に水はどれだけ出て行くだろうか?
「単位時間に水は長さ$V$だけ天井から飛び出すだろう。ならば、$V$に天井の面積$\Delta x\Delta y$をかければよい」
と考えてはいけない。流れがちょうど天井に垂直ならよいが、そうでない場合、その分割り引かなくてはいけない。つまり、Vというベクトルを($V_x,V_y,V_z$)と$x$成分$y$成分$z$成分にわけた時の、$z$成分だけが関係する。よって、天井から抜けていく水の量は $$ V_z \Delta x\Delta y $$ である。
では、底面から抜けていく水の量は?---底面では、$V_z$が正ならば水が入ってくることになる。だから抜けていく量を計算するためにはマイナス符号が必要となる。つまり、底面から抜けていく量は $$ -V_z \Delta x\Delta y $$である(もし$V_z$がマイナスなら、この量がプラスになる。つまり、「抜けていく」のである)。この二つの式を見て、「足したら零じゃん」と思ってはいけない。天井と底面は、z座標が\Delta zだけ違う。そこを考慮してちゃんと式を書くと、「天井から抜けていく量+底面から抜けていく量」は $$ \left(V_z(x,y,z+\Delta z)-V_z(x,y,z)\right)\Delta x\Delta y $$ となる。ここで微分の定義 $$ \lim_{\Delta z\to0}{V_z(x,y,z+\Delta z)-V_z(x,y,z)\over \Delta z} ={\partial V_z\over \partial z} $$ を思い出せば、「天井と床面で抜けていく量」は $$ {\partial V_z\over\partial z}\Delta x\Delta y\Delta z $$ となる(どうせ$\Delta z$は微小であることに注意)。ここまで来たら後は簡単、$x$方向や$y$方向に関しても「抜けていく量」を考えればよいが、全く同じ計算をやればよいので、結果は $$ \left( {\partial V_x\over\partial x}+{\partial V_y\over\partial y}+{\partial V_z\over\partial z}\right)\Delta x\Delta y\Delta z $$ となる。このうち$\Delta x\Delta y\Delta z$を外したものがdiv $V$そのものである。divは、「ある一点にある仮想的微小立方体」の上で、体積あたりの量として定義されている。
こういうふうに、空間内に流れのようなものが存在していた時に、「ある場所でその流れはどの程度増えているのか」ということを計算するために使う のがdivである。
rotも水の流れで考えよう。ただし今度は水面での流れで考える。水面の上に仮想的なボートを浮かべてみる。そして、その仮想的なボートが正方形の形に水面を運航する。この時「ボートは水の流れにどれだけ押してもらったでしょうか」という問題を考えると、これの答えを出すために必要になるのがrotなのである。上の図の赤線のように水が流れていて、黒の正方形の形に仮想的ボートが動いたとする。最初ボートは右に移動し、流れは少し右に傾いているから、ちょっととくをする。次に上へ進む時も得をする。その次には左へ進むが、この時は流れと運動方向が垂直に近いのでそれほど得も、損もしない。最後の下への移動では流れに逆らっているので損をする。これを1サイクル分足し上げたものがrotの正体である。
ではこれを式で書こう。まず最初の右へ動くとき、どれぐらい得をするかというと、$V_x\Delta x$くらいであろう。上の方で左に動く時は、逆向きなので$−V_x\Delta x$となる。ここで「足したらゼロじゃん」と思ってはいけないのはdivの時の話と同じで、 $$ −V_x(x,y+\Delta y,z)\Delta x+V_x(x,y,z)\Delta x $$ と解釈すべきなのである。例によってテーラー展開すれば、 $$ −{\partial V_x\over \partial y}\Delta x\Delta y $$ となる。同様の計算を、右の辺の上向きの移動の部分と、左の辺の下向き移動の部分についておこなうと、今度は関係するのは$V_y$であり、$x+\Delta x$の位置(右の辺)が+で$x$の位置(左の辺)が$−$で効くので、 $$ {\partial V_y\over \partial x}\Delta x\Delta y $$ となる。まとめると、 $$ \left({\partial V_y\over \partial x} - {\partial V_x\over \partial y}\right)\Delta x\Delta y $$ とまとまる。これを単位面積あたりに換算した、 $$ {\partial V_y\over \partial x} - {\partial V_x\over \partial y} $$ こそがrotである(実際には、rotの$z$成分)。
「rotはなんでベクトルなんだよ?」というのが気になる人がいるかもしれない。それは、今考えたように微小な正方形一個一個に対して定義されているのがrotであり、正方形がどんな向きを向いているかによってrotの値は当然、違うからである。そのベクトルの向きは、正方形の運航を右ネジを回す向きと考えた時のネジの進む向きと決まっている。ある一点を指定しても、その場所に正方形はたくさん(いろんな方向を向いて)書ける。だから、「rotはベクトルで$x$成分と$y$成分と$z$成分がある」という表現は正しいのだが、より正確には、「rotには$yz$面に垂直な成分と$zx$面に垂直な成分と$xy$面に垂直な成分がある」(もちろん、「$x$成分」は「$yz$面に垂直な成分」のように対応する)と言うべきである。
もちろんどっちだって同じなのだが(とはいえ、もし3次元じゃない空間を考えたらそんなことは言っていられなくなる)。
最後にgradであるが、こいつはある微小な線の上で定義されている。今度は立体でも面でもなく、1本の矢印を考える。図では、$x$方向を向いた矢印を考え ている。この矢印の根元と矢印の先での、関数$f(x,y,z)$の差を取る、というのがgradである。つまり、 $$ f(x+\Delta x,y,z)-f(x,y,z)={\partial f(x,y,z)\over \partial x}\Delta x $$ という計算を行って、単位長さあたりにする($\Delta x$で割る)とgrad fができる。gradは考え方としては一番単純かもしれない。
以上がdiv,rot,gradの概要であるが、注目すべきことは、
div 立体
で定義されたもの
rot 面で定義さ
れたもの
grad
線で定義されたもの
ということである。
微分幾何学の言葉で言うとgradは1-form、rotは2-form、div
は3-formということになる。
これは数式でもわかるが、gradとrotの意味を理解していれば、この図を見るだけで一発でわかる。gradは矢印の先の量と矢印の根本の量の差である。rotは正方形の一周で定義されている。つまりgradのrotというのは、矢印4本もってきて正方形を作るという操作に等しいのである。この4本の矢印が表しているものが「(矢の先)-(矢の根本)」という引き算なのだから、矢印が正方形を描いて一周回るように足し算を繰り返せば、「1本めの矢の先」と「2本めの矢の根本」が消しあって(以下同文)、答えが零になるのは当然である。
左の図で書いた式をつかって表すならば、gradのrotというのは、
(C-B)+(D-C)+(A-D)+(B-A)
なのである。4の同じ文字が2回ずつ、逆符号で出てきて足されるので、結果は0である。
div
は立方体、rotは正方形
である。上でdivを計算する時、まず天井での流れと床での流れの引き算から始めた。そこでまず「天井でのrotと、床でのrotの差をとる」という計算を図で表してみると、下の図の左のようになる。ここで、床でのrotは引き算されるのだから、逆回りにして書き直したのが中央の図である。
以上を立方体の6つの面すべてに対して実行する。すると、一番右の図ができる。rotからdivを作るというのはつまり、右図のような矢印を全部足す、ということ。天井以外の4面についても、対面どうしの正方形の中で、rotは逆回りしている。で、この図をよく見ると、一つの辺を2本ずつ、逆向き矢印が通っていることが理解できる。となれば、これも全部足せば零になるのは当然である。
なお、微分幾何学なる学問の世界では「gradのrotは0」も「rotのdivは0」も「外微分の外微分は0」という一般法則になる。
rotの正方形を立方体をなすように組み上げるとdivが零になるわけだが、立方体でなく任意の面を作るように組み上げていくと、ストークスの定理というのが証明できる。rotの正方形をあわせていくと、常にとなりあう矢印どうしは消しあうので、一番外側にある線(つまり考えている面の外縁)の部分の積分だけが残ることになる。ゆえに、$$ \int {\rm rot}\vec A\cdot\mathrm d\vec S=\oint \vec A\cdot\mathrm d\vec\ell $$という式が出る。左辺は${\rm rot} \vec A$を面上で積分すること(図でいうと赤の正方形を足していくこと)であり、右辺はベクトル$\vec A$を外周で線積分すること(図でいえば、マゼンタの線にそって矢印を足していくこと)である。
なお、rotを面(2次元)に対して定義されていると考えるならば、立体(3次元)に対して定義されているdivについても、隣り合う面どおしが消しあうように組み合わせていけば、表面部分だけが残る、という計算ができそうである、とわかる。これは「ガウスの法則」という別の名前で呼ばれているが、本質的にはストークスの定理の3次元バージョンである(絵はもう描かないけど、頭に思い浮かべるのは容易なはず)。
ここで当然の疑問として「じゃあ、gradに関しても同じか?」ということを考え付くと思う。gradの場合でも、線をどんどんつなげていくと「矢印の元」と「矢印の先」が消えていって、結局先端と最後尾の値以外は関係なくなる。しかしそれは、gradというのが本質的に微分であって、「矢印をつないで足していく」という計算は結局「線に沿っての積分」(線積分)なのだから、当然といえば当然である。
ついでにもう一つ、「何かの関数のgradではないようなベクトル(矢印)の線積分はどうなるか?」ということを考えてみよう。一般のベクトルである場合、違う道をたどるように矢印を足していくと、同じ値になるとは限らない。例えば左の図の青矢印に沿って各矢印についてrotで計算したようにその方向のベクトル成分に矢印の長さをかけて足していったとする。その答えは、赤矢印に沿って同じ計算をしたものと同じ値になるとは限らない。もし同じ値になったとしたら、その時は黒矢印のように一周計算した値はゼロになっていなくてはいけない。ここでもし、「どんな道を通って線積分しても答えは一緒」ということがわかったとすると、どんな形の周回(黒矢印のような)をしてもゼロだということになる。つまりrotがゼロであるときは線積分の結果は途中によらず、先端と最後尾のみで決まる。何かの関数のgradであればrotはゼロなので、この条件を最初から満たしている。
この文章を読んで、「よし、これでrotもdivもわかった!」と思った人(特に学生さん)へ。物理を理解するには、ここでやったような図での理解と、数式を使っての理解と、両方が必要である。「これでおっけー」と安心せずに、手を動かして計算することで、数式を使ってちゃんと理解するということを必ずやるように。