가우스-에르미트 구적법이란?
가우스-에르미트 구적법은 음의 무한대에서 양의 무한대까지, 즉 실수 전체 구간에 걸친 적분을 다루는 수치적분 기법입니다. 가우스 가중함수 \(e^{-x^{2}}\)를 중심으로 설계되어 있으며, (가중치를 제거한 의미에서) 차수가 \(2n-1\) 이하인 임의의 다항식에 대해 정확한 값을 줍니다. 순수한 수학에 기반하므로 어느 나라에서 쓰든, 어떤 단위계를 쓰든 규칙은 완전히 동일합니다. 물리학, 통계학(정규분포 하의 기댓값 계산), 공학 분야에서 폭넓게 활용됩니다.
계산기 사용법
먼저 피적분함수의 형태를 고르세요. \((-\infty, \infty)\) 구간에서 적분하려는 함수 전체를 그대로 입력한다면 g(x)를, \(e^{-x^{2}}\) 가중치를 이미 따로 분리해 두었다면 f(x)를 선택합니다. 그다음 변수 x로 이루어진 식을 입력하세요(exp, log, sqrt, sin, cos, tan, sinh, cosh, abs, pi, e, ^ 및 일반적인 연산자를 사용할 수 있습니다). 마지막으로 노드 수 \(n\)을 설정합니다. 매끄럽고 가우스 형태에 가까운 피적분함수일수록 노드를 늘리면 정확도가 높아지며, 보통 8에서 30 사이 값을 사용합니다.
공식 이해하기
이 방법은 물리학자 표기 에르미트 다항식 \(H_n(x)\)의 \(n\)개 근 \(x_i\)에서 피적분함수를 계산한 뒤, 가중치 $$w_i = \frac{2^{n-1}\, n!\, \sqrt{\pi}}{n^{2}\,[H_{n-1}(x_i)]^{2}}$$를 곱해 합산합니다. f-모드에서는 추정값이 다음과 같습니다. $$\int_{-\infty}^{\infty} f(x)\,dx \;\approx\; \sum_{i=1}^{n} w_i\, e^{x_i^{2}}\,f(x_i)$$ g-모드에서는 수정 가중치 \(W_i = w_i\, e^{x_i^{2}}\)로 가중치를 다시 나눠 주어 다음 합을 구합니다. $$\int_{-\infty}^{\infty} e^{-x^{2}}\,g(x)\,dx \;\approx\; \sum_{i=1}^{n} w_i\,g(x_i)$$ 여기서 노드와 가중치는 수치적으로 안정적인 Golub-Welsch 알고리즘으로 계산되며, 이 알고리즘은 대칭 삼중대각 야코비 행렬의 고윳값과 고유벡터를 통해 노드와 가중치를 찾아냅니다.
계산 예시
f-모드에서 \(f(x) = 1\), \(n = 2\)인 경우를 봅시다. 두 노드는 \(x = \pm\frac{1}{\sqrt{2}}\)이며 가중치는 둘 다 \(w = \frac{\sqrt{\pi}}{2} = 0.8862269255\)로 같습니다. 합은 $$0.8862269255 + 0.8862269255 = 1.7724538509$$이며, 이는 실수 전체 구간에서 \(e^{-x^{2}}\)를 적분한 참값인 \(\sqrt{\pi}\)와 정확히 일치합니다. 마찬가지로 g-모드에서 \(g(x) = e^{-x^{2}}\), \(n = 2\)로 두면 수정 가중치가 동일한 답 \(1.7724538509\)를 그대로 복원합니다.
자주 묻는 질문
언제 수렴이 느려지나요? 피적분함수가 \(e^{-x^{2}}\) 곱하기 다항식의 형태로 잘 근사되지 않을 때입니다. 예를 들어 다항식보다 느리게 감쇠하는 함수, 두꺼운 꼬리(fat tail)를 가진 함수, 실수축 위에 특이점이 있는 함수가 그렇습니다. 이럴 때는 \(n\)을 늘리거나 다른 방법을 쓰세요.
g-모드에서 \(e^{x_i^{2}}\) 인자는 무슨 역할을 하나요? 내장된 가우스 가중치를 상쇄해 피적분함수 전체를 그대로 입력할 수 있게 해 줍니다. 다만 바깥쪽 노드에서는 이 값이 매우 커질 수 있으므로, 좋은 결과를 얻으려면 \(g(x)\)가 적어도 \(e^{-x^{2}}\)만큼 빠르게 감쇠해야 합니다.
다항식에 대해서는 정확한가요? 네, f-모드에서는 차수가 \(2n-1\) 이하인 모든 다항식을 정확하게 적분합니다.