pianofisica

Mathematics & Physics, Maxima, a bit Python & Wolfram, and Arts

Maximaを使って極座標のラプラシアンを求める

今回は、Maximaを勉強に活用する実践例として、

Maxima極座標ラプラシアンを求める方法を紹介したいと思います。


2次元と3次元のラプラシアン電磁気学量子力学などではおなじみです。


物理学の教科書などで扱う問題の多くは回転対称・球対称な場合なので、

極座標に移って問題を議論するのはごく自然なことです。


しかし、デカルト座標ではあんなに簡単に書けるラプラシアンが、

ひとたび極座標へ座標変換するやいなやその見た目を大きく変えます。


極座標での表式を導出するのにもちょっと手間がかかって、

あっちのサインとこっちのコサインがキャンセルしたり組み合わさったり、

すったもんだの末に授業が1コマ終わってたりします。


このような、単純だけれども面倒な計算にこそコンピュータを使い、ラクをしたいものです。

Maximaはそのようなことを可能にするフリーの(無料の)数式処理ソフトウェアです。

次の記事の中ではMaximaの使い方のごく初歩的な部分を紹介しています:

pianofisica.hatenablog.com

本記事では、2次元、3次元のラプラシアン極座標表示をMaximaを使って求めます。

おまけとして、4次元の極座標で表したラプラシアンも求めてみます。

5次元、6次元の場合についても結果だけ載せておきます。

(考察する対象を容易に拡張できるのもコンピュータを使うメリットです)



2次元ラプラシアン

まずはウォーミングアップとして2次元のラプラシアン

 \displaystyle{\triangle^{(2)}=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}}

を2次元極座標  (r,\theta) で表してみましょう。  (x,y) (r,\theta) の関係は

 x=r\cos\theta\\ y=r\sin\theta

または

 \displaystyle{r=\sqrt{x^2+y^2}\\ \theta=\arctan\left(\frac{y}{x}\right)}

で与えられます。さて、微分の連鎖律から

\displaystyle{\left(\begin{array}{c} \frac{\partial}{\partial x}  \\ \frac{\partial}{\partial y} \end{array} \right)=\left(\begin{array}{c} \frac{\partial r}{\partial x}\frac{\partial }{\partial r}+\frac{\partial \theta}{\partial x}\frac{\partial }{\partial \theta}  \\  \frac{\partial r}{\partial y}\frac{\partial }{\partial r}+\frac{\partial \theta}{\partial y}\frac{\partial }{\partial \theta} \end{array}\right)=R_2\left(\begin{array}{c}\frac{\partial }{\partial r}\\ \frac{\partial }{\partial \theta} \end{array}\right)}

です。ここで行列

 \displaystyle{R_2=\left(\begin{array}{cc} \frac{\partial r}{\partial x} & \frac{\partial \theta}{\partial x}  \\  \frac{\partial r}{\partial y} & \frac{\partial \theta}{\partial y} \end{array}\right)}

を導入しました。この行列は

kill(all)$ assume(r>0)$
r(x,y):=sqrt(x^2+y^2)$ theta(x,y):=atan(y/x)$
r2:matrix([diff(r(x,y),x),diff(theta(x,y),x)],[diff(r(x,y),y),diff(theta(x,y),y)])$
R2:trigsimp(subst(r*sin(theta), y, subst(r*cos(theta), x, r2)));

Maximaに入力することにより

 \displaystyle{R_2=\left(\begin{array}{cc} \cos\theta & -\frac{\sin \theta}{r}  \\  \sin\theta & \frac{\cos\theta}{r} \end{array}\right)}

と計算されます。ここで  f=f(r,\theta) を勝手な関数として

 \displaystyle{T_2=R_2\left(\begin{array}{c} \frac{\partial f}{\partial r}  \\ \frac{\partial f}{\partial \theta} \end{array} \right)}

とすると

 \displaystyle{\triangle^{(2)} f=\left(\begin{array}{cc} \frac{\partial}{\partial x}  & \frac{\partial}{\partial y} \end{array} \right)\left(\begin{array}{c} \frac{\partial f}{\partial x}  \\ \frac{\partial f}{\partial y} \end{array} \right)=\sum_{i=1}^2\left((R_2)_{i1}\frac{\partial}{\partial r}+(R_2)_{i2}\frac{\partial}{\partial \theta}\right)(T_2)_i}

によってラプラシアンを求めることができます:

depends(f,[r,theta])$
T2:R2.matrix([diff(f,r)],[diff(f,theta)]);
Lap2:expand(trigsimp(sum(
R2[i][1]*diff(T2[i][1],r)+R2[i][2]*diff(T2[i][1],theta), i, 1, 2)));

Maximaに入力して上の数式を計算させることにより

 \displaystyle{\triangle^{(2)}=\frac{\partial^2}{\partial r^2}+\frac{1}{r}\frac{\partial}{\partial r} +\frac{1}{r^2}\frac{\partial^2}{\partial \theta^2}}

がわかります。



3次元ラプラシアン

次に3次元のラプラシアン

 \displaystyle{\triangle^{(3)}=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2}}

を3次元極座標  (r,\theta,\varphi) で表してみましょう。 (x,y,z) (r,\theta,\varphi) の関係は

 x=r\sin\theta\cos\varphi\\ y=r\sin\theta\sin\varphi \\ z=r\cos\theta

または

 \displaystyle{r=\sqrt{x^2+y^2+z^2}\\ \theta=\arctan\left(\frac{\sqrt{x^2+y^2}}{z}\right)\\ \varphi=\arctan\left(\frac{y}{x}\right)}

で与えられます。ここで2次元のときと同様に  f=f(r,\theta,\varphi) を勝手な関数として

 \displaystyle{R_3=\left(\begin{array}{ccc} \frac{\partial r}{\partial x} & \frac{\partial \theta}{\partial x} & \frac{\partial \varphi}{\partial x}  \\  \frac{\partial r}{\partial y} & \frac{\partial \theta}{\partial y} & \frac{\partial \varphi}{\partial y} \\  \frac{\partial r}{\partial z} & \frac{\partial \theta}{\partial z} & \frac{\partial \varphi}{\partial z} \end{array}\right) \\ T_3=R_3\left(\begin{array}{c} \frac{\partial f}{\partial r}  \\ \frac{\partial f}{\partial \theta} \\ \frac{\partial f}{\partial \varphi} \end{array} \right)}

を導入します。すると

 \displaystyle{\triangle^{(3)} f=\sum_{i=1}^3\left((R_3)_{i1}\frac{\partial}{\partial r}+(R_3)_{i2}\frac{\partial}{\partial \theta}+(R_3)_{i3}\frac{\partial}{\partial \varphi}\right)(T_3)_i}

によってラプラシアンを求めることができます:Maxima

kill(all)$ assume(r>0)$ assume(sin(theta)>0)$
r(x,y,z):=sqrt(x^2+y^2+z^2)$ theta(x,y,z):=atan(sqrt(x^2+y^2)/z)$ phi(x,y,z):=atan(y/x)$
r3:matrix(
[diff(r(x,y,z),x),diff(theta(x,y,z),x),diff(phi(x,y,z),x)],
[diff(r(x,y,z),y),diff(theta(x,y,z),y),diff(phi(x,y,z),y)],
[diff(r(x,y,z),z),diff(theta(x,y,z),z),diff(phi(x,y,z),z)])$
R3:trigsimp(
subst(r*cos(theta), z, subst(r*sin(theta)*sin(phi), y, subst(r*sin(theta)*cos(phi), x, r3))));
depends(f,[r,theta,phi])$
T3:R3.matrix([diff(f,r)],[diff(f,theta)],[diff(f,phi)])$
Lap3:expand(trigsimp(sum(
R3[i,1]*diff(T3[i][1],r)+R3[i,2]*diff(T3[i][1],theta)+R3[i,3]*diff(T3[i][1],phi), i, 1, 3)));

を入力することにより

 \displaystyle{\triangle^{(3)}=\frac{\partial^2}{\partial r^2}+\frac{2}{r}\frac{\partial}{\partial r} +\frac{1}{r^2}\frac{\partial^2}{\partial \theta^2}+\frac{\cos\theta}{r^2\sin\theta}\frac{\partial}{\partial \theta}  +\frac{1}{r^2\sin^2\theta}\frac{\partial}{\partial \varphi}}

がわかります。

 


4次元ラプラシアン

さいごに4次元のラプラシアン

 \displaystyle{\triangle^{(4)}=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2}+\frac{\partial^2}{\partial w^2}}

を4次元極座標  (r,\theta,\varphi,\psi) で表してみましょう。  (x,y,z,w) (r,\theta,\varphi,\psi) の関係は

 x=r\sin\theta\sin\varphi\sin\psi \\  y=r\sin\theta\sin\varphi\cos\psi\\ z=r\sin\theta\cos\varphi\\ w=r\cos\theta

または

 \displaystyle{r=\sqrt{x^2+y^2+z^2+w^2}\\ \theta=\arctan\left(\frac{\sqrt{x^2+y^2+z^2}}{w}\right)\\ \varphi=\arctan\left(\frac{\sqrt{x^2+y^2}}{z}\right)\\ \psi=\arctan\left(\frac{\sqrt{x^2}}{y}\right)}

です。なんとなくパターンが見えてきますね。あとは省略しますが

kill(all)$ assume(r>0)$ assume(sin(theta)>0)$ assume(sin(phi)>0)$ assume(sin(psi)>0)$
r(x,y,z,w):=sqrt(x^2+y^2+z^2+w^2)$ theta(x,y,z,w):=atan(sqrt(x^2+y^2+z^2)/w)$
phi(x,y,z,w):=atan(sqrt(x^2+y^2)/z)$ psi(x,y,z,w):=atan(sqrt(x^2)/y)$
r4:matrix(
[diff(r(x,y,z,w),x),diff(theta(x,y,z,w),x),diff(phi(x,y,z,w),x),diff(psi(x,y,z,w),x)],
[diff(r(x,y,z,w),y),diff(theta(x,y,z,w),y),diff(phi(x,y,z,w),y),diff(psi(x,y,z,w),y)],
[diff(r(x,y,z,w),z),diff(theta(x,y,z,w),z),diff(phi(x,y,z,w),z),diff(psi(x,y,z,w),z)],
[diff(r(x,y,z,w),w),diff(theta(x,y,z,w),w),diff(phi(x,y,z,w),w),diff(psi(x,y,z,w),w)])$
R4:trigsimp(
subst(r*cos(theta), w,  subst(r*sin(theta)*cos(phi), z, 
subst(r*sin(theta)*sin(phi)*cos(psi), y, subst(r*sin(theta)*sin(phi)*sin(psi), x, r4)))));
depends(f,[r,theta,phi,psi])$
T4:R4.matrix([diff(f,r)],[diff(f,theta)],[diff(f,phi)],[diff(f,psi)])$
Lap4:expand(trigsimp(sum(
R4[i,1]*diff(T4[i][1],r)+R4[i,2]*diff(T4[i][1],theta)+
R4[i,3]*diff(T4[i][1],phi)+R4[i,4]*diff(T4[i][1],psi), i, 1, 4)));

から

 \displaystyle{\triangle^{(4)}={{\partial ^2}\over{\partial r^2}}+{{3}\over{r}}{{\partial }\over{\partial r}}+{{1}\over{r^2}}{{\partial^2}\over{\partial \theta^2}}+{{2\cos \theta}\over{r^2\sin \theta}}{{\partial }\over{\partial \theta}}\\\qquad\qquad\qquad+{{1}\over{r^2\sin ^2\theta}}{{\partial^2}\over{\partial \varphi^2}}+{{\cos \varphi}\over{r^2\sin ^2\theta\sin \varphi}}{{\partial}\over{\partial \varphi}}+{{1}\over{r^2\sin ^2\theta\sin ^2\varphi}}{{\partial^2}\over{\partial \psi^2}}  }

と求まります。


以上の結果から5次元、6次元、…の場合の結果を予想してみて、

その予想が正しかったかどうか、Maximaを使って検証してみるというのも面白いかもしれません。



ちなみに、

答えだけ書いておくと

5次元ラプラシアン

5次元の極座標

 x=r\sin\theta\sin\varphi\sin\psi\sin\chi\\y=r\sin\theta\sin\varphi\sin\psi\cos\chi\\z=r\sin\theta\sin\varphi\cos\psi\\w=r\sin\theta\cos\varphi\\s=r\cos\theta

を使って表した5次元のラプラシアン

 \displaystyle{\triangle^{(5)}=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2}+\frac{\partial^2}{\partial w^2}+\frac{\partial^2}{\partial s^2}\\\quad\ \ \ \, ={{\partial^2}\over{\partial r^2}}+{{4}\over{r}}{{\partial}\over{\partial r}}+{{1}\over{r^2}}{{\partial^2}\over{\partial\theta^2}}+{{3\cos \theta}\over{r^2\sin \theta}}{{\partial}\over{\partial\theta}}+{{1}\over{r^2\sin ^2\theta}}{{\partial^2}\over{\partial\varphi^2}}+{{2\cos \varphi}\over{r^2\sin^2\theta\sin\varphi}}{{\partial}\over{\partial\varphi}}\\\qquad\quad+{{1}\over{r^2\sin^2\theta\sin^2\varphi}}{{\partial^2}\over{\partial\psi^2}}+{{\cos\psi}\over{r^2\sin^2\theta\sin^2\varphi\sin\psi}}{{\partial}\over{\partial\psi}}+{{1}\over{r^2\sin ^2\theta\sin ^2\varphi\sin ^2\psi}}{{\partial^2}\over{\partial\chi^2}}}

です。ついでに、6次元のラプラシアン

6次元ラプラシアン

極座標

x=r\sin\theta\sin\varphi\sin\psi\sin\chi\sin\eta\\y=r\sin\theta\sin\varphi\sin\psi\sin\chi\cos\eta\\z=r\sin\theta\sin\varphi\sin\psi\cos\chi\\w=r\sin\theta\sin\varphi\cos\psi\\s=r\sin\theta\cos\varphi\\t=r\cos\theta

として

 \displaystyle{\triangle^{(6)}=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2}+\frac{\partial^2}{\partial w^2}+\frac{\partial^2}{\partial s^2}+\frac{\partial^2}{\partial t^2}\\\quad\ \ \ \, ={{\partial^2}\over{\partial r^2}}+{{5}\over{r}}{{\partial}\over{\partial r}}+{{1}\over{r^2}}{{\partial^2}\over{\partial\theta^2}}+{{4\cos \theta}\over{r^2\sin \theta}}{{\partial}\over{\partial\theta}}+{{1}\over{r^2\sin ^2\theta}}{{\partial^2}\over{\partial\varphi^2}}+{{3\cos \varphi}\over{r^2\sin^2\theta\sin\varphi}}{{\partial}\over{\partial\varphi}}\\\qquad\quad+{{1}\over{r^2\sin^2\theta\sin^2\varphi}}{{\partial^2}\over{\partial\psi^2}}+{{2\cos\psi}\over{r^2\sin^2\theta\sin^2\varphi\sin\psi}}{{\partial}\over{\partial\psi}}\\\qquad\quad+{{1}\over{r^2\sin ^2\theta\sin ^2\varphi\sin ^2\psi}}{{\partial^2}\over{\partial\chi^2}}+{{\cos\chi}\over{r^2\sin ^2\theta\sin ^2\varphi\sin ^2\psi\sin\chi}}{{\partial}\over{\partial\chi}}\\\qquad\quad+{{1}\over{r^2\sin ^2\theta\sin ^2\varphi\sin ^2\psi\sin ^2\chi}}{{\partial^2}\over{\partial\eta^2}}}

となります。一般の  n 次元の場合は、…もう予想できますね。

 

キーワードMaxima、ベクトル解析、ラプラシアン