maximaでベクトル解析
変形の手助け
式変形で,手計算が大変なときには,maximaを使うことが多い.しかし,ベクトル解析などの場合は,その取り扱い方がよく分からなかったので,これまでは使えなかったが,一応できるようだ.例えば,こんな感じで.
load("vect"); depends([f,p],[x,y,z]); div(grad(f*p)); express(%); ev(%,diff);
fとpが座標に依存することを明示して,式を定義する.ちなみに,rotはcurlを使う.その後で,それを展開したり,微分の公式を適用したりする.と,変形ができる.これをdivなどを使った表記に戻す方法が分からないが.あと,変数の間の関係式を代入するためには,ratsubstを使うと良いようだ.
(x+1)^2+(y+1)^2; ratsubst(1,x^2+y^2,%);
これらを使うと,これまで計算できなかった変形ができるようになった.これで,式変形が進むかな.