수치적분
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
수치 적분은 함수의 정적분을 근사적으로 계산하는 방법으로, 1915년 데이비드 깁에 의해 처음 사용되었다. 이는 적분 영역 내의 함수 값의 가중 합으로 표현되며, 역사적으로 면적 계산을 의미하는 '구적법'으로 불렸다. 1차원 적분 방법에는 뉴턴-코츠 공식, 롬버그 적분, 가우스 구적법 등이 있으며, 다차원 적분에는 몬테카를로 방법, 준 몬테카를로 방법, 희소 격자, 베이지안 구적법이 사용된다. 무한 구간 적분, 특이점을 갖는 함수의 적분 등 특수한 경우를 위한 방법도 존재하며, 여러 프로그래밍 언어와 라이브러리에서 수치 적분 기능을 제공한다. 또한 구간 연산을 이용해 정밀도를 보장하는 수치 적분도 가능하다.
더 읽어볼만한 페이지
- 적분학 - 미적분학
미적분학은 미분과 적분이라는 두 연산을 중심으로 하는 수학 분야로, 여러 고대 문명에서 기원하여 뉴턴과 라이프니츠에 의해 체계화되었고, 함수의 변화율과 면적을 계산하며, 다양한 분야에 응용된다. - 적분학 - 절대 수렴
절대 수렴은 급수의 각 항에 절댓값을 취한 급수가 수렴하는 경우를 의미하며, 실수 또는 복소수 급수에서 절대 수렴하면 원래 급수도 수렴하고, 바나흐 공간에서는 절대 수렴하는 급수가 수렴한다. - 수치해석학 - 수학적 최적화
수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다. - 수치해석학 - 선형대수학
선형대수학은 벡터, 벡터 공간, 행렬 등의 개념으로 선형 방정식과 선형 변환을 연구하는 수학 분야로, 선형성을 활용해 행렬로 표현 및 계산하며, 연립일차방정식 해법, 고유값/고유벡터를 통한 행렬 분석, 벡터 공간의 기저와 차원 등을 다루고 물리학, 공학, 컴퓨터 과학 등 다양한 분야에 응용된다.
수치적분 | |
---|---|
개요 | |
분야 | 수학, 컴퓨터 과학 |
하위 분야 | 수치 해석학 |
관련 항목 | 미적분학, 미분 방정식, 컴퓨터 시뮬레이션 |
정의 | |
목적 | 특정 함수에 대한 정적분의 근사값을 계산하는 방법 |
설명 | 미적분학의 기본 정리를 사용하여 정적분을 계산할 수 없는 경우, 수치 적분 방법을 사용할 수 있다. |
방법 | |
기본적인 방법 | 뉴턴-코츠 공식 가우스 구적법 클렌쇼-커티스 구적법 |
복합적인 방법 | 복합 사다리꼴 법칙 복합 심프슨 법칙 |
고급 방법 | 적응적 구적법 몬테카를로 적분 |
오차 분석 | |
오차 원인 | 반올림 오차 잘림 오차 |
오차 추정 | 오차 항 분석 수렴 차수 추정 |
응용 분야 | |
과학 및 공학 | 컴퓨터 시뮬레이션 데이터 분석 모델링 |
금융 | 옵션 가격 결정 위험 관리 |
기타 | 통계 기계 학습 |
관련 개념 | |
수치 미분 | 함수의 도함수를 근사적으로 계산하는 방법 |
몬테카를로 방법 | 확률적 방법을 사용하여 문제를 해결하는 알고리즘 |
미분 방정식의 수치 해법 | 미분 방정식의 해를 근사적으로 계산하는 방법 |
기타 정보 | |
참고 문헌 | 山本哲朗 (2003). 数値解析入門 (増訂版). サイエンス社. |
2. 역사
"수치 적분"이라는 용어는 1915년 데이비드 깁의 저서에서 처음 등장했다.[2] "구적법"은 면적을 계산한다는 의미를 가진 역사적인 수학 용어이다. 구적법 문제는 수학적 분석의 주요 원천 중 하나였다. 고대 그리스의 수학자들은 면적을 계산하는 것을 같은 면적을 가진 정사각형을 기하학적으로 구성하는 과정(''제곱'')으로 이해했다. 그래서 이 과정을 "구적법"이라고 불렀다. 원의 구적법, 히포크라테스의 월형, 포물선의 구적법 등이 그 예이다.
1차원 정적분의 수치 적분은 다양한 방법으로 수행될 수 있다. 수치 적분을 해야 하는 이유는 다음과 같다.
고대 바빌로니아인들은 사다리꼴 공식을 사용하여 황도를 따라 목성의 움직임을 적분했다.[3]
변이 ''a''와 ''b''인 직사각형의 구적법을 위해서는 변 (''a''와 ''b''의 기하 평균)인 정사각형을 구성해야 한다.
곡선 도형의 구적법 문제는 훨씬 더 어려웠다. 원의 구적법은 19세기에 자와 컴퍼스로 불가능하다는 것이 증명되었다. 아르키메데스는 포물선 세그먼트의 구적법을 통해 고대 분석의 가장 큰 성과를 얻었다. 그는 에우독소스의 소진법을 사용하여 결과를 증명했다.
중세 유럽에서 구적법은 어떤 방법으로든 면적을 계산하는 것을 의미했다. 더 자주 무한소 방법이 사용되었다. 갈릴레오 갈릴레이와 질 드 로베르발은 사이클로이드 아치의 면적을 찾았고, 그레고리 드 생뱅상은 쌍곡선 아래 면적을 연구했다.
존 윌리스는 무한소 방법을 대수화했다. 아이작 배로와 제임스 그레고리는 일부 대수 곡선과 나선의 구적법을 수행했다. 크리스티안 호이겐스는 일부 회전체의 구적법을 성공적으로 수행했다.
생뱅상과 데 사라사에 의한 쌍곡선의 구적법은 중요한 새로운 함수인 자연 로그를 제공했다. 적분 미적분학의 발명과 함께 면적 계산을 위한 보편적인 방법이 등장했다. 그 결과, "구적법"이라는 용어는 전통적인 용어가 되었고, 현대에는 "''일변수 정적분의 계산''"이 더 많이 사용된다.
3. 1차원 적분 방법
'''구적법'''은 함수의 정적분을 근사하는 방법으로, 일반적으로 적분 영역 내의 지정된 지점에서 함수 값의 가중 합으로 표현된다. 수치 적분 방법은 피적분 함수 값을 결합하여 적분에 대한 근사값을 구하며, '''적분점'''이라고 하는 유한한 점 집합에서 함수를 평가하고, 이 값들의 가중 합을 사용하여 적분을 근사한다. 적분점과 가중치는 사용된 특정 방법과 근사에서 요구되는 정확도에 따라 달라진다.
모든 수치 적분 방법의 분석에서 중요한 부분은 피적분 함수 평가 횟수의 함수로서 근사 오차의 동작을 연구하는 것이다. 적은 수의 평가로 작은 오차를 생성하는 방법이 일반적으로 더 우수하다고 간주된다. 평가 횟수를 줄이면 관련된 산술 연산 횟수가 줄어들어 총 오차가 줄어든다.
가 에서 유계인 1차 도함수를 갖는다고 가정하면(), 에 대한 평균값 정리에 의해 다음이 성립한다.
여기서 이고, 는 에 따라 달라진다. 양변을 에 대해 에서 까지 적분하고 절댓값을 취하면 다음을 얻는다.
절댓값을 피적분 함수로 가져와 의 항을 상한으로 대체하면, 다음 부등식을 얻는다.
[1]
따라서, 적분을 구적 규칙 로 근사하면 오차는 위 식의 오른쪽에 있는 값보다 크지 않다. 이 적분 방법은 구간 산술과 결합하여 컴퓨터 증명과 ''검증된'' 계산을 생성할 수 있다.
정적분 를 계산하는 문제는 미적분학의 기본 정리를 이용하여 초깃값 문제에 대한 상미분 방정식으로 축소할 수 있다. 즉, 함수 ''F''는 다음을 만족한다.
Runge–Kutta 방법과 같은 상미분 방정식의 수치적 방법을 사용하여 적분을 계산할 수 있다. 예를 들어, 표준 4차 Runge–Kutta 방법을 적용하면 심슨 공식을 얻을 수 있다. 미분 방정식 는 우변에 종속 변수 가 아닌 독립 변수 만 포함되어 이론과 알고리즘을 단순화한다.
1변수 정적분의 수치 적분 방법으로는 난수를 사용하지 않는 다음과 같은 방법들이 있다.
부분 적분을 조합한 수치 적분은 진동 적분에 대해 제안되고 있다.[19][20]
3. 1. 뉴턴-코츠 공식
뉴턴-코츠 공식은 보간 함수를 사용하여 적분을 근사하는 방법이다. 적분 구간 에서 등간격으로 배치된 점들에서 함수값을 계산하여, 이 점들을 지나는 다항식을 만들어 적분을 계산한다.
가장 간단한 형태는 함수를 점 을 지나는 계단 함수로 근사하는 ''중점 규칙'' 또는 ''사각형 규칙''이다.
:
보간 함수가 점 와 을 통과하는 직선인 경우, ''사다리꼴 공식''을 얻는다.
:
심슨 공식은 2차 다항식을 기반으로 하며, 뉴턴-코츠 공식의 한 예시이다.
이러한 규칙들을 더 정확하게 만들기 위해, 구간 를 개의 하위 구간으로 나누고, 각 하위 구간에 대한 근사값을 계산한 다음, 모든 결과를 더할 수 있다. 이를 ''합성 규칙'', ''확장 규칙'' 또는 ''반복 규칙''이라고 한다. 예를 들어, 합성 사다리꼴 공식은 다음과 같다.
:
여기서 하위 구간은 의 형식을 가지며, 이고, 이다.
등간격 점을 사용하는 수치 적분 규칙은 각 구간이 세분화될 때, 현재 모든 점을 포함하여 피적분 함수 값을 재사용할 수 있는 ''중첩'' 속성을 갖는다.
3. 2. 롬버그 적분
롬버그 적분은 사다리꼴 공식과 수열의 가속법을 결합하여 더 정확한 근삿값을 얻는 방법이다.[8]
3. 3. 가우스 구적법
가우스 구적법은 적분 구간을 적절하게 선택하여 더 적은 점으로도 높은 정확도의 근삿값을 얻을 수 있는 방법이다. 뉴턴-코츠 공식과 달리, 가우스 구적법은 보간점 사이의 간격을 다르게 설정한다. 이 방법은 매끄러운 함수(즉, 충분히 미분 가능한 함수)의 경우 동일한 수의 함수 평가를 사용하는 뉴턴-코츠 공식보다 일반적으로 더 정확한 결과를 제공한다.[7]
가우스 구적법은 중첩되지 않지만, 관련 가우스-크론로드 구적법은 중첩되는 성질을 가진다. 가우스 구적법 외에도 구간을 다르게 하는 다른 수치 적분 방법으로는 클렌쇼-커티스 구적법(페예르 적분이라고도 함)이 있다.
가우스 구적법은 직교 다항식의 영점을 활용하는 적분 공식이다.[7]
3. 4. 적응적 알고리즘
적응적 알고리즘은 오차를 줄이기 위해 적분 구간을 동적으로 조정하는 방법이다. 적분 구간을 여러 개의 하위 구간으로 나누고, 각 하위 구간에 대한 근사값을 계산한 다음, 모든 결과를 더하여 더 정확한 근사값을 만든다. 이를 ''합성 규칙'', ''확장 규칙'' 또는 ''반복 규칙''이라고 한다.[8]
예를 들어, 합성 사다리꼴 공식은 다음과 같이 나타낼 수 있다.
여기서 하위 구간은 의 형식을 가지며, 이고, 이다. 여기서는 동일한 길이 의 하위 구간을 사용했지만, 다양한 길이 의 구간을 사용할 수도 있다.
등간격 점을 사용하는 수치 적분 규칙은 각 구간이 세분화된 해당 규칙은 현재 모든 점을 포함하므로 해당 피적분 함수 값을 재사용할 수 있다는 ''중첩'' 속성을 갖는다.
보간 점 사이의 구간을 다르게 할 경우, 가우스 적분 공식과 같은 또 다른 수치 적분 공식 그룹을 찾을 수 있다. 가우스 적분 규칙은 피적분 함수가 매끄러운 함수(즉, 충분히 미분 가능한 경우) 동일한 수의 함수 평가를 사용하는 뉴턴-코츠 규칙보다 일반적으로 더 정확하다. 구간을 다르게 하는 다른 수치 적분 방법으로는 중첩되는 클렌쇼-커티스 적분(페예르 적분이라고도 함) 방법이 있다.
가우스 적분 규칙은 중첩되지 않지만, 관련 가우스-크론로드 적분 공식은 중첩된다.
3. 5. 외삽법
외삽법은 여러 단계 크기에서의 결과를 외삽하여 더 정확한 근삿값을 추정하는 방법이다. 단계 크기가 0에 접근할 때의 결과는 리처드슨 외삽법과 같은 수열 가속 방법을 사용하여 둘 이상의 0이 아닌 단계 크기에서 결과를 외삽하여 구할 수 있다. 외삽 함수는 다항식 또는 유리 함수일 수 있다. 외삽법은 Stoer와 Bulirsch에 자세히 설명되어 있으며, QUADPACK 라이브러리의 많은 루틴에 구현되어 있다.
3. 6. 기타 방법
이중 지수 함수형 수치 적분 공식을 적용하면, 피적분 함수의 단점에 특이점이 있는 경우에도 적분값을 계산할 수 있는 경우가 있다.[8] 부분 적분을 조합한 수치 적분은 진동 적분에 대해 제안되고 있다.[19][20]
4. 다차원 적분
푸비니의 정리를 적용하면 다중 적분을 반복적인 1차원 적분으로 표현하여 계산할 수 있다. 그러나 이 방법은 차원이 증가함에 따라 함수 평가 횟수가 지수적으로 증가하는 ''차원의 저주'' 현상을 겪는다. 이 문제를 극복하기 위해 다양한 방법들이 개발되었다.[5]
변수가 2개 이상인 다중 적분은 외부 변수를 상수로 간주하고 내부 적분부터 수치 적분하는 방식으로 계산할 수 있다. 하지만 변수가 많아지면 몬테카를로 방법이나 준 몬테카를로 방법이 계산 효율이 더 좋은 경향이 있다. 1983년 당시에는 다중 적분 이론 및 알고리즘을 차원에 따라 다음과 같이 분류했다.[9][10]
- 2차원: 만족스러운 상황.
- 3-7차원: 곱 규칙을 변형하여 어느 정도 계산 가능.
- 7-15차원: 3-7차원과 15차원 이상의 경계 영역.
- 15차원 이상: 몬테카를로 방법, 준 몬테카를로 방법 필요.
금융 공학 등 여러 분야에서 고차원 공간에서의 수치 적분이 필요해짐에 따라 관련 연구가 활발히 진행되고 있다.[10][11]
4. 1. 몬테카를로 방법
몬테카를로 방법과 준 몬테카를로 방법은 다차원 적분에 쉽게 적용할 수 있다. 1차원 적분법을 반복 사용하는 것보다 동일한 횟수의 함수 평가에서 더 높은 정확도를 얻을 수 있다.피적분 함수의 정의역이 고차원이라 근사 공식이 잘 계산되지 않는 경우(차원의 저주가 발생하는 경우)에는 몬테카를로 방법이 효과적이다. 몬테카를로 적분에는 다음과 같은 방법들이 있다.
- 단순 몬테카를로 적분
- 가중 샘플링을 수행하는 VEGAS법
- 층화 추출법을 사용하도록 개선된 MISER법
균등 난수 대신 low-discrepancy sequence|저분산 수열영어을 사용하면 quasi-Monte Carlo method|준 몬테카를로 방법영어이 되며, 더 빠르게 수렴하는 경우가 있다.
확률론이나 랜덤 행렬 이론 등을 사용하여 기존의 근사 공식과 몬테카를로 적분을 결합한 알고리즘도 제안되고 있다.[21]
4. 2. 준 몬테카를로 방법
균등 난수 대신 low-discrepancy sequence|저분산 수열영어을 사용하면 quasi-Monte Carlo method|준 몬테카를로 방법영어이 되며, 더 빠르게 수렴하는 경우가 있다.4. 3. 희소 격자
희소 격자는 1차원 적분 규칙을 조합하여 다차원 적분을 수행하는 방법이다.4. 4. 베이지안 구적법
베이시안 구적법은 적분 계산이라는 수치적 문제에 대한 통계적 접근 방식으로, 확률적 수치해석 분야에 속한다. 이는 적분 해에 대한 불확실성을 가우시안 과정 사후 분산으로 표현하여 완전하게 처리할 수 있다.5. 무한 구간 적분
무한 구간에 대한 근사 적분을 위한 여러 방법이 존재한다. 표준 기술은 전체 실수선에 대한 적분을 위한 가우스-에르미트 구적법과 양의 실수에 대한 적분을 위한 가우스-라게르 구적법과 같은 특별히 파생된 구적 규칙을 포함한다.[4] 몬테카를로 방법도 사용할 수 있으며, 변수 변환을 통해 유한 구간으로 변환할 수도 있다.
적분 범위가 무한 구간인 경우, 다음 방법을 사용하여 치환 적분으로 변환하여 수치 적분을 수행할 수 있다. 단, 함수에 따라 다른 방법을 사용하는 것이 더 좋을 수도 있다. 무한대에 가까워질 때 급격하게 0으로 수렴한다는 것을 해석적으로 알고 있다면, 적분 범위를 유계로 잘라내는 것이 좋은 경우도 있다.
전체 선에 대한 적분은 다음과 같이 변환할 수 있다.
:
반무한 구간에 대한 적분은 다음과 같이 변환할 수 있다.
:
또는 다음과 같이 표현할 수도 있다.
:
:
:
6. 특수한 경우의 적분
특이점을 갖는 함수나 진동하는 함수의 적분은 특별한 기법을 필요로 한다. 사토 초함수를 경유하여 복소수 값 적분으로 가져감으로써 특이점을 피하고 오차를 억제하는 기법이 제안되었다.[15][16][17][18]
부분 적분을 조합한 수치 적분도 진동 적분에 대해 제안되고 있다.[19][20]
7. 수치 적분의 구현
다양한 프로그래밍 언어와 라이브러리에서 수치 적분 기능을 제공한다.
- 포트란 77로 구현된 QUADPACK은 난수를 사용하지 않는 1변수 정적분 루틴을 제공한다.[23][24]
- GNU Scientific Library는 QUADPACK을 C 언어로 이식하였으며, 몬테카를로 적분과 초균일 분포열도 구현되어 있다.
- SciPy, R 언어, GNU Octave, NAG 수치 계산 라이브러리, IMSL[25] 등에서 QUADPACK을 사용한다.
- Boost Math Toolkit[26]
- Apache Commons Math는 Java로 수치 적분 기능을 구현하였다.
- [http://www.feynarts.de/cuba/ Cuba]는 주로 몬테카를로 적분을 구현하였다.
- Mathematica, Maple, MATLAB 등의 수식 처리 시스템 및 수치 해석 소프트웨어에서도 수치 적분 기능을 찾을 수 있다.
8. 정밀도 보장 수치 적분
구간 연산을 이용하면 정밀도가 보장된 수치 적분 결과를 얻을 수 있다. 이를 지원하는 대표적인 라이브러리는 다음과 같다.[27][28][29][30]
- INTLAB: MATLAB 및 GNU Octave에서 사용 가능한 구간 연산 라이브러리이다.
- kv: C++로 작성된 구간 연산 라이브러리이다.
- arb: C로 작성된 구간 연산 라이브러리이다.
이러한 라이브러리들은 컴퓨터 증명 및 ''검증된'' 계산을 생성하는데 사용될 수 있다. 정적분의 수치적분은 피적분 함수의 다항식 근사와 다항식의 값을 정확하게 계산하는 기술의 조합으로 실현된다. 다항식의 값을 계산할 때는 호너의 방법이 사용되며, 다항식 근사에는 테일러 급수나 다항식 보간법이 사용된다.[12]
참조
[1]
MathWorld
Cubature
[2]
웹사이트
Earliest Known Uses of Some of the Words of Mathematics (Q)
http://jeff560.tripo[...]
2018-03-31
[3]
논문
Ancient Babylonian astronomers calculated Jupiter's position from the area under a time-velocity graph
2016-01-29
[4]
서적
Numerical Analysis and Scientific Computation
Addison Wesley
[5]
서적
Approximate Calculation of Multiple Integrals
https://archive.org/[...]
Prentice-Hall Inc.
1971
[6]
간행물
Numerical Integration on the Sphere
Springer: Berlin
[7]
서적
数値解析入門
サイエンス社
2003-06
[8]
논문
ある数値積分公式について (科学計算基本ライブラリーのアルゴリズムの研究会報告集)
https://hdl.handle.n[...]
京都大学数理解析研究所
1970-08
[9]
간행물
Methods of Numerical Integration
Academic Press,San Diego
[10]
논문
数値多重積分に関する話題(<特集>数値計算)
https://doi.org/10.1[...]
日本応用数理学会
[11]
논문
量子コンピュータを用いた数値積分計算について
https://www.biprogy.[...]
日本ユニシス
2006-08
[12]
서적
精度保証付き数値計算
https://ndlsearch.nd[...]
コロナ社
[13]
논문
Bessel関数を含む振動積分に対する数値積分公式(数値計算アルゴリズムの現状と展望II)
https://hdl.handle.n[...]
京都大学数理解析研究所
1995-06
[14]
논문
Bessel関数の零点を標本点に持つ補間および数値積分公式
https://doi.org/10.1[...]
日本応用数理学会
[15]
논문
佐藤超函数論に基づく数値解析
https://doi.org/10.1[...]
日本応用数理学会
2017-12
[16]
논문
佐藤超函数論に基づく数値積分 (現象解明に向けた数値解析学の新展開 II)
https://hdl.handle.n[...]
京都大学数理解析研究所
2017-07
[17]
논문
数値積分に対する超函数法
https://doi.org/10.1[...]
日本応用数理学会
[18]
논문
A numerical method of computing oscillatory integral related to hyperfunction theory
https://doi.org/10.4[...]
[19]
논문
部分積分法による半無限区間振動型積分の数値計算法
https://doi.org/10.1[...]
日本応用数理学会
[20]
논문
部分積分法による数値積分法
https://hdl.handle.n[...]
京都大学数理解析研究所
2004-10
[21]
간행물
"Approximate and integrate: Variance reduction in Monte Carlo integration via function approximation"
https://doi.org/10.4[...]
[22]
웹사이트
integrate from -1 to 1 1/x dx - Wolfram|Alpha
https://www.wolframa[...]
[23]
웹사이트
QUADPACK (nines)
http://nines.cs.kule[...]
[24]
웹사이트
quadpack
http://www.netlib.or[...]
[25]
웹사이트
int_fcn_sing - IMSL C Math Library
https://docs.roguewa[...]
[26]
웹사이트
Chapter 11. Quadrature and Differentiation - 1.69.0
https://www.boost.or[...]
[27]
간행물
INTLAB - INTerval LABoratory
Kluwer Academic Publishers, Dordrecht
[28]
논문
"efficient arbitrary-precision midpoint-radius interval arithmetic"
https://doi.org/10.1[...]
[29]
간행물
Numerical integration in arbitrary-precision ball arithmetic
Springer, Cham
[30]
논문
Fast and Rigorous Arbitrary-Precision Computation of Gauss--Legendre Quadrature Nodes and Weights
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com