この計算ツールでできること
このツールは、物理学者流のエルミート多項式 \(H_n(x)\) を、ある一つの固定した次数 \(n\) について、連続する \(x\) の値に対して計算します。結果は \((x, H_n(x))\) の組を並べた表として出力され、あわせて曲線が描画されます。エルミート多項式は、量子力学(調和振動子のエネルギー固有状態)、確率論、数値解析(ガウス・エルミート求積法)など、さまざまな分野で登場します。
使い方
多項式の次数 \(n\)(0, 1, 2, 3, … のような 0 以上の整数)、x の初期値、増分(隣り合う x の間隔)、そして 繰り返し回数(生成する行数)を入力してください。i 番目の x の値は、i = 0 から count−1 まで $$x_i = \text{startX} + i \cdot \text{stepX}$$ で求められます。増分を負の値にすると x が減少する表になり、0 にすると同じ x が繰り返されます。
計算式
ここで扱うのは物理学者流のエルミート多項式で、微分方程式 $$y'' - 2x \cdot y' + 2n \cdot y = 0$$ を満たし、母関数 \(\exp(2xt - t^2)\) によって生成されます。計算には数値的に安定な三項漸化式 $$H_0(x) = 1,\quad H_1(x) = 2x,\quad H_{k+1}(x) = 2x \cdot H_k(x) - 2k \cdot H_{k-1}(x)$$ を用いており、階乗によるオーバーフローを回避します。これは確率論者流の \(\mathrm{He}_n(x)\)(漸化式 \(\mathrm{He}_{k+1} = x \cdot \mathrm{He}_k - k \cdot \mathrm{He}_{k-1}\))とは異なる定義ですのでご注意ください。
計算例
\(n = 3\) のとき、漸化式から \(H_2(x) = 4x^2 - 2\)、\(H_3(x) = 8x^3 - 12x\) が得られます。\(x = -2.5\) では $$8(-15.625) + 30 = -95$$ \(x = 0\) では 0、\(x = 2.5\) では +95 となります。startX = −2.5、stepX = 0.1、繰り返し回数 51 とすると、表は \((-2.5, -95)\) から \((0, 0)\) を経て \((2.5, 95)\) まで続き、奇関数の対称性をもつ三次曲線のような形を描きます。
よくある質問
どちらの定義を使っていますか? \(H_1(x) = 2x\) となる物理学者流の定義 \(H_n\) です。最初の数項は次のとおりです:\(H_0 = 1\)、\(H_1 = 2x\)、\(H_2 = 4x^2 - 2\)、\(H_4 = 16x^4 - 48x^2 + 12\)、\(H_5 = 32x^5 - 160x^3 + 120x\)。
n = 0 のときは? どの \(x\) に対しても \(H_0(x) = 1\) なので、表もグラフも高さ 1 の水平な直線になります。
n が大きいと値が急激に増えるのはなぜ? エルミート多項式は次数 \(n\) や \(|x|\) が大きくなると非常に速く増大し、倍精度浮動小数点ではおよそ 1e308 を超えるとオーバーフローします。きれいなグラフを得るには、n と x の範囲を控えめに設定してください。