勾配, 発散, 回転

Mathematicaを使って計算および表示を行っているので、Mathematicaが使えるようになったら、実際にプログラムを実行してみることをお勧めする。

勾配の例

ここではf(x,y)=x+yというスカラー関数を取り上げてその勾配(gradient) grad fを考えてみよう。
以下、f(x,y)をいくつかの方法で表示させてみた。斜めに勾配を持っていることがわかる。

Needs["Graphics`PlotField`"]

gra1 = 
      ContourPlot[x + y, {x, -10, 10}, {y, -10, 10}]

DensityPlot[x + y, {x, -10, 10}, {y, -10, 10}]

Plot3D[x + y, {x, -10, 10}, {y, -10, 10}]

このスカラー関数fの勾配はgrad f=i+jと計算できる。このベクトル場を表示してみよう。

gra2 = 
      PlotVectorField[{1, 1}, {x, -10, 10}, {y, -10, 10}]

Show[gra1, gra2]

重ねて表示してみるとスカラー関数の勾配のベクトル場を作っていることが分かる。

発散の例

ベクトルxi+yjの発散(divergence)は2である。このベクトルを表示してみると原点から湧き出しがあることがわかる。

PlotVectorField[{x, y}, {x, -10, 10}, {y, -10, 10}]

回転の例

ベクトル-yi+xjの回転(rotation)は2kとなる。このベクトルを表示してみると原点を中心にx軸からy軸に向かう回転があることが分かる。

PlotVectorField[{-y, x}, {x, -10, 10}, {y, -10, 
        10}]

このようにそれぞれの演算には名前に相当する演算がされていることが分かる。計算をする前に、スカラー関数やベクトル場がどのように表示できるか考えるといいだろう。