大学数学

初学者のためのナブラ演算子を用いた「勾配grad」「発散div」「回転rot」

こんにちは(@t_kun_kamakiri)(^^)/

物理を学習しているとどうしても数学の知識というのが欠かせません。

特に物理学では向きを持った値というのを取り扱うために、ベクトル解析というものを勉強しておく必要があります。

しかし、ベクトル解析を勉強していると何やら「高校数学では見たこともない記号:ナブラ演算子」があり、それは初学者の興味と恐怖を与えるものです。

前回の記事ではナブラ演算子の基礎を理解する3つのメリットについての記事を書きました。

前回の記事はこちら

 

本記事ではナブラ演算子を使ったとても重要な「勾配grad」「発散div」「回転rot」についての解説を行います。

本記事の内容

ナブラ演算子を使って以下の内容を解説します。

勾配

gradf or  f

発散

divv or v

回転

rotv or ×v

初学者がこれを見て「何だこれは?」とならないためにこの記事を書いています。

こんな方を対象にしています
  • grad,div,rot」に苦手意識がある方
  • grad,div,rot」の意味も含めて理解したい方
スポンサーリンク

スカラー場とベクトル場

ナブラ演算子を使った演算を行う前に重要な「スカラー場」と「ベクトル場」について簡単に解説をしておきます。

なぜ、「スカラー場」と「ベクトル場」について解説が必要かというと以後の内容でナブラ演算子を作用させた結果はスカラー場なのかベクトル場なのかによって物理的な意味合いが変わってくるからです。

スカラー場

スカラー場は、空間の各点に対して数値(スカラー量)が与えられている状態のことです。

カマキリ

言葉で説明してもよくわからないので具体例を出します。

例えば、以下のような2次元平面での温度分布がスカラー場に当たります。

空間座標(x,y)に対して温度はT(x,y)のような関数で表すことができます。
このように(x,y)に対してただ一つの値を持つものがスカラー場です。

その他の例

  • 圧力
  • 密度

もスカラー場になります。

同様に3次元空間を考えると(x,y,z)に対してただ一つの値を持つものがスカラー場で、温度を例に取るとT(x,y,z)のように書きます

ベクトル場

ベクトル場は、空間の各点に対してベクトル量が与えられている状態のことです。

ベクトルとは「向き」と「大きさ」を持った量です。

ベクトルに関する記事
カマキリ

言葉で説明してもよくわからないので具体例を出します。

例えば、以下のような2次元平面での流速ベクトル分布がベクトル場に当たります。

空間座標(x,y)に対して流速はv=(vx(x,y),vy(x,y))のようにベクトルのx成分、y成分は各点の関数で表すことができます。

同様に3次元空間を考えると(x,y,z)に対してベクトル場はv=(vx(x,y,z),vy(x,y,z),vz(x,y,z))のように書きます

ナブラ演算子って何?

ナブラ演算子()ってそもそも何かってことをちょびっと話しておかないと、「そこがわからんのだ」って思われそうなので、最初に話しておきたいと思います。

  • :「ナブラ」と呼びます。
  • =(x,y,z)
    x,y,zが変数

とても簡単にまとめると以上です。

要するに、演算子は「誰かを偏微分したくてたまらないやつ」とくらいに思っておきましょう。

■例えば、f(x,y,z)=2x2+y3+zというx,yを変数に持った関数を用意します。この関数に左から「誰かを偏微分したくてたまらない演算子(演算子)を作用させることを考えます。

とても素直に計算するだけです。

f(x,y)=(x,y,z)f(x,y)=(f(x,y)x,f(x,y)y,f(x,y)z)=(4x,3y2,1)

素直に計算してみただけです。

スカラー場の関数f(x,y)にナブラ演算子を作用させるた結果がベクトル場になりましたね。

■もうひとつ例を見てみましょう。

例えば、あるベクトル場v(x,y)=(vx,vy,vz)=(2x2,y3,z)に「誰かを偏微分したくてたまらない演算子(演算子)を作用させること考えます。

今度は内積の形で作用させます。

v(x,y)=vxx+vyy+vzz=4x+3y2+

となります。

ベクトル場のv(x,y)にナブラ演算子の内積を作用させるた結果がスカラー場になりましたね。

まずは素直に「演算子を使うとまるでベクトルで学習した内容っぽく計算できるな」って感じて慣れていけばよいのかと思います。

しかし、物理数学のベクトル解析でナブラ演算子を勉強すると「grad,div,rot」も一緒に習うことになります。
ここではもう少しナブラ演算子を使った単なる演算子の計算にとどまらない意味を持った操作であることを説明したいと思います。

勾配:gradient

まずはナブラ演算子を使った簡単な例は「勾配」です。

なぜgradと書くのかというと勾配の英語がgradientだからその冒頭3文字を使ってgradと書くのです。

「勾配」に関する書き方は、gradfだったりfだったりしますが、ある関数f演算子を作用させる操作によってできます。

こんな感じで書きます。

gradf=f=(fx,fy)

簡単な例で見てみましょう。

これを見れば、演算子をある関数fに作用させる操作が「勾配」であることがわかるかと思います。

2変数z=f(x,y)の場合

2変数(x,y)の場合の全微分を考えましょう。

ここで(x,y)平面上で(x,y)から(x+Δx,y+Δy)へ変化したときに高さ方向のΔf=f(x+Δx,x+Δy)f(x,y)はどのように書けるかを考えます。

絵で描くとこんな感じ。

これをひとつひとつ考えてみます。

■まず、y方向を止めてx方向だけの変化を考えます。

f(x+Δx,y)f(x,y)ΔxΔx_Δx0=fxdx

となります。

fxyを固定してxでのみ微分を行うことを意味します(xによる偏微分)

■次に、x方向を止めてy方向だけの変化を考えます。

f(x,y+Δy)f(x,y)ΔyΔy_Δy0=fydy

となります。

fyxを固定してyでのみ微分を行うことを意味します(xによる偏微分)

以上よりΔf=f(x+Δx,y+Δy)f(x,y)は①+②であることがわかります。

全微分は上の表式になります。

df=fxdx+fydy

これをこのように各成分に分解して内積の形で書くと、

df=(fx,fy)(dx,dy)

となります。

おっと、「(fx,fy)が出てきたではありませんか」ということになります。

これを、

gradf=f=(fx,fy)

と書いて勾配を表すのです。

では、なぜ勾配と呼ぶのか・・・・wikipediaには「勾配;gradient」について、

ベクトル解析におけるスカラー場の勾配(gradient; グラディエント)は、各点においてそのスカラー場の変化率が最大となる方向への変化率の値を大きさにもつベクトルを対応させるベクトル場である。

このように書いています。

スカラー場の変化率が最大となる方向への変化率と書いてあります。

カマキリ

言葉で説明してイメージつく人もいないでしょう!

というわけでfを勾配という意味がわかるようにgradfの意味を考えてみます。

等高線に対して垂直な方向がfの方向

先ほど書いた式が内積の形で書くことができたので、以下のように書きましょう。

df=|gradf||Δr|cosθ

x,y平面上の微小変化をΔr=(dx,dy)と書きました。
gradfΔrのなす角度をθとしています。

「等高線に対して垂直な方向がfの方向」とはどういう意味か考えてみましょう。

等高線を描いて考えてみます。
Δrの動かし方を次の2通りの場合で考えてみます。

  1. Δrを等高線の方向に動かす場合
  2. Δrdfが最大になるように動かす場合

 

Δrを等高線の方向に動かす場合について

Δrを等高線の方向に動かすと、dfの高さが変わらないためdf=0となります。
なので、内積の定義からθ=90となり、gradfΔrは直交していることがわかります。

つまり、gradfは等高線対して垂直であることがわかります。

Δrdfが最大になるように動かす場合

Δrdfが最大になる方向に動かした場合、内積の定義からθ=0となり、gradfΔrが同じ方向を向いていることがわかります。

つまり、gradfdfが最大になる方向を向いているがわかります。

ゆえに、gradfスカラー場の変化率が最大となる方向と説明できるわけです。

では、3変数だったら?

3変数w=f(x,y,z)の場合

3変数になる表現するための軸が足りないのでwの大きさは色とかで区別するしかないです。

先ほど「2変数で等高線(z=f(x,y)の値が常に同じ)」を考えたように、「3変数で等位面(w=f(x,y,z)の値が常に同じ)」場合でのfの方向を考えることができます。

3変数での等位面でのfの方向は、等位面に対して垂直な方向です。

ここまで抑えておけば基本的なことはOKです!

発散:divergence

数学記号での発散の表現はdivとなります。

演算子とあるベクトル場vとの内積であると覚えておきましょう。

内積の記事はこちら

なぜdivと書くのかというと発散の英語がdivergenceだからその冒頭3文字を使ってdivと書くのです。

また、=(x,y,z)を使って、あるベクトルとの内積をとるとそれは発散を意味することになります。

divv=v

と書きます。

ナブラ演算子の部分について、「記号を使っていてはわからない」って方は、実際に内積を計算してやると、

divv=vxx+vyy+vzz

となることを覚えておけば良いでしょう。

しかし、数学記号で発散と言われてもピンとこないのがふつうであると思います。

まずは簡単にイメージを頭にインプットするために、あるベクトル場を流速ベクトルvとして川の流れを考えて、「発散」について理解していきたいと思います。

発散がない場合

発散がない場合という、「発散」という言葉を使うとよくわからないことでしょうね。

発散がない場合というのは、「発散=出ていった量(流出)ー入ってきた量(流入)」は0という場合を意味しています。

大事なのは、発散は正味に出ていった量ということです。

流量は出ていくんですけど、入ってくる量も合わせて、実際どれだけ出ていったのか?」が発散の意味です。

例えば上の絵のように1次元の流速が一定の流れがある場合を考えます。

この場合は、緑の半透明に入ってきた水の量と出ていった水の量は同じですよね。

だから、「発散=出ていった量(流出)ー入ってきた量(流入)」は0ということになります。

発散記号で書くと、

divv=0

です。

ナブラ演算子を用いると、

v=0

です。

これをナブラ演算子で使わずに記述すると、

v=vxx+vyy+vzz=0

です。

実際、流れは一定なのですから、

dvdx=0

であります。

発散がある場合

発散がある場合というのは、「発散=出ていった量(流出)ー入ってきた量(流入)」は0ではないということを意味しています。
流入してきた量に対して「湧き出し」もしくは「吸い込み」があるということです。

湧き出し

上の絵のように右にいくほど(xの増加とともに)流速が増えていっている場合の流れでは、緑の透明に入ってきた水の量より出ていく水の量の方が多いので、正味の出ていった量というのは0より大きいです。

これを湧き出しと言います。

divv>0

です。

ナブラ演算子を用いると、

v>0

吸い込み

湧き出しの逆の吸い込みの場合を考えましょう。

緑の透明に入ってきた水の量流入してきた量に対して出ていく水の量の方が多少ない場合は正味の出ていった量というのは0より小さくなります

これを吸い込みと言います。

divv<0

です。

ナブラ演算子を用いると、

v<0

なぜ演算子との内積が発散なのかを導出する

ではなぜ演算子の内積が発散を意味しているのかを考えたいと思います。

x,y,z方向に垂直な面から出ていく正味の流量」を考えることで発散を理解したいと思います。

さて、右の面から出ていく流量と左の面から入ってくる流量というのを考えます。

  • 出ていく流量:vx(x+dx)dydz
  • 入ってくる流量:vx(x)dydz
    dx,dy,dzは微小量としています。

すると正味の出ていく流量は、

vx(x+dx)dydzvx(x)dydz

ということになります。
これをもう少し式変形してみましょう。

vx(x+dx)dydzvx(x)dydz=(vx(x+dx)vx(x))dydz=vx(x+dx)vx(x)dxdxdydz

ここでdx0とすると、vx(x+dx)vx(x)dx=dvxdxだから、

「x方向に垂直な面から出ていく正味の流量」

dvxdxdxdydz

となります。

同様の手順をy方向に垂直な面」「z方向に垂直な面」の正味の出ていった量を加えれば良いだけです。

もう一度式変形をするまでもなく、

「y方向に垂直な面から出ていく正味の流量」

dvydydxdydz

「z方向に垂直な面から出ていく正味の流量」

dvzdzdxdydz

これらを足すと、

(dvxdx+dvydy+dvzdz)dxdydz

となります。

今考えている直方体は任意な大きさにしていました(とりあえずとても小さいと考えていました)ので、単位体積あたりに出ていった正味の流量は、

dvxdx+dvydy+dvzdz=v=divv

ということになります。

これで発散を数式で表現することができました。

よく見ると演算子との内積になっているのがわかりますね。

回転:rotation

数学記号での回転の表現はrot×となります。

演算子とあるベクトル場vとの外積であると覚えておきましょう。

外積の記事はこちら

なぜrotと書くのかというと回転の英語がrotationだからその冒頭3文字を使ってrotと書くのです。

また、=(x,y,z)を使って、あるベクトルとの外積をとるとそれは回転を意味することになります。

rotv=×v

と書きます。

これを成分ごとに書いてみます。

(xyz)×(vxvyvz)=(vzyvyzvxzvzxvyxvxy)

↑このようになります。

見ての通り、graddivと比較するとめちゃ覚えにくいです。

ですので覚え方を自分なりに持っておく必要があります。

ここでは、2通りの覚え方を紹介しますので覚えやすい方を自分なりに選んで覚えておきましょう。

3行3列の行列式から「サラスの公式」を使う

もし線形代数を既に履修済みで「サラスの公式を知っているよ」って方でしたら覚えやすい方法だと思います。

|ijkxyzvxvyvz|

このように3行3列の行列式を用意します。

ここで、ijkはそれぞれxyz方向の単位ベクトルを表しています。

「サラスの公式」は3行3列の行列式を計算するときにの公式ですが、公式通りに従えば演算子の外積を計算していることになります。

では、「サラスの公式」通りに計算してみます。

(①+②+③)(④+⑤+⑥)を計算すれば良いです。

(vzyi+vxzj+vyxk)(vxyk+vyzi+vzxj)

これをもう少しまとめると、

(vzyvyz)i+(vxzvzx)j+(vyxvxy)k

と、このようになります。

各成分を見ると確かに演算子との外積の結果と同じですね。

 

僕は、この方法ではなくて次の方法で演算子との外積を覚えています。

演算子との外積というよりは、外積の計算そのものであるため、ベクトルの外積計算にも使うことができます

「クロスして」「それ以外の成分に書く」

「クロスして」「それ以外の成分に書く」・・・と呪文のように覚えているこの方法は、結構良いかなと思っています。

誰に習ったのかは忘れましたが。

手順はこんな感じです。

言葉で書くよりも絵を使った方がわかりやすいので絵で表現してみました。

どうですかね。

結構覚えやすいと思うのですがね。

なぜ演算子との外積が回転なのかを導出する

さて、演算子の外積の形式はわかりましたが、回転(rot)と表現される所以を理解する必要があります。

発散の場合は、「ある微小体積を出入りした量」でしたよね。

回転の場合は、「ある微小領域まわりのモーメント」を考えれば良いのです。

モーメントなので回転ってことです。

簡単のために2次元にして、上の絵のようにある点(x,y)まわりのモーメントを考えてみましょう。

2dx=2dy=2daの微小領域でのz軸方向まわりのモーメントを考えます。

反時計回りを正方向にして・・・・

vy(x+dx,y)dx+vx(x,ydy)dyvx(x,y+dy)dyvy(xdx,y)dx=vy(x+dx,y)vy(xdx,y)2dx2dxdyvx(x,y+dy)vx(x,ydy)2dy2dxdy=(vyxvxy)2da2

となります。

12(vyxvxy)4da2

としておくと、微小領域4dxdy=4da2は任意に選んだ領域ですので、単位面積あたりのモーメントは、

12(vyxvxy)

となります。

12がついてしまっていますが、本質的にはこれはz軸まわりの回転を意味しています。

z軸まわりの回転は、

(×v)z=vyxvxy

となるので、rotの結果はz軸まわりの回転に相当する量であることがわかります。

これをx軸まわりとy軸まわりモーメント(回転)を考えると、3軸での回転を考えることができるというわけです。

まとめ

これで演算子を使った「勾配:grad」「発散:div」「回転:rot」の意味がわかったでしょうか。

今一度全体をまとめておきます。

勾配 grad:

gradf=(fx,fy,fz)

結果はベクトル量

発散 div:

divv=v

=vxx+vyy+vzz

結果はスカラー量

回転 rot:

rotv=×v

(xyz)×(vxvyvz)=(vzyvyzvxzvzxvyxvxy)

結果はベクトル量

本記事の内容をpdf化してみました。
pdf化にあたって再度書き直した部分があるため、細かなミスがあるかもしれません。

おすすめの参考書

最後におすすめの参考書を紹介しておきましょう。
マセマの参考書は大学初学年や、なんだったら高校生でも読めるくらいわかりやすく書かれていますので、「大学数学はキツイな」って感じた方は手に取ってみてください。

数学は問題を解いてこそ力がつくので、以下の問題集を手元においておくと良いでしょう。
こちらをなぜお勧めするのかというと、問題集としての機能と同時に多くの問題が載ってあるため「辞書的な使い方」もできます。
「この数学のレポート課題わからないな」というときに、こちらの問題集から類題を見つけることもあるため、是非手元に置いておきたい一冊です。
関連記事もどうぞ

POSTED COMMENT

  1. Roman より:

    I think that what you published was actually very logical.
    But, think on this, what if you added a little content?
    I mean, I don’t wish to tell you how to run your blog, but what if you
    added something that makes people want more? I mean 初学者のためのナブラ演算子を用いた「勾配grad」「発散div」「回転rot」|宇宙に入ったカマキリ is kinda
    boring. You could look at Yahoo’s home page and note how they create article titles to grab viewers to click.

    You might add a related video or a pic or two to get readers interested about everything’ve got to say.
    Just my opinion, it could bring your posts a little bit more interesting.

    My page :: how much does cialis cost

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

目次へ