Jacobi楕円関数sn・cn・dnをグラフ・表計算

Jacobi楕円関数sn・cn・dnをグラフ・表計算

modulus kとu格子からJacobi楕円関数sn(u,k)、cn(u,k)、dn(u,k)を同時に計算します。

入力

−1以上1以下のmodulusです。

-100以上100以下の第0点です。

0以外の有限値です。負なら降順になります。

初期値を含む1~201点です。

使い方

  1. modulus kとuの初期値、増分、点数を入力します。
  2. sn、cn、dnの3系列を同じ横軸で生成し、周期、零点、振幅を比較します。
  3. 数値表またはTSVで二つの基本恒等式の残差を検算します。

計算式・考え方

sn(u,k)=sin(am(u,k))、cn(u,k)=cos(am(u,k))、dn(u,k)=√(1−k²sn²(u,k))です。sn²+cn²=1、dn²+k²sn²=1を満たします。

注意事項

  • 参照canonicalの式cn=√(1−sn²)だけではcnの符号が失われます。本実装はAGMで得た振幅のsinとcosからsn、cnを同時に評価するため、cnが負となる半周期も正しく保持します。dnは実数範囲で正の平方根です。
  • k=0ではsn=sin u、cn=cos u、dn=1です。|k|=1ではsn=tanh u、cn=dn=sech uになります。一般の|k|<1ではsnとcnの実周期は4K、dnの実周期は2Kです。kの符号を反転してもk²だけに依存するため値は変わりません。
  • 既定範囲−6から6は複数の変化を見やすくする設定です。零点や極値を高精度に求める専用root finderではないため、グラフから読んだuを厳密解とみなさず、増分を狭めた再計算や逆関数ページで確認してください。
  • この3ページで使うkはJacobi楕円関数と完全楕円積分のmodulusです。ライブラリによってはparameter mを入力するため、その場合はm=k²へ変換します。k=0.8とm=0.8は同じ条件ではなく、このページのk=0.8はm=0.64に対応します。比較結果を保存するときは関数名、横軸、kまたはmのどちらを使ったかを併記してください。
  • 計算は入力検証から最大201点の生成、SVGグラフ、代替数値表、TSV作成までブラウザ内だけで完結します。外部API、サーバー計算、CDN、fetchは使いません。点数に固定上限を設け、各標本のAGMまたはCarlson反復にも固定上限を置き、収束しない値を無制限に追い掛けません。
  • 第1種完全楕円積分Kは|k|=1で発散します。端点を含む系列ではKだけを未定義として線を分断し、同じ点のE=1は残します。非常に大きな有限値、Infinity、0などへ置き換えないため、表の空白は計算漏れではなく発散点を明示したものです。グラフだけでなく数値表も合わせて確認してください。
  • Jacobiのsn、cn、dnはsn²+cn²=1およびdn²+k²sn²=1で相互検算できます。振幅amはsn=sin(am)、cn=cos(am)、dn=∂am/∂uを満たします。個々の値だけでなく、格子全体で恒等式の残差、u=0の値、正負の対称性を調べると実装や母数指定の取り違えを見つけやすくなります。
  • 表示はbinary64の最大15有効桁です。式、入力値、丸め方式が同じでも末尾数桁は別ソフトと異なる場合があります。周期や零点を読む用途では、グラフのピクセル位置だけを根拠にせずTSVの数値を確認し、必要なら増分を小さくして対象区間を狭めてください。これは任意精度計算や数学的証明を代替するものではありません。
  • 検算は一つの既定値だけで終えず、原点、許可端点、正負の対称点、周期の中央を含む小さな格子でも行います。完全楕円積分ではK(0)=E(0)=π/2と偶対称性、Jacobi関数ではu=0のsn=0、cn=dn=1をまず確認します。次に別実装へparameter m=k²を正しく渡し、各行の絶対誤差と相対誤差を比較します。関数名が一致しても母数規約や振幅の枝が違えば、数値精度とは別の系統差になります。
  • 格子の最終値は初期値+増分×(点数−1)で決まります。初期値だけが範囲内でも、途中や最終点が範囲外になる設定は入力間制約で拒否します。増分には負数も使えるため、右から左へ調べることもできますが、0は同じ点を繰り返すだけなので拒否します。広い区間を粗く描いて特徴を把握した後、注目区間を狭くして点数を再配分すると、201点の上限内でも効率よく変化を確認できます。
  • グラフは連続性を理解する補助であり、標本点の間を新たに高精度計算しているわけではありません。急な変化、発散点の近傍、短い周期を含む場合は線分が真の曲線を十分に表さないことがあります。代替表には実際に計算した横軸と値だけを載せ、未定義セルを明示します。TSVへ出した値を再利用するときも、空白を0へ自動変換せず、定義域と標本間隔をメタデータとして残してください。
  • 定義と実数域はNIST Digital Library of Mathematical Functionsの§19.2、§19.25、§22.2、§22.6、§22.16、§22.20を2026年7月13日に照合しました。複素引数、|k|>1の変換、多価逆関数、発散値の正則化は扱いません。有限な通常実数値だけを返す範囲を入力欄と注記で明示します。
  • 有界な倍精度の実数グラフです。発散値、複素値、任意精度計算は扱いません。

よくある質問

cnは常に正ですか?

いいえ。平方根式だけでは符号を決められず、本ページは振幅のcosから正負を保持します。

kの負号で値は変わりますか?

実数Jacobi基本関数はk²に依存するため変わりません。

k=1も使えますか?

はい。有限uではtanhとsechの双曲極限を返します。

入力した母数、横軸条件、生成系列は利用者の端末内だけで処理され、外部へ送信または保存されません。個人情報を入力する欄もありません。