複素ベッセル関数Jν(z)・Yν(z)と導関数の計算
実数次数νと複素引数zから、第1種・第2種Bessel関数Jν、Yνと各z導関数を実部・虚部・絶対値・偏角で計算します。
計算結果
主値枝上の倍精度近似です。分岐切断線付近、零点付近、巨大・微小な結果では丸め誤差と桁落ちに注意してください。
- 複素関数値とz導関数
-
計算すると数値表を表示します。
複素関数値とz導関数。2種類の関数値と各z導関数を4行にし、実部、虚部、絶対値、主偏角ラジアンを同じ表で示します。 関数・導関数 実部 Re 虚部 Im 絶対値 主偏角 [rad]
使い方
- 実数次数ν、複素引数zの実部と虚部を入力します。実数引数なら虚部を0にします。
- 計算するとJν、J′ν、Yν、Y′νを4行で表示します。プライムは次数ではなくzによる微分です。
- 実部・虚部を正本として絶対値と主偏角radを併記し、必要ならヘッダー付き表をコピーします。
- 負の実軸を調べるときは、軸上が上側principal valueで、下側は小さい負の虚部を入力する点に注意します。
計算式・考え方
Bessel方程式z²w''+zw'+(z²−ν²)w=0の標準解Jν(z)、Yν(z)と、複素引数zによる一次導関数を計算します。非整数νの接続式と整数極限、DLMF principal branchを区別します。
注意事項
- 第1種Jνと第2種Yνは同じBessel方程式を解きますが、原点付近の性質とbranchが異なります。非整数次数のJνもz=0をbranch pointに持ち、Yνは整数次数を含め原点で特異な側を含むため、この組計算ではz=0を有限値へ置き換えません。
- 非整数νではYν={cos(πν)Jν−J_(−ν)}/sin(πν)と表せます。しかしνが整数に非常に近いと分子と分母がともに小さくなり、巨大な近接項の差で桁を失います。本engineはこの差商だけに頼らず、整数±1e-10も独立oracleで検証します。
- 導関数はJ′ν=J_(ν−1)−νJν/z=−J_(ν+1)+νJν/z、Y′νも同形の隣接次数式で照合します。どちらもνによる偏微分ではありません。記録へ転記するときはJ′ν(z)と書き、次数微分と誤読されないようにします。
- 正の実引数では実数次数のJνとYνは実数になりますが、負の実軸や一般の複素zでは複素値です。『xが負なら実数表の符号だけを変える』という扱いはせず、指定したprincipal branchのReとImをそのまま確認します。
- Wronskian JνY′ν−J′νYν=2/(πz)は、値と導関数の組が同じbranchで整合しているかを見る検算です。Wronskianが合うだけで全桁の正確さが保証されるわけではないため、normal値は独立高精度oracleとも比較します。
- 検索で『ベッセル関数 計算』『Bessel J Y』『ベッセル関数 複素数』『ベッセル関数 導関数』を調べる利用者を想定します。このページは1点の値と導関数を返し、零点探索、区間グラフ、積分、逆関数は実行しません。
- 円筒対称の波動、熱伝導、拡散、境界値問題ではJとYの線形結合係数や無次元化がモデル側で決まります。本結果だけから境界条件や物理単位を推定せず、ν、z、branch、採用した時間・位相規約を一緒に保存してください。
- 共通安全域は有限実数次数−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値、零点保証、物理的な境界条件の判定は行いません。
よくある質問
複素数はどう入力しますか?
zの実部と虚部を別々の数値欄へ入力します。1+0.5iのような式文字列や関数式は入力しません。
J′νとY′νはνによる微分ですか?
いいえ。どちらも複素引数zによる一次導関数です。
z=0でJ0(0)=1を計算できますか?
このページはYも同時に返すため原点を共通除外します。Jだけの原点極限を求めるページではありません。
負の実数を入れると実数結果ですか?
非整数次数では一般に複素値です。負実軸ちょうどは上側principal valueとして表示します。
入力した次数と複素引数は端末内だけで処理され、外部へ送信・保存されません。計算結果も利用者がコピーしない限り永続化しません。