- C++ では、boost の特殊関数ライブラリィが便利である。
jacobi_sn(k,u), jacobi_cn(k,u),
jacobi_dn(k,u), jacobi_elliptic(k,u,&cn,&dn)
- Mathematica では、
- 第1種, 第2種, 第3種の完全楕円積分
EllipticK[m],
EllipticE[m], EllipticPi[n,m]
- Legendre の楕円積分
EllipticF[
,
],
EllipticE[
,
],
, EllipticPi[
,
]
以下では、主に boost を用いて色々計算してみる
(単に楕円積分・楕円関数を計算するだけならば、
Mathematica が簡単であろうけれど、
規模の大きな数値計算の中で楕円積分・楕円関数も計算する必要がある、
と言う場合には、C++ や C のような言語で使えるのが望ましい)。
……
とやっているうちに、すべて自分が書いたコードで楕円関数が計算できるようになった。
桂田 祐史