룬지-쿠타 방법

Runge–Kutta methods
미분방정식 = (t 2 ⋅ y {\displaystyle y'=\sin(t)^{2}\cdoty}에 대한 룽지-쿠타 방법 비교(빨간색이 정확한 해)

In numerical analysis, the Runge–Kutta methods (English: /ˈrʊŋəˈkʊtɑː/ RUUNG-ə-KUUT-tah[1]) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations.[2] 이 방법들은 1900년경 독일 수학자 칼 룬지와 빌헬름 쿠타에 의해 개발되었습니다.

룽지-쿠타 방법

고전적인 룽지-쿠타 방법으로 사용되는 기울기

가장 널리 알려진 룽지-쿠타족의 일원은 일반적으로 "RK4", "고전적인 룽지-쿠타 방법" 또는 간단히 "룽지-쿠타 방법"이라고 불립니다.

초기문제를 다음과 같이 지정합니다.

y t t의 알 수 없는 함수(스칼라 또는 벡터)이며 대략적으로 추정하고자 합니다. {\ {\ 가 변화하는 속도, 는 t 함수이며, {\ y 자체의 함수입니다. 초기 시간 에서 해당 값은 입니다 기능 초기 조건 t 0 이 주어집니다.

이제 단계 크기 h > 0을 선택하여 다음을 정의합니다.

n = 0, 1, 2, 3, ..., 사용

(참고: 위의 식들은 서로 다른 텍스트에서 서로 다른 정의를 갖습니다.)[4]

Here is the RK4 approximation of , and the next value () is determined by the present value () plus the weighted average of four increments, 여기서 각 증분은 미분 방정식의 오른쪽에 있는 함수 f에 의해 지정된 구간의 크기, h 추정 기울기의 곱입니다.

  • 간격 시작 시 기울기로 를 사용합니다(Uleer's method);
  • y k 을 사용하여 간격의 중간 지점에 있는 기울기입니다
  • 는 다시 중간 지점의 기울기이지만, 현재 y 를 사용하고 있습니다
  • 끝의 기울기로, y y 를 사용합니다

네 개의 기울기를 평균화할 때 중간 지점의 기울기에 더 큰 가중치를 부여합니다. 독립적이므로 미분 방정식이 단순 적분과 동일하면 RK4는 심슨 규칙입니다.[5]

RK4 메소드는 4차 메소드로, 로컬 절단 5 {\ O(h^{ 순서반면, 총 누적 오류 의 순서입니다

많은 실제 응용 분야에서 f t특히 물리학에서는 자율 시스템 또는 시간 불변 시스템이라고 함)와 독립적이며, 그 증분은 전혀 계산되지 않고 f 로 전달되지 않습니다 n+ 1 에 대한 최종 공식만 사용합니다.

명시적 룬지-쿠타 방법

명시적 룽지-쿠타 방법 계열은 위에서 언급한 RK4 방법의 일반화입니다. 에 의해 주어집니다.

어디에[6]

(참고: 위의 식들은 일부 텍스트에서는 서로 다르지만 동일한 정의를 가질있습니다.)[4]

특정 방법을 지정하려면 정수 s(단수)와 계수 a(1 ≤ j < i ≤ s인 경우), b(i = 1, 2, ..., s인 경우) 및 c(i = 2, 3, ..., s인 경우)를 제공해야 합니다. 행렬i [aij]를 룽지-쿠타 행렬이라고 하고, bi c가중치와 노드라고 합니다.[7] 이러한 데이터는 일반적으로 Butcher tableau(존 C의 이름을 따서 Butcher tableau)로 알려진 기억 장치에 배열됩니다. 정육점):

테일러 급수 확장은 룽지-쿠타 방법이 다음과 같은 경우에만 일치함을 보여줍니다.

또한 메소드에 특정 순서 p가 필요한 경우 로컬 절단 오류가 O(hp+1)임을 의미하는 요구 사항이 수반됩니다. 이들은 절단 오류 자체의 정의에서 파생될 수 있습니다. 예를 들어, 2단계 방법은 b + b = 1, bc = 1/2, ba = 1/2인 경우 차수가 2입니다. 계수를 결정하는 일반적인 조건은 다음과 같습니다.

그러나 이 조건만으로는 충분하지 않으며 일관성을 위해 필요하지도 않습니다.

In general, if an explicit -stage Runge–Kutta method has order , then it can be proven that the number of stages must satisfy , and if , then .[11] 그러나 이러한 경계가 모든 경우에 예리한지 여부는 알 수 없습니다. 어떤 경우에는 한계를 달성할 수 없다는 것이 증명됩니다. 예를 들어, Butcher는 > 6 6에 대해 = p+ {\displaystyle s = p+1} 단계가 있는 명시적인 방법이 없음을 증명했습니다. Butcher는 > 7 7 p+ 단계를 갖는 명시적인 Runge-Kutta 메서드가 없음을 증명했습니다.[13] 그러나 일반적으로 명시적인 Runge-Kutta 메서드가 가 p{\ p인 경우 정확한 최소 얼마인지는 여전히 미해결 문제입니다 알려진 몇 가지 값은 다음과 같습니다.[14]

그러면 위의 증명 가능 경계는 이러한 주문에 대해 이미 알고 있는 방법보다 더 적은 단계를 필요로 하는 p = ,2, …, 6 {\displaystyle p = 1, 2,\ldots, 6}의 방법을 찾을 수 없음을 의미합니다. Butcher의 작업은 7차와 8차의 차수 방법이 각각 최소 9단계와 11단계라는 것을 증명하기도 합니다.[15][16] 7단계의 순서 6의 명시적인 방법의 예는 에서 찾을 수 있습니다.[17] 9단계의[18] 순서 7의 명시적인 방법과 11단계의[19] 순서 8의 명시적인 방법도 알려져 있습니다. 요약은 심판을 참조하십시오.[20][21]

RK4 방법은 이 프레임워크에 해당합니다. 그것의 테이블오는[22]

0
1/2 1/2
1/2 0 1/2
1 0 0 1
1/6 1/3 1/3 1/6

"Rungge-Kutta" 방법의 약간의 변형은 1901년의 Kutta에 의한 것이기도 하며, 3/8-rule이라고 불립니다.[23] 이 방법의 가장 큰 장점은 거의 모든 오류 계수가 일반적인 방법보다 작지만 시간 단계당 약간 더 많은 FLOP(플로팅 포인트 연산)가 필요하다는 것입니다. 그곳의 정육점 테이블은

0
1/3 1/3
2/3 -1/3 1
1 1 −1 1
1/8 3/8 3/8 1/8

그러나 가장 간단한 룽지-쿠타 방법은 (순방향) 오일러 방법으로, n+ = n+ h (t n, y n) {\displaystyle y_{n+1} = y_{n}+hf(t_{n}, y_{n})}로 제공됩니다. 이것은 하나의 단계를 갖는 유일한 일관된 명시적 룽지-쿠타 방법입니다. 그에 해당하는 표는

0
1

2단계 2차 방법

두 단계가 있는 2차 방법의 예는 명시적 중간점 방법에 의해 제공됩니다.

그에 해당하는 표는

0
1/2 1/2
0 1

중간점 방법은 두 단계가 있는 유일한 2차 룽지-쿠타 방법이 아닙니다; α로 매개변수화되고 공식으로[24] 주어진 그러한 방법의 계열이 있습니다.

그곳의 정육점 테이블은

0

이 패밀리에서 = displaystyle = {\{1는 중간점 방법을 제공하고, α = 1 {\displaystyle \alpha = 1}은 Heun의 방법이며, α = 23 {\displaystyle \alpha = {\tfrac {2}{3}}은 Ralston의 방법입니다.

사용하다

예를 들어, α = 2/3인 2단계 2차 룽지-쿠타 방법(Ralston 방법)을 생각해 보십시오. 그것은 탁상공이 준 것입니다.

0
2/3 2/3
1/4 3/4

그에 상응하는 방정식으로

이 방법은 초기값 문제를 해결하는 데 사용됩니다.

스텝 크기 h = 0.025이므로 메소드는 4단계를 수행해야 합니다.

방법은 다음과 같이 진행됩니다.

수치 솔루션은 밑줄 친 값에 해당합니다.

적응적 룬지-쿠타 방법

적응 방법은 단일 Rungge-Kutta 단계의 로컬 절단 오류 추정치를 생성하도록 설계되었습니다. 가 p 방법과 가 p- 1 인 방법의 두 가지방법으로 수행됩니다. 이 방법은 서로 결합되어 있습니다. 즉, 공통적인 중간 단계를 갖습니다. 덕분에 오차를 추정하는 것은 고차 방법을 사용하는 단계에 비해 계산 비용이 거의 또는 무시할 수 있습니다.

통합하는 동안 스텝 크기는 추정된 오차가 사용자 정의 임계값 미만으로 유지되도록 조정됩니다. 오차가 너무 높으면 스텝 크기가 더 작은 스텝을 반복하고, 오차가 훨씬 작으면 스텝 크기를 늘려 시간을 절약할 수 있습니다. 이를 통해 (거의) 최적의 스텝 크기를 얻을 수 있어 계산 시간을 절약할 수 있습니다. 또한 사용자는 적절한 스텝 크기를 찾는 데 시간을 할애할 필요가 없습니다.

하위 단계는 다음과 같습니다.

고차법과 같습니다. 그럼 오차는.

입니다 이러한 종류의 방법에 대한 Butcher tableau는 확장되어 ∗ {\ b_i}^{*}의 값을 제공합니다.

0

룬지-쿠타-펠베르크 방법은 순서 5와 4의 두 가지 방법이 있습니다. 확장된 Butcher tableau는 다음과 같습니다.

0
1/4 1/4
3/8 3/32 9/32
12/13 1932/2197 −7200/2197 7296/2197
1 439/216 −8 3680/513 -845/4104
1/2 −8/27 2 −3544/2565 1859/4104 −11/40
16/135 0 6656/12825 28561/56430 −9/50 2/55
25/216 0 1408/2565 2197/4104 −1/5 0

그러나 가장 간단한 적응적 룽지-쿠타 방법은 훈의 방법인 차수 2와 차수 1인 오일러 방법을 결합하는 것입니다. 확장된 Butcher tableau는 다음과 같습니다.

0
1 1
1/2 1/2
1 0

다른 적응형 룽지-쿠타 방법은 보가키-샴파인 방법(3차와 2차), 캐시-카르프 방법도르망-프린스 방법(5차와 4차)입니다.

불연속 룽지-쿠타 방법

모든 = 2s {\displaystyle c_{i},\,i = 1,2,\ldots,s}가 서로 다른 경우 룽지-쿠타 방법은 혼동되지 않는다고 합니다.

룽게-쿠타-니스트룀 방법

룽지-쿠타-니스트룀 방법은 2차 미분 방정식에 최적화된 특수 룽지-쿠타 방법입니다.

암묵적 룬지-쿠타 방법

지금까지 언급된 모든 룬지-쿠타 방법은 명시적인 방법입니다. 명시적 룽지-쿠타 방법은 절대 안정성 영역이 작기 때문에 일반적으로 뻣뻣한 방정식의 해결에 적합하지 않습니다. 특히 경계가 있습니다.[28] 문제는 편미분 방정식의 해법에서 특히 중요합니다.

명시적인 룽지-쿠타 방법의 불안정성은 암시적 방법의 개발에 동기를 부여합니다. 암묵적인 룽지-쿠타 방법은 다음과 같은 형태를 갖습니다.

어디에

[29]

명시적 방법과의 차이점은 명시적 방법에서 j를 초과하는 은 i - 1까지만 올라간다는 것입니다. 이것은 Butcher tableau에도 나타나는데, 명시적인 방법의 계수 행렬 는 삼각형 아래에 있습니다. 암묵적 방법에서 j 의 합은 s로 올라가고 계수 행렬은 삼각형이 아니므로 형식의[22] Butcher tableau를 산출합니다.

∗ {\ b^{*} 행에 대한 설명은 위의 Adaptive Runge-Kutta 메서드를 참조하십시오.

이 차이의 결과는 모든 단계에서 대수 방정식 체계가 해결되어야 한다는 것입니다. 이는 계산 비용을 상당히 증가시킵니다. 만약 m개의 성분이 있는 미분방정식을 푸는 데 s단이 있는 방법을 사용한다면, 대수방정식의 체계는 m개의 성분을 갖습니다. 이는 암시적 선형 다단계 방법(ODE를 위한 다른 큰 방법군)과 대조될 수 있습니다. 암시적 s-단계 선형 다단계 방법은 m개의 구성 요소만 있는 대수 방정식 시스템을 해결해야 하므로 시스템의 크기가 단계 수가 증가함에 따라 증가하지 않습니다.[30]

암묵적인 룽지-쿠타 방법의 가장 간단한 예는 역방향 오일러 방법입니다.

이를 위한 Butcher tableau는 간단히 다음과 같습니다.

이 Butcher tableau는 다음 공식에 해당합니다.

위에 나열된 역방향 오일러 방법에 대한 공식을 얻기 위해 재배열할 수 있습니다.

암묵적인 룽지-쿠타 방법의 또 다른 예는 사다리꼴 규칙입니다. Butcher tableau는 다음과 같습니다.

사다리꼴 규칙은 (해당 기사에서 논의된 바와 같이) 위치 결정 방법입니다. 모든 할당 방법은 암묵적 룬지-쿠타 방법이지만 모든 암묵적 룬지-쿠타 방법이 할당 방법인 것은 아닙니다.[31]

Gauss-Legendre 방법Gauss 직교를 기반으로 하는 코로케이션 방법의 계열을 형성합니다. 단계가 있는 Gauss-Legendre 방법은 순서 2를 갖습니다(따라서 임의로 높은 순서를 가진 방법을 구성할 수 있습니다).[32] 두 단계(따라서 4차)가 있는 방법은 Butcher tableau를 갖습니다.

[30]

안정성.

명시적 방법에 비해 암시적 룽지-쿠타 방법의 장점은 특히 뻣뻣한 방정식에 적용될 때 더 큰 안정성입니다. 선형 테스트 방정식 =λy {\ y=lambda y}를 생각해 보십시오. 이 방정식에 적용된 룽지-쿠타 방법은 반복 y n + 1 = r (h λ) y {\displaystyle y_{n+1} = r(h\lambda)\,y_{n}로 감소하며, r은 다음과 같습니다.

[33]

여기서 e는 하나의 벡터를 의미합니다. 함수 r안정 함수라고 합니다.[34] 방법에 단계가 s개 있는 경우 r은 차수 다항식 2개의 몫이라는 공식을 통해 알 수 있습니다. 명시적 방법은 엄격하게 더 낮은 삼각 행렬 A를 갖는데, 이는 det(I - zA) = 1이고 안정 함수가 다항식임을 의미합니다.

z = h λ으로 r(z) < 1이면 선형 시험 방정식의 수치 해는 0으로 감소합니다. 이러한 z의 집합을 절대 안정 영역이라고 합니다. 특히 이 방법은 Re(z) < 0인 모든 z가 절대 안정의 영역에 있으면 절대 안정적이라고 합니다. 명시적 룽지-쿠타 방법의 안정 함수는 다항식이므로 명시적 룽지-쿠타 방법은 절대 A-안정이 될 수 없습니다.[35]

메서드의 순서가 p인 경우 안정 함수는 = + O p + ) {\display r(z) = {\textrm {e}}^{z}+O(z^{p+1})}를 z → 0 {\display z\to 0}으로 만족합니다. 따라서 지수 함수를 가장 잘 근사하는 주어진 차수의 다항식의 몫을 연구하는 것이 흥미롭습니다. 이들을 파데 근사치라고 합니다. 분자가 m이고 분모가 n인 파데 근사치는 mnm + 2인 경우에만 A-안정적입니다.[36]

단계가 있는 Gauss-Legendre 방법은 차수가 2이므로 안정 함수는 m = n = s인 Padé 근사치입니다. 다음으로 방법은 A-stable입니다.[37] 이것은 A-stable 룽지-쿠타가 임의로 높은 차수를 가질 수 있음을 보여줍니다. 대조적으로, A-stable 선형 다단계 방법의 순서는 2를 초과할 수 없습니다.[38]

B-안정성

미분 방정식 해법에 대한 A 안정성 개념은 자율 방정식 =λ{\displaystyle y'=\lambda y}와 관련이 있습니다. Dahlquist는 단조성 조건을 만족하는 비선형 시스템에 적용할 때 수치 체계의 안정성 조사를 제안했습니다. 해당 개념은 다단계 방법(및 관련 외다리 방법)의 경우 G-안정성, Runge-Kutta 방법의 경우 B-안정성(Butcher, 1975)으로 정의되었습니다. 비선형 시스템 = ( y'=)}에 적용된 룽지-쿠타 방법은⟨ f(y) - f(z), y - z ⟩ ≤ 0 {\displaystyle \f(y) - f(z),\ y - z\rangle \leq 0}을 검증하며, 이를 B-stable이라고 합니다. 조건이 ‖y+ - z n + 1 ‖ ≤ ‖ y - z n ‖ {\displaystyle \ y_{n+1}-z_{n+1}\ \leq \ y_{n}-z_{n}\ }개의 수치 솔루션을 의미합니다.

Q 다음과 같이 정의된 × 행렬이라고 가정합니다.

행렬 모두 음이 아닌 정이면 룽지-쿠타 방법은 대수적으로 안정하다고[39] 합니다. B-안정성[40] 대한 충분한 은 B{\ B Q{\ Q 음이 아닌 것입니다.

룽지-쿠타 4차법의 유도

일반적으로 의 룽지-쿠타 방법은 다음과 같이 쓸 수 있습니다.

위치:

는 i{\ i차에서 의 도함수를 평가하기 위해 얻은 증분입니다.

저희는 위에서 설명한 모든 간격(t, t + h) {\displaystyle (t,\ t + h)}의 중간점과 끝점인 s = s=4}를 사용하여 일반 공식을 사용하여 룽지-쿠타 4차 방법을 유도합니다. 따라서 다음을 선택합니다.

= 0 {\ \beta _{ij} = 0} 이 아닌 경우. 먼저 다음 양을 정의합니다.

where and . If we define:

그리고 이전 관계에 대해 다음과 같은 이 O 2{\{\까지 유지된다는 것을 보여줄 수 있습니다

위치:
는 시간에 대한 의 총 도함수입니다.

방금 도출한 것을 사용하여 일반적인 공식을 표현하면 다음을 얻을 수 있습니다.

이를 t 주변의 + h Taylor 시리즈와 비교합니다

계수에 대한 제약 체계를 구합니다.

위에서 언급한 풀이하면 a = b = c = 13, d = 16 {\display a = {\frac {1}{6}, b = {\frac {1}{3}, c = {\frac {1}{3}, d = {\frac {1}{6}}이 됩니다.

참고 항목

메모들

  1. ^ "Runge-Kutta method". Dictionary.com. Retrieved 4 April 2021.
  2. ^ 데브리스, 폴 L; 하스분, 하비에르 E. 컴퓨터 물리학의 첫 번째 과정입니다. 세컨드 에디션. Jones and Bartlett Publishers: 2011. p. 215.
  3. ^ Press et al. 2007, p. 908; Süli & Mayers 2003, p. 328
  4. ^ a b Atkinson(1989, p. 423), Hairer, Nørset & Wanner(1993, p. 134), Kaw & Kalu(2008, §8.4)Stoer & Bulirsch(2002, p. 476)는 단계의 정의에서 요인 h를 제외합니다. Ascher & Petzold(1998, 페이지 81), Butcher(2008, 페이지 93) 및 Iserles(1996, 페이지 38)는 이들 값을 단계로 사용합니다.
  5. ^ a b Sulli & Mayers 2003, 페이지 328
  6. ^ Press et al. 2007, 페이지 907
  7. ^ Iserles 1996, p. 38
  8. ^ Iserles 1996, p. 39
  9. ^ Iserles 1996, p. 39
  10. ^ 반대 예로 = =1/ {\ } = } = } 및 1 과 랜덤하게 선택된 인 명시적인 2단계 룽게-쿠타 방식을 고려해 보십시오. 이 방법은 일관적이고 (일반적으로) 1차 수렴입니다. , 1 =/ 2 {\ b_}=1/2}인 1단계 방법은 i = 2, …, s에 대해 ∑ j = 1 i - 1 a i j = ci를 약간 유지하지만 일관되지 않고 수렴에 실패합니다. {\displaystyle \sum _{j=1}^{i-1}a_{ij}=c_{i}{\text{for }i=2,\ldots,s.}.
  11. ^ 정육점 2008, p. 187
  12. ^ 정육점 1965, 페이지 408
  13. ^ 1985년 정육점
  14. ^ Butcher 2008, pp. 187–196
  15. ^ 정육점 1965, 페이지 408
  16. ^ 1985년 정육점
  17. ^ 정육점 1964
  18. ^ 정육점 1965, 페이지 408
  19. ^ 커티스 1970, 페이지 268
  20. ^ Hairer, Nørsett & Wanner 1993, 179쪽
  21. ^ 정육점 1996, 페이지 247
  22. ^ a b Süli & Mayers 2003, 페이지 352
  23. ^ Hairer, Nørset & Wanner(1993, 페이지 138)는 Kutta(1901)를 참조한다.
  24. ^ Sulli & Mayers 2003, 페이지 327
  25. ^ Lambert 1991, 278쪽
  26. ^ Dormand, J. R.; Prince, P. J. (October 1978). "New Runge–Kutta Algorithms for Numerical Simulation in Dynamical Astronomy". Celestial Mechanics. 18 (3): 223–232. Bibcode:1978CeMec..18..223D. doi:10.1007/BF01230162. S2CID 120974351.
  27. ^ Fehlberg, E. (October 1974). Classical seventh-, sixth-, and fifth-order Runge–Kutta–Nyström formulas with stepsize control for general second-order differential equations (Report) (NASA TR R-432 ed.). Marshall Space Flight Center, AL: National Aeronautics and Space Administration.
  28. ^ Süli & Mayers 2003, 페이지 349–351
  29. ^ Iserles 1996, p. 41; Süli & Mayers 2003, p. 351–352
  30. ^ a b Süli & Mayers 2003, 페이지 353
  31. ^ Iserles 1996, pp. 43–44
  32. ^ Iserles 1996, p. 47
  33. ^ Hairer & Wanner 1996, 40–41쪽
  34. ^ Hairer & Wanner 1996, 40페이지
  35. ^ a b Iserles 1996, p. 60
  36. ^ Iserles 1996, pp. 62–63
  37. ^ Iserles 1996, 페이지 63
  38. ^ 이 결과는 Dahlquist(1963)에 기인합니다.
  39. ^ Lambert 1991, p. 275
  40. ^ 램버트 1991, 페이지 274
  41. ^ Lyu, Ling-Hsiao (August 2016). "Appendix C. Derivation of the Numerical Integration Formulae" (PDF). Numerical Simulation of Space Plasmas (I) Lecture Notes. Institute of Space Science, National Central University. Retrieved 17 April 2022.

참고문헌

외부 링크