linalg[curl] - ベクトルの回転
使い方
curl(f, v)
curl(f, v, co)
パラメータ
f - 3つの式からなるリストまたはベクトル
v - 3つの変数からなるリストまたはベクトル
co - (オプション), 型 `=` を持つか、または3つの要素からなるリスト。このオプションは直交曲線座標系で回転を計算するのに用いられます。
|
説明
|
|
•
|
curl(f,v) は v に関する f の回転 (curl) を計算します。ここで、f は3変数 v についての3次元関数です。3番目の引数が与えられなかったときは、f の回転 (curl) を直交座標系で計算します。
|
•
|
オプションの3番目の引数 co が、coords = coords_name,または coords = coords_name([const]) ならば、curl はよく用いられる直交曲線座標系上で作用します。Maple でサポートされている座標系のリストについては、?coords を見て下さい。
|
単位ベクトル a[1], a[2], a[3], スケール因子 h[1], h[2], h[3] をもつ
直交曲線座標 v[1], v[2], v[3] に対し、
x,y,z を指定された直交曲線座標により定義される直交座標とする。次が成り立つ:
h[n]^2 = [diff(x,v[n])^2 + diff(y,v[n])^2 + diff(z,v[n])^2], n=1,2,3.
f の回転の公式は以下のように与えられる:
curl(f) = [1/(h[2]*h[3])*(diff(h[3]*f[3],v[2])-diff(h[2]*f[2],v[3])),
1/(h[3]*h[1])*(diff(h[1]*f[1],v[3])-diff(h[3]*f[3],v[1])),
1/(h[1]*h[2])*(diff(h[2]*f[2],v[1])-diff(h[1]*f[1],v[2]))];
|
もし co がスケール因子を指定する3つの要素からなるリストならば、curl は直交曲線座標系の上で作用します。
|
•
|
他の直交曲線座標系で回転を計算するには、ルーチン addcoords を使って下さい。
|
•
|
コマンド with(linalg,curl) により、このコマンドの省略形を使えます。
|
|
|
例
|
|
Warning, the protected names norm and trace have been
redefined and unprotected
| |
>
|
f := [x^2, x*z, y^2*z]: v := [x, y, z]:
curl(f, v);
|
| (2.1) |
>
|
g := [r, sin(theta), z]: v := [r, theta, z]:
curl(g, v, coords=cylindrical);
|
| (2.2) |
は円柱座標系でスケール因子を定義します
>
|
h := [1, r, 1]:
curl(g, v, h);
|
| (2.3) |
>
|
i := [r, sin(theta)*r, cos(phi)*r]: v := [r, theta, phi]:
curl(i, v, coords=spherical);
|
| (2.4) |
|
|