슈트루베 함수란?
슈트루베 함수는 \(\mathbf{H}_{\text{v}}(\text{x})\)로 표기하며, 수리물리학 전반에 걸쳐 등장하는 특수함수입니다. 천문학자 헤르만 슈트루베(Hermann Struve)의 이름을 딴 이 함수는 비제차(inhomogeneous) 베셀 미분방정식의 한 특수해로 자연스럽게 나타납니다. 음향학(진동하는 피스톤의 방사), 유체역학, 전자기학, 비정상 공기역학 등 다양한 분야에서 만나게 되죠. 이 계산기는 임의의 실수 차수 v와 인수 x에 대해 \(\mathbf{H}_{\text{v}}(\text{x})\) 값을 계산합니다.
공식
슈트루베 함수는 다음의 수렴 멱급수로 정의됩니다.
$$\mathbf{H}_{\text{v}}\!\left(\text{x}\right) = \left(\frac{\text{x}}{2}\right)^{\text{v}+1} \times \sum_{k=0}^{\infty} \frac{(-1)^{k}\left(\frac{\text{x}}{2}\right)^{2k}}{\Gamma\!\left(k+\frac{3}{2}\right)\cdot\Gamma\!\left(k+\text{v}+\frac{3}{2}\right)}$$
여기서 \(\Gamma\)는 감마 함수입니다. 이 급수는 모든 실수 x에 대해 수렴하지만, |x|가 클 경우에는 많은 항이 필요하므로 점근 전개(asymptotic expansion)를 쓰는 편이 더 효율적입니다. 본 계산기는 감마 인자에 란초스 근사(Lanczos approximation)를 적용하고, 오버플로를 방지하기 위해 안정적인 항 비(term-ratio) 점화식을 사용해 급수를 직접 합산합니다.
사용 방법
차수 v(임의의 실수)와 인수 x를 입력하세요. 차수가 정수가 아닐 때는 \(\text{x} \ge 0\)을 유지해야 합니다. 음수 x에서는 \(\left(\frac{\text{x}}{2}\right)^{\text{v}+1}\)이 복소수가 되기 때문이죠. 계산 버튼을 누르면 \(\mathbf{H}_{\text{v}}(\text{x})\) 값을 얻을 수 있습니다. 두 입력값 모두 단위가 없는 순수한 무차원 숫자입니다.
계산 예시
기본값인 \(\text{v} = 0\), \(\text{x} = 1\)로 계산해 보겠습니다. 이때 \(\text{half} = 0.5\), \(\text{half}^2 = 0.25\)이고, 선행 인자 \(\left(\frac{\text{x}}{2}\right)^{\text{v}+1} = 0.5\)입니다. 급수의 처음 몇 항은 \(1.273239545,\ -0.141471061,\ 0.005658842,\ -0.000115487,\ \ldots\) 이며, 이를 모두 더하면 약 \(1.137313265\)가 됩니다. 여기에 선행 인자 \(0.5\)를 곱하면 \(\mathbf{H}_{0}(1) \approx 0.5686566\)이 되어, 알려진 고정밀 값 \(0.56865663339780\)과 일치합니다.
자주 묻는 질문
v가 음수나 분수여도 되나요? 네, 됩니다. 이 급수는 \(\text{v} + \frac{3}{2}\)가 0 또는 음의 정수가 되는 경우(\(\text{v} = -1.5,\ -2.5,\ \ldots\))를 제외하면 모든 실수 v에 대해 유효합니다. 해당 경우에는 감마 함수의 역수가 그 항을 자동으로 0으로 만들어 주므로 별도의 처리가 필요 없습니다.
x = 0일 때는 어떻게 되나요? \(\text{v} > -1\)일 때는 \(\left(\frac{\text{x}}{2}\right)^{\text{v}+1}\) 선행 인자가 0이 되므로 함수 값도 0입니다. 계산기는 0을 반환합니다.
x가 클 때도 정확한가요? 멱급수는 |x|가 대략 30을 넘어서면 항들이 상쇄되면서 정밀도가 떨어집니다. 인수가 매우 큰 경우에는 점근 전개를 사용하는 편이 더 나은 결과를 줍니다.