二重階乗とは
二重階乗は x!! と書き、1 または 2 まで「1 つおき」に整数を掛け合わせた積を表します。奇数の場合は奇数だけを掛け(例:\(5!! = 5\cdot 3\cdot 1 = 15\))、偶数の場合は偶数だけを掛けます(\(6!! = 6\cdot 4\cdot 2 = 48\))。慣例として \(0!! = 1\)、\((-1)!! = 1\) と定義されます。本ツールではガンマ関数を用いて定義を任意の実数 x まで拡張しているため、0.5!! のような非整数の点も計算できます。
使い方
次の 3 つの数値を入力します。x の初期値(数列の最初の点)、増分(各行ごとに x へ加える値)、繰り返し回数(生成する行数)です。ツールは $$x_i = \text{初期値} + i\cdot\text{増分}, \quad i = 0, 1, \dots, \text{回数}-1$$ という数列を作り、各 x とその二重階乗を並べて表示します。初期値 = 1、増分 = 1 とすれば、おなじみの 1!!, 2!!, 3!!… の数表が得られ、増分を小数にすれば滑らかな解析的曲線の様子も確認できます。
計算式の解説
整数の場合は丸め誤差を避けるため、正確な積の計算(ループ)で求めます。一般の実数 x については解析接続 $$x!! = \left(\frac{2}{\pi}\right)^{\frac{1-\cos(\pi x)}{4}} 2^{\frac{x}{2}}\,\Gamma\!\left(\frac{x}{2}+1\right)$$ を適用します。ここで \(\Gamma\) はガンマ関数で、ランチョス近似により計算しています。x が偶数のときは \(\cos(\pi x) = 1\) となるため \((2/\pi)\) の因子は 1 になって消え、x が奇数のときは \(\cos(\pi x) = -1\) となって \((2/\pi)^{1/2}\) の補正項が現れます。いずれの場合も整数の定義と一致します。
計算例
初期値 = 1、増分 = 1、回数 = 8 とすると、各行は (1,1), (2,2), (3,3), (4,8), (5,15), (6,48), (7,105), (8,384) となります。x = 5 を計算式で確かめると、\(\cos(5\pi) = -1\) なので指数は 0.5、\((2/\pi)^{0.5} = 0.7979\)、\(2^{2.5} = 5.6569\)、\(\Gamma(3.5) = 3.32335\) となり、 $$0.7979 \cdot 5.6569 \cdot 3.32335 \approx 15$$ が得られます。
よくある質問
x は整数でなければいけませんか? いいえ。ガンマ関数による解析接続を用いるため、任意の実数 x で計算できます。
値が空白や無限大になるのはなぜですか? 負の偶数(-2, -4, …)はガンマ関数の極にあたるため定義されません。これらは NaN(非数)または無限大として表示されます。
どのくらい大きな値まで扱えますか? 二重階乗は階乗的に急速に増大し、x が大きいと倍精度浮動小数点数の範囲をあふれてしまいます。非常に大きな値を扱う場合は回数を控えめにしてください。