룽게-쿠타 방법은 다음 상미분방정식의 수치해법이다
![{\displaystyle {\frac {dy}{dt}}=f(t,y)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5403ae9b59027d73d98912db269457070954f204)
이 수치해법은 다음의 형태를 가진다.
![{\displaystyle y_{n+1}=y_{n}+h\sum _{i=1}^{s}b_{i}k_{i}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d540876a61ebbbc28191c59e2304e01831c76569)
![{\displaystyle k_{1}=f(t_{n},y_{n}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/541dde6d4060065512de4c817e67b3249a1ef732)
![{\displaystyle k_{2}=f(t_{n}+c_{2}h,y_{n}+h(a_{21}k_{1})),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8e853e2c0fa93dcb7d58eb589d0620d9abfb0d0a)
![{\displaystyle k_{3}=f(t_{n}+c_{3}h,y_{n}+h(a_{31}k_{1}+a_{32}k_{2})),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/10a3a95777f3920c5d850214ca70031f4c04a224)
![{\displaystyle \vdots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/f8039d9feb6596ae092e5305108722975060c083)
![{\displaystyle k_{i}=f\left(t_{n}+c_{i}h,y_{n}+h\sum _{j=1}^{i-1}a_{ij}k_{j}\right),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d27ef2075d62fa0312b67e4cf3a2620f72a1c169)
이 문서에 있는 모든 방법은 다음과 같이 계수를 배열한 Butcher 테이블로 정의하였다:
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/27190eeffeee1a49601d6f687ef0c1fdd36ac699)
명시적 방법[편집]
명시적 방법은 행렬
이 하삼각행렬인 방법이다.
오일러[편집]
오일러 방법은 일차이다. 안정성과 정확성이 부족하기 때문에 주로 수치 해석 방법의 간단한 예제로 사용한다.
![{\displaystyle {\begin{array}{c|c}0&0\\\hline &1\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/62cbb4c87500f4ea0fefd8467f432e166e328679)
명시적 중간점 방법[편집]
(명시적) 중간점 방법은 두 단계의 이차 방법이다(아래의 암시적 중간점 방법을 보라):
![{\displaystyle {\begin{array}{c|cc}0&0&0\\1/2&1/2&0\\\hline &0&1\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a93ea4b2f2dd0faec23169926610e29a2d7943b5)
호인의 방법[편집]
호인의 방법은 두 단계의 이차 방법이다(또한 명시적 사다리꼴 공식으로도 알려져 있다):
![{\displaystyle {\begin{array}{c|cc}0&0&0\\1&1&0\\\hline &1/2&1/2\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bdd30f5c68e6ef0a11b2b74f85636b41fd7bca69)
랄스톤 방법[편집]
랄스톤 방법은 두 단계 이차 방법이고 최소 지역오차 경계가 있다:
![{\displaystyle {\begin{array}{c|cc}0&0&0\\2/3&2/3&0\\\hline &1/4&3/4\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2338707356ed9caf8313e55e612024b58d268e65)
일반적인 이차 방법[편집]
![{\displaystyle {\begin{array}{c|ccc}0&0&0\\x&x&0\\\hline &1-{\frac {1}{2x}}&{\frac {1}{2x}}\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/895ae458f52bdf40f44e871853a40627f24fec64)
쿠타 삼차 방법[편집]
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/06459b1660201c3a5266a816e2522ffaf612aea1)
고전적 사차 방법[편집]
"원조" 룽게-쿠타 방법이다.
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/69f39e6d006277318397a7dcdc23bde00b72b732)
3/8-규칙 사차 방법[편집]
이 방법은 "고전적" 방법만큼 악명높진 않지만 같은 논문에서 제시되었기 때문에 동일하게 고전적이다(Kutta, 1901).
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b9cd3f829691f75cfe19ffad6fab19806a02878c)
내장형 방법[편집]
내장형 방법은 룽게-쿠타 한 단계의 지역 절단 오차를 계산하기 위해 설계되었고, 결과로 적응형 단계 크기로 오차를 조절할 수 있게 되었다. 이것은 테이블에 있는 p차와 p-1차의 두 방법을 사용한다.
낮은차수의 단계는 다음과 같다
![{\displaystyle y_{n+1}^{*}=y_{n}+h\sum _{i=1}^{s}b_{i}^{*}k_{i},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/780a80baf60db524d50c011101f7abfa2725556e)
이때
는 고차 방법과 같다. 그러면 오차는 다음과 같다
![{\displaystyle e_{n+1}=y_{n+1}-y_{n+1}^{*}=h\sum _{i=1}^{s}(b_{i}-b_{i}^{*})k_{i},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4afb9243a5402aad69b60a550ca706bb29982983)
이 오차는
. 이런 종류의 방법의 Butcher 테이블은
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f9df94c56e01269a3e28d40c2f2726edfbd02c44)
호인-오일러[편집]
가장 간단한 적응형 룽게-쿠타 방법은 이차인 호인의 방법과 일차인 오일러 방법을 결합한 것이다. 확장된 Butcher 테이블은 다음과 같다:
![{\displaystyle {\begin{array}{c|cc}0&\\1&1\\\hline &1/2&1/2\\&1&0\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6af1ef9c788c64a1b2cab69bc2fcf332e562d71c)
추정 오차는 단계크기를 조절하는데 사용된다.
펠베르크 RK1(2)[편집]
펠베르크 방법[1]은 일차와 이차의 두 방법을 가진다. 확장된 Butcher 테이블은 다음과 같다:
0
|
1/2
|
1/2
|
1
|
1/256
|
255/256
|
1/256
|
255/256
|
0
|
1/512
|
255/256
|
1/512
|
b 계수의 첫 줄은 일차 정확한 해를 주고, 두 번째 줄은 이차이다.
보가키–샴폐인[편집]
보가키-샴폐인 방법은 이차와 삼차의 두 방법이다. 확장된 Butcher 테이블은 다음과 같다:
0
|
1/2
|
1/2
|
3/4
|
0
|
3/4
|
1
|
2/9
|
1/3
|
4/9
|
2/9
|
1/3
|
4/9
|
0
|
7/24
|
1/4
|
1/3
|
1/8
|
b 계수의 첫 줄은 삼차 정확한 해를 주고, 두 번째 줄은 이차이다.
펠베르크[편집]
룽게-쿠타-펠베르크 방법은 5차와 4차의 두 방법이다. 확장된 Butcher 테이블은 다음과 같다:
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
|
b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다.
캐쉬-카프[편집]
캐쉬와 카프는 펠버그의 원래 아이디어를 수정했다. 캐쉬-카프 방법의 확장된 테이블은 다음과 같다:
0
|
1/5
|
1/5
|
3/10
|
3/40
|
9/40
|
3/5
|
3/10
|
−9/10
|
6/5
|
1
|
−11/54
|
5/2
|
−70/27
|
35/27
|
7/8
|
1631/55296
|
175/512
|
575/13824
|
44275/110592
|
253/4096
|
37/378
|
0
|
250/621
|
125/594
|
0
|
512/1771
|
2825/27648
|
0
|
18575/48384
|
13525/55296
|
277/14336
|
1/4
|
b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다.
도르몬드–프린스[편집]
도르몬드-프린스 방법의 확장된 테이블은 다음과 같다
0
|
1/5
|
1/5
|
3/10
|
3/40
|
9/40
|
4/5
|
44/45
|
−56/15
|
32/9
|
8/9
|
19372/6561
|
−25360/2187
|
64448/6561
|
−212/729
|
1
|
9017/3168
|
−355/33
|
46732/5247
|
49/176
|
−5103/18656
|
1
|
35/384
|
0
|
500/1113
|
125/192
|
−2187/6784
|
11/84
|
35/384
|
0
|
500/1113
|
125/192
|
−2187/6784
|
11/84
|
0
|
5179/57600
|
0
|
7571/16695
|
393/640
|
−92097/339200
|
187/2100
|
1/40
|
b 계수의 첫 줄은 5차 정확한 해를 주고, 두 번째 줄은 4차이다.
암시적 방법[편집]
역 오일러[편집]
역 오일러 방법은 일차이다. 선형 확장 문제에 대해서 조건적 안정하고 진동이 없다.
![{\displaystyle {\begin{array}{c|c}1&1\\\hline &1\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ba161e3ed2a47c2bba7805c3cf5c52f9e5eba8d8)
암시적 중간점[편집]
암시적 중간점 방법은 이차이다. 이것은 배열 방법 중 가우스 방법이라는 그룹에서 가장 간단한 방법이다. 이는 사교 적분자이다.
![{\displaystyle {\begin{array}{c|c}1/2&1/2\\\hline &1\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/717bf03cef4fa9edfe97ac08e7b1eb72e6f2a491)
가우스-르장드르 방법[편집]
이 방법들은 가우스-르장드르 구적법에 기반하고 있다. 4차 가우스-르장드르 방법의 Butcher 테이블은 다음과 같다:
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2953f2985bce414b7f62ec4a49288e3c3b314ca0)
6차 가우스-르장드르 방법의 Butcher 테이블은 다음과 같다:
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6bb4ffce54eaba3db9bc82a88c94799c90793801)
로바토 방법[편집]
로바토 방법의 주요 세 방법은 IIIA, IIIB 그리고 IIIC로 불린다(고전 수학 문헌에서 기호 I과 II는 라다우 방법의 주 종류에 예약되어 있었다). 이것들은 리후엘 로바토(Rehuel Lobatto)의 이름을 따왔다. 모두 암시적 방법이고, 2s-2차 방법이며, 모두 c1 = 0이고 cs = 1이다. 다른 어떤 명시적 방법과는 달리, 이 방법들은 더 큰 단계도 가능하다. 로바토는 룽게와 쿠타가 고전적인 사차 방법을 만들기 전에 살았었다.
로바토 IIIA 방법[편집]
로바토 IIIA 방법은 배열 방법이다. 이차 방법은 사다리꼴 공식으로 알려져있다:
![{\displaystyle {\begin{array}{c|cc}0&0&0\\1&1/2&1/2\\\hline &1/2&1/2\\&1&0\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0ad4aa189a1efe516e8c974115897c9ad8a0512c)
4차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c9b81e05d27b9deab78b755c0714b43bff14fb88)
이 방법은 A-안정하지만 L-안정하거나 B-안정하지는 않다.
로바토 IIIB 방법[편집]
로바토 IIIB 방법은 배열 방법이 아니지만 불연속적 배열 방법으로 볼 수 있다. 이차 방법은 다음과 같다
![{\displaystyle {\begin{array}{c|cc}0&1/2&0\\1&1/2&0\\\hline &1/2&1/2\\&1&0\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ac397c65c55b7382877548a344cced85625e4b46)
4차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/33e94aedf814b31701e150ff5047e15a94454edf)
로바토 IIIB 방법은 A-안정적이지만 L-안정하거나 B-안정하지는 않다.
로바토 IIIC 방법[편집]
로바토 IIIC 방법도 불연속적 배열 방법이다. 이차 방법은 다음과 같다
![{\displaystyle {\begin{array}{c|cc}0&1/2&-1/2\\1&1/2&1/2\\\hline &1/2&1/2\\&1&0\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a110084aff1eff8dedace2752c77c017a006b406)
4차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c919a5883daf5dbfc24a1966ca7a329f5c01799a)
이것은 L-안정하다. 이것들은 게다가 대수적으로 안정하고, 따라서 B-안정하기 때문에 딱딱한 방정식에 적합하다.
로바토 IIIC* 방법[편집]
로바토 IIIC* 방법은 문헌에서 로바토 III 방법(Butcher, 2008), Butcher의 로바토 방법(Hairer et al, 1993), 그리고 로바토 IIIC 방법(Sun, 2000)이라고도 알려져 있다.[2] 아차 방법은 다음과 같다
![{\displaystyle {\begin{array}{c|cc}0&0&0\\1&1&0\\\hline &1/2&1/2\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bdd30f5c68e6ef0a11b2b74f85636b41fd7bca69)
4차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c975fe49a42c71f440b28c1bd671ffbc28d1bbd9)
이 방법은 A-안정하지도, B-안정하지도, L-안정하지도 않다.
.
일반화된 로바토 방법[편집]
다음의 형태를 가지는 로바토 계수를 고려함으로써 세 실수 변수
,
여기서,
.
예를 들면, (Nørsett and Wanner, 1981)에 소개되었고 로바토 IIINW라고도 불리는 로바토 IIID는 다음의 형태를 가진다
![{\displaystyle {\begin{array}{c|cc}0&1/2&1/2\\1&-1/2&1/2\\\hline &1/2&1/2\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bbcf6b4c93d8220752844f0e739e6a45aa9d9827)
그리고
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c4d7a7acc2b68723279042a9f61244295b1d37d1)
이 방법은
,
,
, 그리고
. 이 방법은 L-안정적이다. 또한 대수적으로 안정적이기 때문에 B-안정적이다.
라다우 방법[편집]
라다우 방법은 완전히 암시적 방법이다(이런 방법의 행렬 A는 어떤 구조도 가질 수 있다). 라다우 방법은 s 단계에 2s-1차이다. 라다우 방법은 A-안정적이지만 구현하는데 비용이 많이 든다. 게다가 차수의 감소로 어려움이 있을 수 있다.
일차 라다우 방법은 역 오일러 방법과 유사하다
라다우 IA 방법[편집]
삼차 방법은 다음과 같다
![{\displaystyle {\begin{array}{c|cc}0&1/4&-1/4\\2/3&1/4&5/12\\\hline &1/4&3/4\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bc1c11dd1c6d32ee4039247b3c597344b8b8c1c2)
5차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4a94f60484e7a875973ce4178e7718bcf32ffb4)
라다우 IIA 방법[편집]
이 방법의 ci는 다음의 근이다
![{\displaystyle P_{s}(2x-1)-P_{s-1}(2x-1)=0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/596887726b905412a34c3c3c0065d1748a3d180f)
. 삼차 방법은 다음과 같다
![{\displaystyle {\begin{array}{c|cc}1/3&5/12&-1/12\\1&3/4&1/4\\\hline &3/4&1/4\\\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b47fbd5ebb86b9303939471d9684163adbaa315b)
5차 방법은 다음과 같다
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/013969c9a0cec5411d972f8b8337cb357cf442e6)
같이 보기[편집]
- 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 .