球ハンケル関数 数表計算機とは?
このツールは、第1種の球ハンケル関数 h_v^(1)(x) と第2種の球ハンケル関数 h_v^(2)(x)、さらにそれぞれの1階導関数を、指定した整数次数 v について、実引数 x の連続した値ごとに数表として出力する汎用の数学ツールです。これらの関数は複素数値をとるため、各行では実部・虚部に加えて絶対値(大きさ)も表示します。
使い方
まず数表化する関数を選びます(第1種、第2種、またはいずれかの導関数)。次に整数次数 v、x の初期値、x の刻み幅(増分)、生成する点の数を入力します。計算機は k = 0 から N-1 までの各 k に対して x = initialX + k × stepX で行を作成し、選択した関数を各 x で評価します。
計算式の解説
球ベッセル関数は閉じた形で表せます。j_0(x) = sin(x)/x、j_1(x) = sin(x)/x^2 - cos(x)/x、y_0(x) = -cos(x)/x、y_1(x) = -cos(x)/x^2 - sin(x)/x です。これより高い次数は、3項漸化式 f_{v+1} = ((2v+1)/x) f_v - f_{v-1} に従います。そして h_v^(1) = j_v + i y_v、h_v^(2) = j_v - i y_v(複素共役)と定義されます。導関数は f_v'(x) = f_{v-1}(x) - ((v+1)/x) f_v(x) で計算し、f_0' = -f_1 となります。
計算例
v = 0、initialX = 2 のときの h_v^(1)(x) を求めてみましょう。j_0(2) = sin(2)/2 = 0.4546487、y_0(2) = -cos(2)/2 = 0.2080734 なので、h_0^(1)(2) = 0.4546487 + 0.2080734 i となり、絶対値は 1/x = 0.5 です。第2種 h_0^(2)(2) では虚部の符号が反転して -0.2080734 になります。
よくある質問
なぜ x = 0 は使えないのですか? どの計算式も x で割る形になっており、x が 0 に近づくと y_v が発散します。そのため、該当する行は特異点として扱われます。
なぜ |h_0^(1)(x)| は 1/x になるのですか? j_0^2 + y_0^2 = (sin^2 x + cos^2 x)/x^2 = 1/x^2 が成り立つためです。
非整数の次数にも対応していますか? このバージョンは整数次数に厳密な閉じた形と漸化式を用いており、非整数の次数には対応していません。