まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

4149. 楕円関数、複素平面、上級編、続き^3

2023年07月31日 | 日記

 プログラムでの計算のやり方の解説なので、4139.の続きです。

 ヤコビの楕円関数、sn(u, k)などと書く時、グラフの形を決めるkは母数(modulus)と呼ばれ、実数(0 ≦ k ≦ 1)です。uが関数の入力値で、実数のこともあれば複素数のこともあり、少なくとも本ブログの実数編では実数→実数の関数でした。

 加法定理の公式は複素数でも成り立つので、sn(u + iv)で実数部分と虚数部分に分離が出来て、虚数部分はヤコビの虚変換の公式で補母数k'を用いた実数→実数の関数で計算出来るようになります。
 具体的計算には楕円テータ関数を仲介とすると効率が良く、こちらではkと同じ働きをする係数がτ(タウ)で表され、これは二重周期の周期の比率です。τは一般には普通の複素数ですが、ここでの議論ではτ = iK'/Kなので純虚数となります。Kはヤコビの楕円関数の第一周期で、K'は第二周期で、どちらも実数(kとk'(kの補母数、√(1-k^2) (^は累乗))を用いた完全楕円積分の値)です。
 計算時にはτから計算されるq値が用いられて、楕円テータ関数はqの級数の形になっています。τが純虚数の場合はqは実数になります。

 楕円テータ関数は4種あり、θ1(v, τ)、θ2(v, τ)、θ3(v, τ)、θ0(v, τ)がフルの表記となります。文脈に応じて楕円関数のkが省略されるのと同様にτも普通は省略され、θ1(v)、θ2(v)、θ3(v)、θ0(v)の表記になります。テータは異体字を使うこともあり、普通のθを使うこともあります。
 このvがくせ者で、ヤコビの楕円関数のuとは、v = u/(2K)の関係があります。ところが上述のsn(u + iv)のvと記号が重複してしまいます。さらに、楕円テータ関数は本来は複素関数なので、変数用の文字が足りません。

 混乱を防ぐには慣例を無視せざるを得ず、以下とりあえず、

 w = u/(2K), z = v/(2K')

 と表記することにします。u, v, w, zはいずれも実数です。

 θ2(0)、θ3(0)、θ0(0)は定数としてよく出てくるので、括弧を省略してθ20、θ30、θ00と書くことにします。公式集では数字の添え字は足文字と肩文字が使われます。
 さらに、k'の時のq値をq'と表記します。q'に対応するテータ関数は、θ'では導関数になってしまうので、ここでの独自表記、`θを使用することにします。

 やっと本題に入れます。結論だけ書くと、

 sn(u + iv) = [(k'/k) θ1(w) θ0(w) `θ3(z) `θ0(z) + (ik'/k) θ2(w) θ3(w) `θ1(z) `θ2(z)] / [(θ1(w))^2 (`θ1(z))^2 + (θ0(w))^2 (`θ2(z))^2]

 cn(u + iv) = [(k'/k) θ2(w) θ0(w) `θ2(z) `θ0(z) + (-ik'/k) θ1(w) θ3(w) `θ1(z) `θ3(z)] / [(θ1(w))^2 (`θ1(z))^2 + (θ0(w))^2 (`θ2(z))^2]

 dn(u + iv) = [(k') θ3(w) θ0(w) `θ2(z) `θ3(z) + (-ik') θ1(w) θ2(w) `θ1(z) `θ0(z)] / [(θ1(w))^2 (`θ1(z))^2 + (θ0(w))^2 (`θ2(z))^2]

 です。分母はどれも同じです。式の変換は難しくありません。ただし、途中で、

 k = (θ20/θ30)^2,  k' = (θ00/θ30)^2,  k'/k = (θ00/θ20)^2
 k' = (`θ20/`θ30)^2,  k = (`θ00/`θ30)^2,  k/k' = (`θ00/`θ20)^2

 を用います。
 これでめでたく、

 f(x + iy) = (a + bi) / d

 の形になりました。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする