この計算ツールでできること
このツールは、第一種変形球ベッセル関数 \(i_v(x)\) を、固定した次数 \(v\) について連続した \(x\) の値ごとに計算し、数表とグラフにします。初期値 \(x\) からスタートし、指定した回数だけ一定の刻み幅を加えていくことで、\(k = 0, 1, \dots, \text{loopCount}-1\) に対する $$x_k = \text{initialX} + k \times \text{stepX}$$ の各行を生成し、それぞれの \(i_v(x_k)\) を求めます。
計算式の解説
変形球ベッセル関数は、第一種変形(円筒)ベッセル関数 \(I\) を用いて $$i_v(x) = \sqrt{\frac{\pi}{2x}} \times I_{v+\frac{1}{2}}(x)$$ と定義されます。0 以上の小さな整数次数では、双曲線関数を使った便利な閉形式があります。\(i_0(x) = \frac{\sinh(x)}{x}\)、\(i_1(x) = \frac{x \cosh x - \sinh x}{x^2}\)、\(i_2(x) = \frac{(x^2+3) \sinh x - 3x \cosh x}{x^3}\) です。さらに高い整数次数は、漸化式 $$i_{n+1}(x) = i_{n-1}(x) - \frac{2n+1}{x} i_n(x)$$ によって順に求められます。一般の実数次数 \(v\) の場合は、ガンマ関数を用いたべき級数から \(I_{v+\frac{1}{2}}(x)\) を評価します。
使い方
次数 \(v\)(例:0、1、あるいは 0.5 のような半整数)、\(x\) の初期値、刻み幅、そして行数を入力します。結果は \(x\) と \(i_v(x)\) の2列の数表で表示され、先頭の値が上部にハイライトされます。なめらかな曲線を得たい場合は、0.1 のような小さな刻み幅を使うとよいでしょう。
計算例
\(v = 0\)、\(\text{initialX} = 0\)、\(\text{stepX} = 0.1\)、\(\text{loopCount} = 51\) とすると、関数 \(i_0(x) = \frac{\sinh(x)}{x}\) が使われます。\(x = 0\) の最初の行では極限値 1 になります。\(x = 1\) では $$\frac{\sinh(1)}{1} = 1.17520119$$ \(x = 5\)(最後の行)では $$\frac{\sinh(5)}{5} = 14.84064212$$ となり、曲線は 1 から約 14.84 までなめらかに増加します。
よくある質問
x = 0 のときはどうなりますか? \(\sqrt{\frac{\pi}{2x}}\) の形は \(x = 0\) で特異になるため、このツールは極限値を返します。すなわち \(i_0(0) = 1\)、\(v > 0\) では \(i_v(0) = 0\) です。
次数を半整数にできますか? はい。任意の実数次数を指定できます。整数でない次数は \(I_{v+\frac{1}{2}}(x)\) の級数によって計算されます。
x を負にできますか? 整数次数の閉形式は負の \(x\) に対しても定義されますが、一般次数の場合は \(x \geq 0\) に制限されます。負の引数の主値平方根が複素数になってしまうためです。