quantale's diary

日々の数学/物理等の読書記録

3次元極座標のLaplacian(第1版)

 

3次元極座標のLaplacian(第1版)

  • date: 2020/10/18
  • author: quantale

1. 概要

 
3次元曲座標のLaplacian表示についてMatlabを用いて公式の証明を行う。
 

2. 検証環境

 

3. 3次元極座標のLaplacian表示公式

 
変数変換
に対して
 
が成立する。
 

4. 証明の指針

 
本公式の証明には
  • 方法1: 座標変換の公式から直接計算する。
  • 方法2: 微分形式により計算する。
がある。
「方法1」は前提知識がほとんどないが、証明が非常に冗長になる。
「方法2」は証明が短くて済み、さらに一般形まで示すことができるが、「微分形式」の前提知識が必要となる。
本稿では、初等的な方法により、Matlabを用いた計算を行う
  • 方法3: 「方法1」をMatlabにより計算。
を採用する。
 

5. 証明

 
滑らかな上の関数fについて
を示す。
ここで左辺をLHS(Left-Hand-Side), 右辺をRHS(Right-Hand-Side)と表し、LHS=RHSを以下示す。
連鎖律(Chain-Rule)より
行列で表すと
ここで
と置き,
と表すと
close all; clear; clc; % 初期化
syms x y z; % シンボリック変数x,y,zを定義
syms r theta phi real; % シンボリック変数r,theta,phiを実数型として定義
syms f(r,theta,phi); % シンボリック変数r,theta,phiの関数としてfを定義
x = r*sin(theta)*cos(phi); % xを極座標系で表す
y = r*sin(theta)*sin(phi); % yを極座標系で表す
z = r*cos(theta); % zを極座標系で表す
J = jacobian([x;y;z], [r theta phi]); % 上記Jacobian行列
L = diag([1 r r*sin(theta)]); % 上記対角行列L
U = inv(L) * J.'; %#ok<MINV> % 上記行列U
このときUは直交行列, すなわち (ここで I は恒等変換) を満たす。実際,
simplify(U.' * U)
ans = 
simplify(U * U.')
ans = 
となる。したがって, 。これを用いると
よって xyz-座標系での偏微分-座標系での偏微分の線形結合で表される。
のxyz-座標系での第k成分を と表すと
となる。ここで fを代入することで-座標系での偏微分の線形結合によりを表現できる。同様にも表現できる。
Nab_f = U.' * inv(L) * gradient(f); %#ok<MINV>
Nab_f = Nab_f(r,theta,phi);
D2f = sym(zeros(size(Nab_f)));
Df2(1) = subs(Nab_f(1),f,Nab_f(1));
Df2(2) = subs(Nab_f(2),f,Nab_f(2));
Df2(3) = subs(Nab_f(3),f,Nab_f(3));
左辺(LHS)として の和としてLaplacianを計算する。
LHS = sum(Df2);
右辺(RHS)として各項とその和を求める。
term1 = diff(r^2*diff(f,r),r)/r^2;
term2 = diff(sin(theta)*diff(f,theta),theta)/(r^2*sin(theta));
term3 = diff(f,phi,2)/(r*sin(theta))^2;
RHS = term1 + term2 + term3;
LHS-RHSを計算して
simplify(LHS-RHS)
ans(r, theta, phi) = 
0
によりLHS=RHSが示された。▮

Reference

  • [1] M.Ito, 量子力学がわかる, 技術評論社, 2010.
  • [2] K.Shiraishi, 絶対わかる物理数学, 講談社サイエンティフィック, 2007.
  • [3] T.Oguni, K.Kenichi, MATLAB数式処理による数学基礎, 朝倉書店, 2004.