룽게-쿠타 방법의 목록

룽게-쿠타 방법은 다음 상미분방정식의 수치해법이다 d y d t = f ( t , y ) {\displaystyle {\frac {dy}{dt}}=f(t,y)} 이 수치해법은 다음의 형태를 가진다. y n + 1 = y n + h ∑ i = 1 s b i k i {\displaystyle y_{n+1}=y_{n}+h\sum _{i=1}^{s}b_{i}k_{i}} k 1 = f ( t n , y n ) , {\displaystyle k_{1}=f(t_{n},y_{n}),} k 2 = f ( t n + c 2 h , y n + h ( a 21 k 1 ) ) , {\displaystyle k_{2}=f(t_{n}+c_{2}h,y_{n}+h(a_{21}k_{1})),} k 3 = f ( t n + c 3 h , y n + h ( a 31 k 1 + a 32 k 2 ) ) , {\displaystyle k_{3}=f(t_{n}+c_{3}h,y_{n}+h(a_{31}k_{1}+a_{32}k_{2})),} ⋮ {\displaystyle \vdots } k i = f ( t n + c i h , y n + h ∑ j = 1 i − 1 a i j k j ) , {\displaystyle k_{i}=f\left(t_{n}+c_{i}h,y_{n}+h\sum _{j=1}^{i-1}a_{ij}k_{j}\right),} 이 문서에 있는 모든 방법은 다음과 같이 계수를 배열한 Butcher 테이블로 정의하였다: c 1 a 11 a 12 … a 1 s c 2 a 21 a 22 … a 2 s ⋮ ⋮ ⋮ ⋱ ⋮ c s a s 1 a s 2 … a s s b 1 b 2 … b s {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\\end{array}}} 명시적 방법은 행렬  [ a i j ] {\displaystyle [a_{ij}]} 이 하삼각행렬인 방법이다. 오일러 방법은 일차이다. 안정성과 정확성이 부족하기 때문에 주로 수치 해석 방법의 간단한 예제로 사용한다. 0 0 1 {\displaystyle {\begin{array}{c|c}0&0\\\hline &1\\\end{array}}} (명시적) 중간점 방법은 두 단계의 이차 방법이다(아래의 암시적 중간점 방법을 보라): 0 0 0 1 / 2 1 / 2 0 0 1 {\displaystyle {\begin{array}{c|cc}0&0&0\\1/2&1/2&0\\\hline &0&1\\\end{array}}} 호인의 방법은 두 단계의 이차 방법이다(또한 명시적 사다리꼴 공식으로도 알려져 있다): 0 0 0 1 1 0 1 / 2 1 / 2 {\displaystyle {\begin{array}{c|cc}0&0&0\\1&1&0\\\hline &1/2&1/2\\\end{array}}} 랄스톤 방법은 두 단계 이차 방법이고 최소 지역오차 경계가 있다: 0 0 0 2 / 3 2 / 3 0 1 / 4 3 / 4 {\displaystyle {\begin{array}{c|cc}0&0&0\\2/3&2/3&0\\\hline &1/4&3/4\\\end{array}}} 0 0 0 x x 0 1 − 1 2 x 1 2 x {\displaystyle {\begin{array}{c|ccc}0&0&0\\x&x&0\\\hline &1-{\frac {1}{2x}}&{\frac {1}{2x}}\\\end{array}}} 0 0 0 0 1 / 2 1 / 2 0 0 1 − 1 2 0 1 / 6 2 / 3 1 / 6 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/2&1/2&0&0\\1&-1&2&0\\\hline &1/6&2/3&1/6\\\end{array}}} "원조" 룽게-쿠타 방법이다. 0 0 0 0 0 1 / 2 1 / 2 0 0 0 1 / 2 0 1 / 2 0 0 1 0 0 1 0 1 / 6 1 / 3 1 / 3 1 / 6 {\displaystyle {\begin{array}{c|cccc}0&0&0&0&0\\1/2&1/2&0&0&0\\1/2&0&1/2&0&0\\1&0&0&1&0\\\hline &1/6&1/3&1/3&1/6\\\end{array}}} 이 방법은 "고전적" 방법만큼 악명높진 않지만 같은 논문에서 제시되었기 때문에 동일하게 고전적이다(Kutta, 1901). 0 0 0 0 0 1 / 3 1 / 3 0 0 0 2 / 3 − 1 / 3 1 0 0 1 1 − 1 1 0 1 / 8 3 / 8 3 / 8 1 / 8 {\displaystyle {\begin{array}{c|cccc}0&0&0&0&0\\1/3&1/3&0&0&0\\2/3&-1/3&1&0&0\\1&1&-1&1&0\\\hline &1/8&3/8&3/8&1/8\\\end{array}}} 내장형 방법은 룽게-쿠타 한 단계의 지역 절단 오차를 계산하기 위해 설계되었고, 결과로 적응형 단계 크기로 오차를 조절할 수 있게 되었다. 이것은 테이블에 있는 p차와 p-1차의 두 방법을 사용한다. 낮은차수의 단계는 다음과 같다 y n + 1 ∗ = y n + h ∑ i = 1 s b i ∗ k i , {\displaystyle y_{n+1}^{*}=y_{n}+h\sum _{i=1}^{s}b_{i}^{*}k_{i},} 이때 k i {\displaystyle k_{i}} 는 고차 방법과 같다. 그러면 오차는 다음과 같다 e n + 1 = y n + 1 − y n + 1 ∗ = h ∑ i = 1 s ( b i − b i ∗ ) k i , {\displaystyle e_{n+1}=y_{n+1}-y_{n+1}^{*}=h\sum _{i=1}^{s}(b_{i}-b_{i}^{*})k_{i},} 이 오차는  O ( h p ) {\displaystyle O(h^{p})} . 이런 종류의 방법의 Butcher 테이블은 b i ∗ {\displaystyle b_{i}^{*}} c 1 a 11 a 12 … a 1 s c 2 a 21 a 22 … a 2 s ⋮ ⋮ ⋮ ⋱ ⋮ c s a s 1 a s 2 … a s s b 1 b 2 … b s b 1 ∗ b 2 ∗ … b s ∗ {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\&b_{1}^{*}&b_{2}^{*}&\dots &b_{s}^{*}\\\end{array}}} 가장 간단한 적응형 룽게-쿠타 방법은 이차인 호인의 방법과 일차인 오일러 방법을 결합한 것이다. 확장된 Butcher 테이블은 다음과 같다: 0 1 1 1 / 2 1 / 2 1 0 {\displaystyle {\begin{array}{c|cc}0&\\1&1\\\hline &1/2&1/2\\&1&0\end{array}}} 추정 오차는 단계크기를 조절하는데 사용된다. 펠베르크 방법은 일차와 이차의 두 방법을 가진다. 확장된 Butcher 테이블은 다음과 같다: b 계수의 첫 줄은 일차 정확한 해를 주고, 두 번째 줄은 이차이다. 보가키-샴폐인 방법은 이차와 삼차의 두 방법이다. 확장된 Butcher 테이블은 다음과 같다: b 계수의 첫 줄은 삼차 정확한 해를 주고, 두 번째 줄은 이차이다. 룽게-쿠타-펠베르크 방법은 5차와 4차의 두 방법이다. 확장된 Butcher 테이블은 다음과 같다: b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다. 캐쉬와 카프는 펠버그의 원래 아이디어를 수정했다. 캐쉬-카프 방법의 확장된 테이블은 다음과 같다: b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다. 도르몬드-프린스 방법의 확장된 테이블은 다음과 같다 b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다. 역 오일러 방법은 일차이다. 선형 확장 문제에 대해서 조건적 안정하고 진동이 없다. 1 1 1 {\displaystyle {\begin{array}{c|c}1&1\\\hline &1\\\end{array}}} 암시적 중간점 방법은 이차이다. 이것은 배열 방법 중 가우스 방법이라는 그룹에서 가장 간단한 방법이다. 이는 사교 적분자이다. 1 / 2 1 / 2 1 {\displaystyle {\begin{array}{c|c}1/2&1/2\\\hline &1\end{array}}} 이 방법들은 가우스-르장드르 구적법에 기반하고 있다. 4차 가우스-르장드르 방법의 Butcher 테이블은 다음과 같다: 1 2 − 3 6 1 4 1 4 − 3 6 1 2 + 3 6 1 4 + 3 6 1 4 1 2 1 2 1 2 + 1 2 3 1 2 − 1 2 3 {\displaystyle {\begin{array}{c|cc}{\frac {1}{2}}-{\frac {\sqrt {3}}{6}}&{\frac {1}{4}}&{\frac {1}{4}}-{\frac {\sqrt {3}}{6}}\\{\frac {1}{2}}+{\frac {\sqrt {3}}{6}}&{\frac {1}{4}}+{\frac {\sqrt {3}}{6}}&{\frac {1}{4}}\\\hline &{\frac {1}{2}}&{\frac {1}{2}}\\&{\frac {1}{2}}+{\frac {1}{2}}{\sqrt {3}}&{\frac {1}{2}}-{\frac {1}{2}}{\sqrt {3}}\\\end{array}}} 6차 가우스-르장드르 방법의 Butcher 테이블은 다음과 같다: 1 2 − 15 10 5 36 2 9 − 15 15 5 36 − 15 30 1 2 5 36 + 15 24 2 9 5 36 − 15 24 1 2 + 15 10 5 36 + 15 30 2 9 + 15 15 5 36 5 18 4 9 5 18 − 5 6 8 3 − 5 6 {\displaystyle {\begin{array}{c|ccc}{\frac {1}{2}}-{\frac {\sqrt {15}}{10}}&{\frac {5}{36}}&{\frac {2}{9}}-{\frac {\sqrt {15}}{15}}&{\frac {5}{36}}-{\frac {\sqrt {15}}{30}}\\{\frac {1}{2}}&{\frac {5}{36}}+{\frac {\sqrt {15}}{24}}&{\frac {2}{9}}&{\frac {5}{36}}-{\frac {\sqrt {15}}{24}}\\{\frac {1}{2}}+{\frac {\sqrt {15}}{10}}&{\frac {5}{36}}+{\frac {\sqrt {15}}{30}}&{\frac {2}{9}}+{\frac {\sqrt {15}}{15}}&{\frac {5}{36}}\\\hline &{\frac {5}{18}}&{\frac {4}{9}}&{\frac {5}{18}}\\&-{\frac {5}{6}}&{\frac {8}{3}}&-{\frac {5}{6}}\end{array}}} 로바토 방법의 주요 세 방법은 IIIA, IIIB 그리고 IIIC로 불린다(고전 수학 문헌에서 기호 I과 II는 라다우 방법의 주 종류에 예약되어 있었다). 이것들은 리후엘 로바토(Rehuel Lobatto)의 이름을 따왔다. 모두 암시적 방법이고, 2s-2차 방법이며, 모두 c1 = 0이고 cs = 1이다. 다른 어떤 명시적 방법과는 달리, 이 방법들은 더 큰 단계도 가능하다. 로바토는 룽게와 쿠타가 고전적인 사차 방법을 만들기 전에 살았었다. 로바토 IIIA 방법은 배열 방법이다. 이차 방법은 사다리꼴 공식으로 알려져있다: 0 0 0 1 1 / 2 1 / 2 1 / 2 1 / 2 1 0 {\displaystyle {\begin{array}{c|cc}0&0&0\\1&1/2&1/2\\\hline &1/2&1/2\\&1&0\\\end{array}}} 4차 방법은 다음과 같다 0 0 0 0 1 / 2 5 / 24 1 / 3 − 1 / 24 1 1 / 6 2 / 3 1 / 6 1 / 6 2 / 3 1 / 6 − 1 2 2 − 1 2 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/2&5/24&1/3&-1/24\\1&1/6&2/3&1/6\\\hline &1/6&2/3&1/6\\&-{\frac {1}{2}}&2&-{\frac {1}{2}}\\\end{array}}} 이 방법은 A-안정하지만 L-안정하거나 B-안정하지는 않다. 로바토 IIIB 방법은 배열 방법이 아니지만 불연속적 배열 방법으로 볼 수 있다. 이차 방법은 다음과 같다 0 1 / 2 0 1 1 / 2 0 1 / 2 1 / 2 1 0 {\displaystyle {\begin{array}{c|cc}0&1/2&0\\1&1/2&0\\\hline &1/2&1/2\\&1&0\\\end{array}}} 4차 방법은 다음과 같다 0 1 / 6 − 1 / 6 0 1 / 2 1 / 6 1 / 3 0 1 1 / 6 5 / 6 0 1 / 6 2 / 3 1 / 6 − 1 2 2 − 1 2 {\displaystyle {\begin{array}{c|ccc}0&1/6&-1/6&0\\1/2&1/6&1/3&0\\1&1/6&5/6&0\\\hline &1/6&2/3&1/6\\&-{\frac {1}{2}}&2&-{\frac {1}{2}}\\\end{array}}} 로바토 IIIB 방법은 A-안정적이지만 L-안정하거나 B-안정하지는 않다. 로바토 IIIC 방법도 불연속적 배열 방법이다. 이차 방법은 다음과 같다 0 1 / 2 − 1 / 2 1 1 / 2 1 / 2 1 / 2 1 / 2 1 0 {\displaystyle {\begin{array}{c|cc}0&1/2&-1/2\\1&1/2&1/2\\\hline &1/2&1/2\\&1&0\\\end{array}}} 4차 방법은 다음과 같다 0 1 / 6 − 1 / 3 1 / 6 1 / 2 1 / 6 5 / 12 − 1 / 12 1 1 / 6 2 / 3 1 / 6 1 / 6 2 / 3 1 / 6 − 1 2 2 − 1 2 {\displaystyle {\begin{array}{c|ccc}0&1/6&-1/3&1/6\\1/2&1/6&5/12&-1/12\\1&1/6&2/3&1/6\\\hline &1/6&2/3&1/6\\&-{\frac {1}{2}}&2&-{\frac {1}{2}}\\\end{array}}} 이것은 L-안정하다. 이것들은 게다가 대수적으로 안정하고, 따라서 B-안정하기 때문에 딱딱한 방정식에 적합하다. 로바토 IIIC* 방법은 문헌에서 로바토 III 방법(Butcher, 2008), Butcher의 로바토 방법(Hairer et al, 1993), 그리고 로바토 IIIC 방법(Sun, 2000)이라고도 알려져 있다. 아차 방법은 다음과 같다 0 0 0 1 1 0 1 / 2 1 / 2 {\displaystyle {\begin{array}{c|cc}0&0&0\\1&1&0\\\hline &1/2&1/2\\\end{array}}} 4차 방법은 다음과 같다 0 0 0 0 1 / 2 1 / 4 1 / 4 0 1 0 1 0 1 / 6 2 / 3 1 / 6 {\displaystyle {\begin{array}{c|ccc}0&0&0&0\\1/2&1/4&1/4&0\\1&0&1&0\\\hline &1/6&2/3&1/6\\\end{array}}} 이 방법은 A-안정하지도, B-안정하지도, L-안정하지도 않다. s = 2 {\displaystyle s=2} . 다음의 형태를 가지는 로바토 계수를 고려함으로써 세 실수 변수 ( α A , α B , α C ) {\displaystyle (\alpha _{A},\alpha _{B},\alpha _{C})} a i , j ( α A , α B , α C ) = α A a i , j A + α B a i , j B + α C a i , j C + α C ∗ a i , j C ∗ {\displaystyle a_{i,j}(\alpha _{A},\alpha _{B},\alpha _{C})=\alpha _{A}a_{i,j}^{A}+\alpha _{B}a_{i,j}^{B}+\alpha _{C}a_{i,j}^{C}+\alpha _{C*}a_{i,j}^{C*}} , 여기서, α C ∗ = 1 − α A − α B − α C {\displaystyle \alpha _{C*}=1-\alpha _{A}-\alpha _{B}-\alpha _{C}} . 예를 들면, (Nørsett and Wanner, 1981)에 소개되었고 로바토 IIINW라고도 불리는 로바토 IIID는 다음의 형태를 가진다 0 1 / 2 1 / 2 1 − 1 / 2 1 / 2 1 / 2 1 / 2 {\displaystyle {\begin{array}{c|cc}0&1/2&1/2\\1&-1/2&1/2\\\hline &1/2&1/2\\\end{array}}} 그리고 0 1 / 6 0 − 1 / 6 1 / 2 1 / 12 5 / 12 0 1 1 / 2 1 / 3 1 / 6 1 / 6 2 / 3 1 / 6 {\displaystyle {\begin{array}{c|ccc}0&1/6&0&-1/6\\1/2&1/12&5/12&0\\1&1/2&1/3&1/6\\\hline &1/6&2/3&1/6\\\end{array}}} 이 방법은  α A = 2 {\displaystyle \alpha _{A}=2} , α B = 2 {\displaystyle \alpha _{B}=2} , α C = − 1 {\displaystyle \alpha _{C}=-1} , 그리고  α C ∗ = − 2 {\displaystyle \alpha _{C*}=-2} . 이 방법은 L-안정적이다. 또한 대수적으로 안정적이기 때문에 B-안정적이다. 라다우 방법은 완전히 암시적 방법이다(이런 방법의 행렬 A는 어떤 구조도 가질 수 있다). 라다우 방법은 s 단계에 2s-1차이다. 라다우 방법은 A-안정적이지만 구현하는데 비용이 많이 든다. 게다가 차수의 감소로 어려움이 있을 수 있다. 일차 라다우 방법은 역 오일러 방법과 유사하다 삼차 방법은 다음과 같다 0 1 / 4 − 1 / 4 2 / 3 1 / 4 5 / 12 1 / 4 3 / 4 {\displaystyle {\begin{array}{c|cc}0&1/4&-1/4\\2/3&1/4&5/12\\\hline &1/4&3/4\\\end{array}}} 5차 방법은 다음과 같다 0 1 9 − 1 − 6 18 − 1 + 6 18 3 5 − 6 10 1 9 11 45 + 7 6 360 11 45 − 43 6 360 3 5 + 6 10 1 9 11 45 + 43 6 360 11 45 − 7 6 360 1 9 4 9 + 6 36 4 9 − 6 36 {\displaystyle {\begin{array}{c|ccc}0&{\frac {1}{9}}&{\frac {-1-{\sqrt {6}}}{18}}&{\frac {-1+{\sqrt {6}}}{18}}\\{\frac {3}{5}}-{\frac {\sqrt {6}}{10}}&{\frac {1}{9}}&{\frac {11}{45}}+{\frac {7{\sqrt {6}}}{360}}&{\frac {11}{45}}-{\frac {43{\sqrt {6}}}{360}}\\{\frac {3}{5}}+{\frac {\sqrt {6}}{10}}&{\frac {1}{9}}&{\frac {11}{45}}+{\frac {43{\sqrt {6}}}{360}}&{\frac {11}{45}}-{\frac {7{\sqrt {6}}}{360}}\\\hline &{\frac {1}{9}}&{\frac {4}{9}}+{\frac {\sqrt {6}}{36}}&{\frac {4}{9}}-{\frac {\sqrt {6}}{36}}\\\end{array}}} 이 방법의 ci는 다음의 근이다 P s ( 2 x − 1 ) − P s − 1 ( 2 x − 1 ) = 0 , {\displaystyle P_{s}(2x-1)-P_{s-1}(2x-1)=0,} P s {\displaystyle P_{s}} . 삼차 방법은 다음과 같다 1 / 3 5 / 12 − 1 / 12 1 3 / 4 1 / 4 3 / 4 1 / 4 {\displaystyle {\begin{array}{c|cc}1/3&5/12&-1/12\\1&3/4&1/4\\\hline &3/4&1/4\\\end{array}}} 5차 방법은 다음과 같다 2 5 − 6 10 11 45 − 7 6 360 37 225 − 169 6 1800 − 2 225 + 6 75 2 5 + 6 10 37 225 + 169 6 1800 11 45 + 7 6 360 − 2 225 − 6 75 1 4 9 − 6 36 4 9 + 6 36 1 9 4 9 − 6 36 4 9 + 6 36 1 9 {\displaystyle {\begin{array}{c|ccc}{\frac {2}{5}}-{\frac {\sqrt {6}}{10}}&{\frac {11}{45}}-{\frac {7{\sqrt {6}}}{360}}&{\frac {37}{225}}-{\frac {169{\sqrt {6}}}{1800}}&-{\frac {2}{225}}+{\frac {\sqrt {6}}{75}}\\{\frac {2}{5}}+{\frac {\sqrt {6}}{10}}&{\frac {37}{225}}+{\frac {169{\sqrt {6}}}{1800}}&{\frac {11}{45}}+{\frac {7{\sqrt {6}}}{360}}&-{\frac {2}{225}}-{\frac {\sqrt {6}}{75}}\\1&{\frac {4}{9}}-{\frac {\sqrt {6}}{36}}&{\frac {4}{9}}+{\frac {\sqrt {6}}{36}}&{\frac {1}{9}}\\\hline &{\frac {4}{9}}-{\frac {\sqrt {6}}{36}}&{\frac {4}{9}}+{\frac {\sqrt {6}}{36}}&{\frac {1}{9}}\\\end{array}}} 룽게-쿠타-펠베르크 방법 Fehlberg, E. (1969년 7월 1일). “Low-order classical Runge-Kutta formulas with stepsize control and their application to some heat transfer problems”.  http://homepage.math.uiowa.edu/~ljay/publications.dir/Lobatto.pdf Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (1993), 《Solving ordinary differential equations I: Nonstiff problems》, Berlin, New York: Springer-Verlag, ISBN 978-3-540-56670-0 . Hairer, Ernst; Wanner, Gerhard (1996), 《Solving ordinary differential equations II: Stiff and differential-algebraic problems》, Berlin, New York: Springer-Verlag, ISBN 978-3-540-60452-5 . Hairer, Ernst; Lubich, Christian; Wanner, Gerhard (2006), 《Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations》 2판, Berlin, New York: Springer-Verlag, ISBN 978-3-540-30663-4 .