스트루베 함수란?
스트루베 함수 \(H_{v}(x)\)는 비제차(inhomogeneous) 베셀 방정식의 특수해로 등장하는 특수함수입니다. 음향학, 유체역학, 광학, 전자기학 등의 문제에서 일반 베셀 함수와 함께 자주 나타납니다. 이 계산기는 임의의 실수 차수 \(v\)에 대한 \(H_{v}(x)\)를 사용자가 지정한 \(x\) 값들에 대해 표로 계산해 주므로, 진동하면서 천천히 감쇠하는 함수의 거동을 한눈에 살펴볼 수 있습니다. 순수 수학에 기반한 도구이므로 특정 지역이나 단위에 구애받지 않고 어디서나 동일하게 적용됩니다.
계산기 사용법
네 가지 값을 입력하세요. 차수 v(스트루베 함수의 차수), x 시작값(첫 번째 인수), 증분(연속된 x 값 사이의 간격), 그리고 반복 횟수(생성할 행의 개수)입니다. 그러면 각 인수 \(x_{i} = \text{시작값} + i \times \text{증분}\) 과 그에 대응하는 값 \(H_{v}(x_{i})\)가 표로 출력됩니다. 기본값(\(v = 0\), 시작값 = -10, 증분 = 0.2, 횟수 = 101)을 쓰면 \(x\)가 -10부터 +10까지 훑는 101개의 점이 만들어집니다.
수식 설명
값은 위에 표시된 멱급수로부터 직접 계산됩니다.
$$\mathbf{H}_{v}(x) = \left(\frac{x}{2}\right)^{v+1} \sum_{k=0}^{\infty} \frac{(-1)^{k}\left(\frac{x}{2}\right)^{2k}}{\Gamma\!\left(k+\frac{3}{2}\right)\,\Gamma\!\left(k+v+\frac{3}{2}\right)}$$\(t = x/2\) 로 두면 앞쪽 계수는 \(t^{v+1}\)이고, 각 항은 \((-1)^{k} t^{2k}\)를 두 감마 함수 \(\Gamma(k + 3/2)\)와 \(\Gamma(k + v + 3/2)\)의 곱으로 나눈 값입니다. 감마 함수는 수치적으로 안정적인 란초스(Lanczos) 근사로 계산하며, 인수가 0 이하일 때는 반사 공식 \(\Gamma(z) = \pi / (\sin(\pi z)\, \Gamma(1 - z))\)를 사용합니다. 이 교대급수는 \(|x|\)가 적당한 범위일 때 빠르게 수렴합니다.
계산 예시
\(v = 0\), \(x = 2\)로 두면 \(t = 1\)이고 앞쪽 계수는 1입니다. 급수를 합하면 $$1.273240 - 0.565884 + 0.090542 - 0.007391 + 0.000365 - \ldots \approx 0.79066$$ 이 됩니다. 따라서 \(H_{0}(2) \approx 0.79066\) 으로, 표준 참조값과 일치합니다.
자주 묻는 질문
\(H_{v}(0)\)은 얼마인가요? 차수 \(v > -1\)인 경우 앞쪽 계수 \((x/2)^{v+1}\)이 \(x = 0\)에서 0이 되므로 \(H_{v}(0) = 0\)입니다.
음수나 정수가 아닌 차수도 쓸 수 있나요? 네, 가능합니다. 다만 \(x\)가 음수이고 \(v\)가 정수가 아닐 때는 함수값이 복소수가 되므로 해당 행은 not-a-number로 표시됩니다. \(v = 0\)이거나 정수 차수일 때는 표 전체가 실수로 유지됩니다.
정확도는 어느 정도인가요? 직접 급수 방식은 기본 범위에서 매우 정확합니다. 다만 \(|x|\)가 매우 큰 경우(대략 30 이상)에는 많은 항이 필요하므로 점근 전개(asymptotic expansion)를 쓰는 편이 더 낫습니다.