OBSOLETE VECTOR ANALYSIS パッケージ チュートリアル
バージョン9.0で,ベクトル解析機能は
Mathematica に組み込まれた

ベクトル解析パッケージ
三次元座標系とは,空間の各点に3つの数字を割り当てるものである.座標系を定義する際は,何を測定するか,また,どのように測定するかを決めなければならない.物理座標系が,ある特定の座標系を特に有用なものとする特殊な対称性や構造を示すことがよくある.これらの座標系に関連する問題の解を数学的にエレガントに求めるためには,正しい座標を選ぶことが主要な手順となることが多い.
このパッケージでは,さまざまな三次元座標系で微積分を行うための多様なツールを提供する.与えられた記号式あるいは数式が座標系によって異なる意味を持つことがあるので,使用している座標系および座標変数を Mathematica に知らせる必要がある.最初のデフォルトの座標系はCartesianで,座標変数はXx,Yy,Zzである.別の座標系を頻繁に使用する人は,SetCoordinatesを使ってデフォルトの座標系を変更するとよい.
座標系と座標変数
| Out[2]= |  |
| Out[3]= |  |
すべての座標系は,1つのパラメータを持つ3つの面の族から派生したものと捉えることができる.各点に割り当てられた3つの数(つまり座標)は,単にその点がどの族のメンバであるかを示すものである.これらの族のメンバは座標面と呼ばれる.最も簡単な例を挙げると,Cartesian系の座標面は座標平面に平行な平面の族のメンバである.複雑な系になると,座標面が楕円面,双曲面,楕円放物面などの二次曲面の族に属することがよくある.また,焦点距離や半径のようなパラメータに依存するような特別な座標面の族もある.この場合,座標系全体がパラメータに依存する.パラメータにははじめにデフォルト値を与えておき,後でSetCoordinatesを使って再設定することができる.
座標系
座標系の定義は,文献によって異なることがよくある.このパッケージの座標系を使用するときは,以下に挙げる定義を読み,それが本当に使いたいものかどうかを確認する必要がある.このパッケージで使われている座標系の定義を調べるためには,以下に示すようにCoordinatesToCartesian[pt, coordsys]を使うのが最も簡単な方法である.これにより直交座標に変換するための公式が得られる.
直交座標系Cartesian[x, y, z]は,三次元の標準的な直交座標系である.
円筒座標系Cylindrical[r, theta, z]は,x-y 平面上の点を特定するのに極座標 r と
を,その点の x-y 平面からの高さを示すのに座標 z を使う.
球座標系Spherical[r, theta, phi]では,座標 r が原点から点までの距離を,座標
が正の z 軸からの角度を,座標
が正の z 軸から時計と反対方向での x-y 平面における正の x 軸からの角度を与える.
放物筒座標系ParabolicCylindrical[u, v, z]では,座標 z を常に固定したままで座標 u あるいは v のどちらか一方を変化させることで,向かい合せの放物線を生成する.座標 z は共焦点の軸上の距離を指定する.
放物面座標系Paraboloidal[u, v, phi]では,座標
を常に固定したままで座標 u あるいは v のどちらか一方を変化させることで,向かい合せの放物線を生成する.座標
は,共通の2等分線についての回転を指定する.
楕円柱座標系EllipticCylindrical[u, v, z, a]は,a によってパラメータ化されており,
によって分離される2つの焦点の周りに構築される.座標 u を常に固定したままで他の座標を変化させることで,共焦点の楕円の族を生成する.座標 v を固定すると共焦点の双曲線の族が生成される.座標 z は共焦点の軸上の距離を指定する.パラメータ a のデフォルト値は
である.
扁長回転楕円体座標系ProlateSpheroidal[xi, eta, phi, a]は,a によりパラメータ化されており,2つの焦点を結ぶ軸について楕円筒座標を回転させることで得られる.座標
は回転を指定する.パラメータ a のデフォルト値は
である.
偏球座標系OblateSpheroidal[xi, eta, phi, a]は a によりパラメータ化されており,2つの焦点を結ぶ軸に垂直な軸について楕円柱座標を回転させることで得られる.座標
は回転を指定する.パラメータ a のデフォルト値は
である.
双極座標系Bipolar[u, v, z, a]は,a によりパラメータ化されており,
によって分離される2つの焦点の周囲に構築される.座標 u を常に固定しておくと,両方の焦点を通過する円の族が生成される.座標 v を固定すると,焦点の1つについて退化楕円の族を生成する.座標 z は共焦点の軸上の距離を指定する.パラメータ a のデフォルト値は
である.
双球座標系Bispherical[u, v, phi, a]は,a によりパラメータ化されており,座標
が方位角を測定するという点だけ双極座標系と異なる.
トロイダル座標系Toroidal[u, v, phi, a]は,a によりパラメータ化され,2つの焦点を結ぶ軸に垂直な軸について双極座標を回転させることで得られる.座標
は回転を指定する.パラメータ a のデフォルト値は
である.
円錐座標系Conical[lambda, mu, nu, a, b]は,a と b によりパラメータ化され,座標
を固定することによって描かれる曲面は原点を中心とする球面となる.座標
を固定すると原点を頂点として z 軸に沿った軸を持つ円錐が得られ,座標
を固定すると原点を頂点として y 軸に沿った軸を持つ円錐が得られる.パラメータ a と b のデフォルト値はそれぞれ
,
である.
共焦楕円座標系ConfocalEllipsoidal[lambda, mu, nu, a, b, c]は a,b,c によってパラメータ化され,座標
を固定することで描かれる曲面は楕円面となる.座標
を固定することで一葉双曲面が,座標
を固定することで二葉双曲面が得られる.パラメータ a,b,c のデフォルト値は,それぞれ
,
,
である.
共焦放物座標系ConfocalParaboloidal[lambda, mu, nu, a, b]は a と b でパラメータ化され,座標
を固定することによって描かれる面は負の z 方向に伸張する楕円放物面である.座標
を固定すると双曲放物面が,座標
を固定すると正の z 方向に伸張する楕円放物面が得られる.パラメータ a および b のデフォルト値は,それぞれ
,
である.
座標変数の範囲とパラメータ
| Out[4]= |  |
これは,
Bipolar系には正の数でなければならないパラメータが1つあることを意味している.このパラメータのデフォルト値は

である.
| Out[5]= |  |
| Out[6]= |  |
Conical座標系にはパラメータが2つあり,2つ目のパラメータは常に最初のものよりも大きくなければならない.
| Out[7]= |  |
直交座標への変換と直交座標からの変換
| Out[8]= |  |
変数を記号形式で与えると,一般的な座標変換公式が得られる.
| Out[9]= |  |
| Out[10]= |  |
内積やクロス積など,標準的なベクトル積の操作は通常直交座標系で定義され計算される.異なる座標系で与えられたベクトルの場合は,DotProduct,CrossProduct,ScalarTripleProductを使ってベクトル積を計算することができる.これらの関数は与えられたベクトルを直交座標に変換した後,標準定義を使って積を計算する.
さまざまな座標系でのベクトル積の計算
| Out[11]= |  |
| Out[12]= |  |
幾何的に見ると,スカラー三重積が3つのベクトルによって計測される平行六面体の体積を求める.
| Out[13]= |  |
弧長の微分
直交座標では弧長の微分は
である.パラメータ化された曲線の積分を別の座標系で計算する場合は,その座標系に適した形式を使う必要がある.曲線上の積分を求めるには,弧長にパラメータ化をプラグインして,適切な導関数を計算してからそのパラメータについて積分しなければならない.関数ArcLengthFactorはパラメータ化を引数として取り,曲線上の弧長の導関数を求める公式を返す.
| Out[14]= |  |
以下は螺旋上の

について,弧長の導関数が

であることを意味している.パラメータ化を
Cartesian座標の分子の運動を記述するものと考えると,これは分子の速さが

であることを意味する.
| Out[15]= |  |
| Out[17]= |  |
座標変換の導関数は,偏導関数の行列である.三次元座標系の場合は,行列は常に3×3であり,ヤコビ(Jacobian)行列と呼ばれることもある.この行列の行列式は,変換のヤコビ行列式あるいはヤコビアンと呼ばれる.この行列式は変換による体積の微量の変化を測定する.このため,ヤコビ行列式は,座標変換の際に体積の微分形式を適応させるのに必要な倍数因子なのである.
変換行列導関数,その行列式,スケール係数
| Out[18]= |  |
座標変換の導関数の行列式は,微量の体積変化を与える.
| Out[19]= |  |
この三重積分は,球座標を使って半径

の球体上の関数

の積分を計算する.積分は
Spherical座標で表されるので,非積分関数にはヤコビアンが含まれていることに注目のこと.
| Out[20]= |  |
| Div[f] | デフォルトの座標系におけるベクトル場 f の発散を与える |
| Curl[f] | デフォルトの座標系におけるベクトル場 f の回転を与える |
| Grad[f] | デフォルトの座標系におけるスカラー関数 f の勾配を与える |
| Laplacian[f] | デフォルトの座標系におけるスカラー関数 f のラプラシアンを与える |
| Biharmonic[f] | デフォルトの座標系におけるスカラー関数 f のラプラシアンのラプラシアンを与える |
| Div[f,coordsys], Curl[f,coordsys]等 | 座標系が coordsys である場合の結果を与える |
一般的な微分操作
前述のベクトル積でもそうであるように,三次元における一般的な微分操作はCartesian座標で定義されている.別の座標系での作業中に,ベクトル積や微分を計算したい場合は,原則としてまずCartesian座標系に変換してから計算を行わなければならない.Laplacian,Grad等の関数で座標系を指定する場合は,この変換は自動的に実行される.
| Out[21]= |  |
| Out[22]= |  |
| Out[23]= |  |