2025년 1월 7일 화요일

가우스 구적법(Gaussian Quadrature)

[경고] 아래 글을 읽지 않고 "가우스 구적법"을 보면 바보로 느껴질 수 있습니다.


(a) 1차원

(b) 2차원
[그림 1] 가우스 구적법의 적용(출처: wikipedia.org)

정적분(definite integral)리만 적분(Riemann integral)으로 구할 때는 별생각 없이 적분 변수 x의 간격 Δx를 동일하게 가정하고 수치 적분(numerical integration)을 적용한다. 하지만 이 방식이 적분값을 구하는 효율적인 기법일까? 등간격 Δx란 조건을 다르게 설정하려면, 수치 적분에 쓰는 가로 좌표(abscissa) xi의 위치를 [그림 1]처럼 불규칙하게 놓는다. 보통 사람은 이 정도 생각에서 멈추지만 천재가 손을 대면 최종 결과가 많이 달라진다. 1814년가우스 37세, 조선 순조 시절에 가우스Carl Friedrich Gauss(1777–1855)는 간격이 다른 가로 좌표 xi를 선택하고 함수값 f(xi)에 적절한 가중치(weight) wi를 곱할 경우, 기존 방법보다 더 빠르고 정확하게 적분을 구할 수 있다는 가우스 구적법(求積法, Gaussian quadrature)을 발견했다[1], [2].

                          (1)

여기서 f(x)가 차수 2n1 이하인 다항식(polynomial)이면 등호가 성립한다. 가중치 wi크리스토펠 수(Christoffel number)로 부르기도 한다. 세상 일을 자연수로 헤아리기 좋아하는 사람들이 인류 역사상 3대 수학 천재[아르키메데스, 뉴턴, 가우스]로 꼽는 가우스가 했다니까 식 (1)에서 무언가 신비감을 느끼기도 한다. 그러나 가우스 구적법은 르장드르 다항식(Legendre polynomial)과 다항식의 직교성에 대한 쉬운 관찰에서 출발한다.

                  (2a)

여기서 Pn(x)n(degree) 르장드르 다항식이다. 임의의 xm에 대해 식 (2a)가 성립하므로, 차수가 n1인 모든 다항식 pn1(x)는 르장드르 다항식과 반드시 직교한다.

                  (2b)

여기서 Pn(x)다항식 차수n이다. 그러면 나눗셈(division)의 성질에 따라 차수가 2n1인 다항 함수 f2n1(x)Pn(x)로 나누어서 정리할 수 있다.

                  (3a)

여기서 몫(quotient) qn1(x)와 나머지(remainder) rn1(x)는 차수가 모두 n1이다. 식 (3)을 적분하면 식 (2b)로 기술된 직교성으로 인해 rn1(x)의 적분으로 표현된다.

                  (3b)

다음 단계로 다항식 rn1(x)n1차 라그랑주 보간(Lagrange interpolation) Ln1(x)로 다시 쓴다.

                  (4)

여기서 ()x에 대한 미분, li(x)는 차수가 n1인 라그랑주 다항식(Lagrange polynomial)이다. 식 (4)를 식 (1)과 맞추기 위해 가로 좌표 x를 등간격이 아닌 르장드르 다항식의 영점(zero)xi로 선택한다. 그러면 f2n1(xi) = rn1(xi)라는 직관적인 결과가 나온다. 최종적으로 르장드르 다항식을 사용한 가우스 구적법은 다음 관계를 가진다.

                          (5)

여기서 르장드르 다항식의 성질로 인해 모든 영점은 단순근이며 열린 구간 (1,1) 안에 n개가 존재한다. 식 (5)는 가우스–르장드르 구적법(Gauss–Legendre quadrature)으로 이름 붙인다.
가우스 구적법을 중심으로 본 르장드르 다항식은 다른 다항식과 직교성이 성립하는 신기한 성질이 있다. 이는 르장드르 다항식이 특별해서일까? 아니다. 다항식끼리 서로 직교하는 직교 다항식(orthogonal polynomial)의 범주에 르장드르 다항식이 속해서 이런 특성이 존재한다. 직교 다항식 ψn(x)는 내적(inner product)을 식 (2), (6)과 같은 적분으로 정의하고 그람–슈미트 과정(Gram–Schmidt process)을 적용해서 다양하게 정의될 수 있다.

                  (6)

여기서 m<n; ψn(x)의 차수는 n, w(x)는 가중치 함수(weight function)이다. 그래서 르장드르 다항식이 특별하기보다 직교 다항식에 속하는 특수 함수 중의 하나로 처리될 뿐이다.
르장드르 다항식을 쓰는 가우스 구적법에서 관찰한 성질을 바탕으로 직교 다항식을 활용하는 가우스 구적법의 기본 정리(fundamental theorem of Gaussian quadrature)를 증명한다.

[가우스 구적법의 기본 정리(fundamental theorem of Gaussian quadrature)]
열린 구간 (a,b) 안에 있는 직교 다항식 ψn(x)의 영점 xin개 뽑아서 계산한 연속 함수 f(x)의 가우스 구적법은 다항식 차수 2n1의 정밀도(precision)를 가진다.

                          (7)

여기서 ψn(xi) = 0; xi는 실수인 단순근(simple root), w(x)는 0보다 큰 가중치 함수, ψn(x)는 차수가 n인 직교 다항식, li(x)n1 차수의 라그랑주 다항식이다.

[증명]
바이어슈트라스 근사 정리(Weierstrass approximation theorem)의 직접적인 결과로 인해 임의의 연속 함수 f(x)균등 수렴(uniform convergence)하는 다항식 p(x)는 항상 존재한다. 이 다항식의 차수를 p2n1(x)처럼 2n1로 두고 식 (3a)와 비슷하게 몫 qn(x)와 나머지 rn1(x)로 분리한다.

                  (8a)

여기서 p2n1(xi) = rn1(xi)이다. 식 (8a)에 식 (6)에서 정의한 내적을 적용한다.

                  (8b)

식 (4)와 동일하게 rn1(x)에 라그랑주 보간 Ln1(x)을 쓰고 식 (5)와 유사하게 정리한다.

                  (8c)

여기서 rn1(x) = Ln1(x) = i=1np2n1(xi)li(x)이다.
직교 다항식 ψn(x)의 영점 xi의 특성도 확인이 필요하다. 대수학의 기본 정리(fundamental theorem of algebra)를 써서 ψn(x)를 인수 분해한다.

                  (9a)

여기서 ann차의 계수이다. 먼저 근 xi는 실수라고 가정한다. 모든 xixia 혹은 xib라면, 식 (9)는 열린 구간 (a,b) 안에서 부호를 바꾸지 않기 때문에, 식 (6)이 표현하는 직교성이 나오지 않는다. 이러한 직교성의 제한으로 인해 (a,b) 구간 안에 있는 영점 χj만 생각한다. 여기서 χj의 개수는 m이며 xi중의 하나이다. 이 조건을 사용해서 식 (9)와 xχj의 곱이 항상 0이나 양수가 되도록 만든 후, 식 (6)과 같은 적분을 한다.

                  (9b)

영점 개수 mn보다 작은 조건에서는 식 (6)의 직교성이 성립해야 하나 식 (9b)처럼 0이 되지 않아서 문제가 된다. 따라서 모든 xi(a,b)에 존재해야 한다. 다음 단계로 xi가 단순근(simple root)이 아닌 다중근(multiple root)이 되는 상태도 생각한다. 이때도 식 (9b)처럼 ψn(x)에 적당한 sm(x)를 곱해서 적분이 0이 되지 않게 한다. 이는 다시 직교성에 대한 모순이 된다. 마지막으로 근 xi가 복소수인 경우는 (xxi)(xxi) = |xxi|2인 다중근 효과가 생겨서 직교성에 문제가 생긴다. 이를 모두 종합하면 모든 영점 xi는 실수이며 (a,b) 안에 단순근 형태로 있어야 한다.
______________________________

르장드르 다항식 Pn(x)는 직교 다항식에 속하기 때문에, 영점의 성질은 직교 다항식과 같다. 즉, 모든 Pn(x)의 모든 영점은 (1,1) 안에 n개만큼 존재하며 단순근이다.

식 (7)은 차수가 2n1인 모든 다항식에서 항상 참이기 때문에 가우스 구적법의 다양한 속성을 쉽게 증명할 수 있다.

  • i=1nwi = W(b)W(a)
함수 f(x) = 1로 두고 식 (7)의 좌변을 적분한다.

                  (10)

여기서 W(x)w(x)원시 함수(primitive function)이다.

  • 모든 가중치 wi는 양수
다항식 f(x)를 0이거나 양수이면서 xi에서 f(xi) = δik라고 선택한다.

                  (11)

여기서 δik크로네커 델타(Kronecker delta)이다.

  • 가중치의 표현식: wi = anan1abψn12(x)w(x)dxψn(xi)ψn1(xi), ()x에 대한 미분
식 (4)부터 시작해서 가우스 구적법에 쓰는 πn(x)를 직교 다항식 ψn(x)로 바꾼다.

                  (12a)

여기서 ψn(x) = anπn(x), anxn의 계수이다. 직교성인 식 (6)을 적용해서 식 (12a)의 마지막식에 xk를 강제로 추가한다.

                  (12b)

여기서 kn; 모든 k에 대해 pk1(x)ψn(x)와 직교성이 성립한다. 식 (12b)에서 kn1부터 1까지 변화시킴으로써 xn1, xn2, , x, 1로 구성된 ψn1(x)를 생성한다.

                  (12c)

다시 식 (12c)에서 ψn(x)/(xxi)를 더 낮은 n1 차수의 다항식으로 바꾼다.

             (12d)

여기서 다항식 sn2는 차수가 n2이며 ψn1(x)와 직교한다. 식 (12d)와 비슷하게 xn1ψn1(x)와 차수가 n2인 다항식 tn2(x)로 표현한다.

             (12e)

여기서 tn2(x)ψn1(x)에 직교한다. 모든 결과를 합쳐서 정리하면 증명이 완성된다.


   1. 가우스–르장드르 구적법(Gauss–Legendre quadrature)   

가우스–르장드르 구적법은 직교 다항식을 ψn(x) = Pn(x)로 둔다. 또한 w(x) = 1, a = 1, b = 1이다.

[가중치]

                      (1.1)

[증명]
가우스 구적법의 가중치 표현식에 르장드르 다항식 Pn(x)의 성질을 대입한다.

                      (1.2)

                      (1.3)

식 (1.3)을 더 간략화하기 위해 르장드르 다항식의 미분을 사용한다.

                  (1.4a)

                  (1.4b)

여기서 Pn(xi) = 0이다.
______________________________

가우스–르장드르 구적법을 실제로 구현할 때는 복잡한 식 (7)보다 간단하고 닫힌 형식(closed form)인 식 (1.1)을 써서 가중치를 계산한다. 게다가 르장드르 다항식의 영점 pν,s는 많은 연구 결과가 있기 때문에, 구적법의 영점을 편하게 xi = pn,i로 둔다.


[참고문헌]
[2] N. Kovvali, Theory and Applications of Gaussian Quadrature Methods, Morgan & Claypool, 2011.

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.