複素変形球ベッセル関数iν(z)・canonical kνᶜ(z)の計算

複素変形球ベッセル関数iν(z)・canonical kνᶜ(z)の計算

実数次数νと複素引数zから、変形球Bessel関数iν、参照canonical正規化のkνᶜと各z導関数を計算します。

入力

−20以上20以下の有限実数です。複素次数は扱いません。

−50以上50以下です。実数引数にする場合も虚部欄へ0を入力します。

−50以上50以下です。負実軸の下側は0でない小さな負値で指定します。

使い方

  1. 実数次数νと複素引数zの実部・虚部を入力します。
  2. iν、i′ν、canonical kνᶜ、k′νᶜの4行をRe・Im・絶対値・偏角で確認します。
  3. DLMF標準や外部libraryと比べる前に、相手のkがsqrt(π/(2z))かsqrt(2/(πz))かを確認します。
  4. 結果を保存するときは上付きcを残し、DLMF標準へ変換する場合は値と導関数をπ/2倍します。

計算式・考え方

iν(z)=sqrt(π/(2z))I_(ν+1/2)(z)、kνᶜ(z)=sqrt(2/(πz))K_(ν+1/2)(z)と定義し、canonical正規化の値とz導関数を返します。DLMF標準kとの差は2/πです。

注意事項

  • 第1種はiν=sqrt(π/(2z))I_(ν+1/2)です。第2種は参照canonicalに合わせ、kνᶜ=sqrt(2/(πz))K_(ν+1/2)を採用します。DLMF標準kνᴰ=sqrt(π/(2z))K_(ν+1/2)とは係数が異なります。
  • 係数比はsqrt(2/(πz))/sqrt(π/(2z))=2/πなので、kνᶜ=(2/π)kνᴰです。canonical値をπ/2倍すればDLMF標準へ戻ります。値だけでなくz導関数にも同じ一定係数が掛かります。
  • 参照ページの掲載式にはk′ν=−k_(ν−1)−(ν−1)kν/zという係数がありますが、掲載されたkの定義と整合しません。定義とKの導関数から、正しくはk′νᶜ=−k_(ν−1)ᶜ−(ν+1)kνᶜ/zです。
  • 同値なもう一方の式はk′νᶜ=−k_(ν+1)ᶜ+νkνᶜ/zです。二つの隣接次数式とWronskianを照合し、参照の誤記をそのまま再現しません。ν=0の正実数ではk0ᶜ(z)=exp(−z)/zが固定検算になります。
  • DLMFの球関数は主に非負整数nですが、このページは円柱次数ν+1/2の式を定義として−20から20の実数νへ拡張します。Kは円柱次数について偶関数でも、球側のνを単純に符号反転した対称にはなりません。
  • 複素平方根とI/Kのprincipal branchを一体として扱います。負の実軸ちょうどは上側境界値、下側は負の虚部で指定します。正規化係数だけを実数の平方根へ置き換えて複素位相を失わないようにします。
  • Wronskian iν(kνᶜ)′−i′νkνᶜ=−1/z²はcanonical係数での関係です。DLMF標準kを混ぜると全体がπ/2倍ずれるため、列名、本文、copy値のquantityで常に上付きcを残します。
  • 検索では『変形球ベッセル関数 計算』『modified spherical Bessel i k』『球ベッセル k 正規化』『変形球ベッセル 導関数』を想定します。同じk記号でも資料ごとに係数が違うため、式単位で比較する導線を置きます。
  • 正の実軸ではiが増大、kが減衰する代表的な性質がありますが、一般の複素方向で同じ単調性を断定しません。このページはunscaled値を返し、広域scale関数、零点、グラフ、境界条件の解法は扱いません。
  • 共通安全域は有限実数次数−20≤ν≤20、有限複素引数1e−4≤|z|≤50です。実部と虚部が個別に±50以内でも、40+40iのように絶対値が50を超える点は計算しません。第2種を同時に返すためz=0も全ページ共通で除外します。
  • 負の実軸ちょうどはarg(z)=+πの上側principal valueとして固定します。下側境界値はIm(z)<0の別入力です。入力欄で−0を保持できることに依存せず、上下を比較するときは0でない小さな虚部と採用側を記録してください。
  • 結果表はquantity、実部、虚部、絶対値、主偏角radの5列です。複素値を整形文字列だけへ変換せずReとImを数値として保持し、同じ内部値からhypotとatan2を求めます。厳密な0の偏角は未定義としてダッシュ表示します。
  • 表示はIEEE 754 binary64を基礎とする最大15有効桁です。最大15桁を表示できることは15桁すべての正しさを保証しません。整数次数直近、零点近傍、巨大成分の相殺、overflow・underflow近傍では有効桁が減ります。
  • 数値coreは正実軸の監査済み実数値をanchorにし、複素平面では微分方程式を有界なDormand–Prince 5(4)で解析接続します。最大8192 stepで目標へ達しない点、非有限入力、非有限結果は推測値を出さず入力エラーにします。
  • これはNetlib AMOSの移植でも、全複素平面を保証する任意精度libraryでもありません。AMOSの有限性、branch、overflow、作業上限の考え方を照合した、指定安全域のunscaled scalar実装です。広い領域やscale値が必要なら別手段を使います。
  • 入力は利用者のブラウザ内だけで評価され、サーバーや第三者へ送信・保存されません。外部API、CDN、fetch、XMLHttpRequest、WebSocket、位置情報、現在時刻、localStorageを必要とせず、1回の操作で1点だけを計算します。
  • 一次資料は2026年7月15日にNIST DLMF第10章とNetlib AMOSを照合しました。確認URL: https://dlmf.nist.gov/10.2 , https://dlmf.nist.gov/10.6 , https://dlmf.nist.gov/10.11 , https://dlmf.nist.gov/10.25 , https://dlmf.nist.gov/10.29 , https://dlmf.nist.gov/10.47 , https://dlmf.nist.gov/10.51 , https://netlib.org/amos/
  • 同じBesselという名前でも通常型、Hankel、球型、変形型では微分方程式、次数shift、平方根係数、branch、正規化が違います。外部libraryや論文と比較するときは関数記号だけでなく、ν、z、定義式、scale、偏角規約を揃えます。
  • 計算結果は公式定義の学習と代表値の検算を補助します。研究、設計、規格適合の最終値として使う場合は、独立した高精度実装、残差、Wronskian、隣接次数式を組み合わせ、入力と出典の版を再現できる形で保存してください。
  • 表をコピーするときはquantity列を削らず、関数値と導関数、第一種と第二種を区別したまま保存します。絶対値だけでは位相を復元できず、偏角だけでは大きさを復元できません。ReとImを正本として残し、丸め後の表示値から高精度な元値を再構成できるとは考えないでください。
  • 同じ入力を別の計算環境で比較する場合は、実数次数か整数次数か、負実軸の上側か下側か、引数の単位と無次元化、導関数がzによるものかを先に揃えます。数値が一定係数や複素共役だけずれる場合は、誤差と決める前に正規化とbranch規約を式で確認してください。
  • 指定した有界領域のbinary64主値です。任意精度、全複素平面、scaled値、零点保証、物理的な境界条件の判定は行いません。

よくある質問

DLMF標準のkνと同じですか?

同じ円柱Kから作りますが正規化が異なり、このページのkνᶜはDLMF標準値の2/π倍です。

DLMF標準へ変換するには?

kνᶜとその導関数をπ/2倍してください。

なぜkの導関数式を修正したのですか?

参照に掲載された定義とDLMFのK導関数から再導出し、係数をν+1へ整合させたためです。

ν=0で正規化を確認できますか?

正の実数zではk0ᶜ(z)=exp(−z)/zです。z=1ならexp(−1)になります。

入力した次数と複素引数は端末内だけで処理され、外部へ送信・保存されません。計算結果も利用者がコピーしない限り永続化しません。