2次元球面のパラメータ付け
二次元球面S2 = { (x,y,z) | x2+y2+z2=r2 } (ただしrは定数)におけるパラメータ付けを- x = r sinθ cosφ
- y = r sinθ sinφ
- x = r cosθ
(%i1) x(\theta,\phi):=r*sin(\theta)*cos(\phi)$
(%i2) y(\theta,\phi):=r*sin(\theta)*sin(\phi)$
(%i3) z(\theta,\phi):=r*cos(\theta)$
とx,y,zを定義できる。
自然基底の作成
x,y,zをθで微分した結果をx1,y1,z1とすると(%i4) define(x1(\theta,\phi),diff(x(\theta,\phi),\theta))$
(%i5) define(y1(\theta,\phi),diff(y(\theta,\phi),\theta))$
(%i6) define(z1(\theta,\phi),diff(z(\theta,\phi),\theta))$
同様にx,y,zをφで微分した結果x2,y2,z2は
(%i7) define(x2(\theta,\phi),diff(x(\theta,\phi),\phi))$
(%i8) define(y2(\theta,\phi),diff(y(\theta,\phi),\phi))$
(%i9) define(z2(\theta,\phi),diff(z(\theta,\phi),\phi))$
として定義する。
これらをベクトルとしてまとめることで、自然基底e1,e2を次のように定義する。
(%i10) e1(\theta,\phi):=[x1(\theta,\phi),y1(\theta,\phi),z1(\theta,\phi)]$
(%i11) e2(\theta,\phi):=[x2(\theta,\phi),y2(\theta,\phi),z2(\theta,\phi)]$
計量テンソルの計算
e1とe2をそれぞれ内積をとって、trigsimpで三角関数の式を簡単化する。(%i12) E(\theta,\phi):=trigsimp(e1(\theta,\phi).e1(\theta,\phi))$
(%i13) F(\theta,\phi):=trigsimp(e1(\theta,\phi).e2(\theta,\phi))$
(%i14) G(\theta,\phi):=trigsimp(e2(\theta,\phi).e2(\theta,\phi))$
計量テンソルの計算ができた。ためしに、
(%i15) E(\theta,\phi);
などとすれば、Eの式を確認できる。
バッチファイルで一気に実行
次のような上で入力した式を記したwxMaximaのバッチファイルを用意する。ファイル名は2sphere.mac。x(\theta,\phi):=r*sin(\theta)*cos(\phi)$
y(\theta,\phi):=r*sin(\theta)*sin(\phi)$
z(\theta,\phi):=r*cos(\theta)$
define(x1(\theta,\phi),diff(x(\theta,\phi),\theta))$
define(y1(\theta,\phi),diff(y(\theta,\phi),\theta))$
define(z1(\theta,\phi),diff(z(\theta,\phi),\theta))$
define(x2(\theta,\phi),diff(x(\theta,\phi),\phi))$
define(y2(\theta,\phi),diff(y(\theta,\phi),\phi))$
define(z2(\theta,\phi),diff(z(\theta,\phi),\phi))$
e1(\theta,\phi):=[x1(\theta,\phi),y1(\theta,\phi),z1(\theta,\phi)]$
e2(\theta,\phi):=[x2(\theta,\phi),y2(\theta,\phi),z2(\theta,\phi)]$
E(\theta,\phi):=trigsimp(e1(\theta,\phi).e1(\theta,\phi))$
F(\theta,\phi):=trigsimp(e1(\theta,\phi).e2(\theta,\phi))$
G(\theta,\phi):=trigsimp(e2(\theta,\phi).e2(\theta,\phi))$
「ファイル(F)」 > 「バッチファイル(B)」から、用意したバッチファイル(2sphere.mac)を選ぶ。
一気に実行されるので、その後参照したい式を入力する。下のスクリーンショットは%i16から%i18が手で入力した式。
次回はwxMaximaでガウス曲率の計算。