Egisonで極座標のラプラシアンを3通りの方法で計算
2018年12月25日
これは,数理物理 Advent Calendar 2018の25日目の記事です.
この記事では,極座標のラプラシアンを計算するEgisonプログラムを3通り紹介します.
Egisonは
- テンソルの添字記法
- 未定義関数の引数を省略する記法( `f(x,y,z)` を `f` と表記する記法)
単純に展開していく方法による計算
下記の公式が正しいことを、右辺の`u_(r r)`と`u_r`、`u_(theta theta)`を展開することにより確かめています。
`u_(x x) + u_(y y) = u_(r r) + (1 / r) u_r + (1 / r^2) u_(theta theta)`リーマン幾何学の公式を使う計算法
リーマン幾何学の共変微分の概念を使うと、一般の座標のラプラシアンは以下のように定義できます。
この公式は以下のように展開できます。
`Delta = (1 / sqrt(g)) del_i sqrt(g) g^(i j) del_j`下記のプログラムでは、この公式を用いてラプラシアンを計算しています。
微分形式の幾何学の公式を使う計算法
微分形式は,座標系によらない微分方程式の表現を実現することに役に立つ. ベクトル解析で登場するgrad・rot・divの一般化であるウェッジ積(∧)・外微分(d)・内部積(ι)・ホッジ作用素(*)という限られたオペレーターを組み合わせて,任意の座標系で成り立つ微分方程式を記述できる. Egisonはこれらの微分形式のためのオペレーターの定義も簡潔に記述できる. そのおかげで微分形式によるラプラシアンの記述も簡潔に記述できる. 微分形式を使うとラプラシアンは以下のように表現される.
`Delta = d delta + delta d`