極座標のヤコビアン

三次元空間の極座標表示は、 (x, y, z) = (r\sin\theta\cos\phi, r\sin\theta\sin\phi, r\cos\theta) となる。そのヤコビアンの計算は手計算でも十分可能(たとえば 極座標のヤコビ行列とヤコビアン : 3次元 - 倭算数理研究所 参照)だが、練習のため Maxima でやってみる。

(%i3) jacobian([r*sin(theta)*cos(phi), r*sin(theta)*sin(phi), r*cos(theta)], [r, theta, phi]);
      [ cos(phi) sin(theta)  cos(phi) r cos(theta)  - sin(phi) r sin(theta) ]
      [                                                                     ]
(%o3) [ sin(phi) sin(theta)  sin(phi) r cos(theta)   cos(phi) r sin(theta)  ]
      [                                                                     ]
      [     cos(theta)          - r sin(theta)                 0            ]
(%i5) determinant(%o3);
         2       2    3
(%o5) cos (phi) r  sin (theta) - sin(phi) r sin(theta)
                  2                        2
 (- sin(phi) r sin (theta) - sin(phi) r cos (theta))
      2       2    2
 + cos (phi) r  cos (theta) sin(theta)
(%i7) factor(%o5);
           2           2        2                2             2
(%o7)  (sin (phi) + cos (phi)) r  sin(theta) (sin (theta) + cos (theta))
(%i9) trigsimp(%o5);
                                  2
(%o9)                            r  sin(theta)

得られた結果の整理には、trigsimp 関数を使う。factor 関数では不十分。
(三角関数の整理には、%piargs などのスイッチがある。マニュアル参照)