{{위키데이터 속성 추적}}
수학에서, '''반-암시적 오일러 방법''' 또는 '''사교 오일러''', '''반-명시적 오일러''', '''오일러-크로머''', 그리고 '''뉴턴-스토머-베렛(NSV) 방법'''은 [[고전 역학|고전역학]]의 [[상미분 방정식|상미분방정식]]의 계인 [[해밀턴 방정식]]을 풀기 위한 [[오일러 방법]]의 수정이다. 이것은 사교 적분이고 따라서 일반적인 오일러 방법보다 더 좋은 결과를 얻는다.

== 설정 ==
반-암시적 오일러 방법은 다음의 형태의 [[미분방정식]] 쌍에 적용할 수 있다:
: <math> {dx \over dt} = f(t,v) </math>

: <math> {dv \over dt} = g(t,x), </math>
이 때, ''f''와 ''g''는 두어진 함수이고, ''x''와 ''v''는 [[스칼라]]일 수도 있고, [[벡터]]일 수도 있다. [[해밀턴 역학]]에서 운동 방정식은 해밀토니안이 다음의 형태를 가질 때, 이 형태를 가진다:
: <math> H = T(t,v) + V(t,x). \, </math>
이 미분방정식은 다음의 초기값으로 풀 수 있다
: <math> x(t_0) = x_0, \qquad v(t_0) = v_0. </math>

== 방법 ==
반-암시적 오일러 방법은 다음을 반복함으로 [[이산수학|이산적]] 근사치를 얻는다
: <math>\begin{align}
  v_{n+1} &= v_n + g(t_n, x_n) \, \Delta t\\[0.3em]
  x_{n+1} &= x_n + f(t_n, v_{n+1}) \, \Delta t
\end{align}</math>
여기서 Δ''t''는 한 단계의 시간 간격이고 ''t<sub>n</sub>'' = ''t<sub>0</sub>'' + ''n''Δ''t''는 ''n''단계 뒤의 시간이다.

일반적인 오일러 방법과의 차이는 오일러 방법은 ''x''<sub>''n''+1</sub>의 방정식에서 ''v<sub>n</sub>''을 사용하는 반면에 반-암시적 오일러 방법은 ''v<sub>n+1</sub>''을 사용한다는 점이다.

<math>(x_{n+1},v_{n+1})</math>
: <math>\begin{align}
  x_{n+1} &= x_n + f(t_n, v_n) \, \Delta t\\[0.3em]
  v_{n+1} &= v_n + g(t_n, x_{n+1}) \, \Delta t
\end{align}</math>
이것은 유사한 속성을 가진다.

반-암시적 오일러는 일반적인 오일러 방법처럼 [[수치 상미분방정식|일차 적분자]]이다. 이것은 전역오차가 &#x394;t차 라는 것을 의미한다. 하지만 반-암시적 오일러 방법은 일반적인 오일러 방법과는 달리 [[사교 적분자]]이다. 결과적으로 반-암시적 오일러 방법은 에너지를 거의 보존한다 (해밀토니안이 시간에 무관할 때). 자주 일반적인 오일러 방법을 사용할 때 [[에너지 드리프트|에너지가 급격하게 증가]]하기 때문에 매우 부정확하다.

반-암시적 오일러 방법의 두 변종을 교대로 사용하면 단순화 된 스토머-[[베렛 적분]]과 약간 다르게 단순화된 [[도약적분]]으로 이끌어, 오차의 차수와 에너지 보존의 차수를 늘린다.

반-암시적 오일러 방법의 안정성 영역이 Niiranen<ref>[http://www.researchgate.net/publication/268034494_Fast_and_accurate_symmetric_Euler_algorithm_for_electromechanical_simulations_NOTE_The_method_became_later_known_as_Symplectic_Euler Niiranen, Jouko: Fast and accurate symmetric Euler algorithm for electromechanical simulations] Proceedings of the Electrimacs'99, Sept. 14-16, 1999 Lisboa, Portugal, Vol. 1, pages 71 - 78.</ref> 에 의해 제시되었지만 반-암시적 오일러는 그의 논문에서 대칭 오일러로 잘못 알려졌다. 반-암시적 방법은 특성 방정식의 복소근이 아래에 나타난 원에 있을 때 시뮬레이션 시스템을 정확히 모델링한다. 실근의 경우, 안정성 영역은  <math>s > - 2/\Delta t</math>

[[파일:Symplectic Euler stability region.jpeg]]

볼 수 있듯이 반-암시적 방법은 근이 평면의 왼쪽 반에 있는 안정한 시스템과 근이 평면의 오른쪽 반에 있는 불안정한 시스템 둘 다 정확히 시뮬레이션할 수 있다. 이것은 [[오일러 방법|일반적인 오일러 방법]]과 [[역 오일러 방법]]보다 확실한 이점이다. 일반적인 오일러 방법은 근의 음의 실수부분이 허수 축에 가까울 때 실제 시스템보다 덜 저동이 걸리고, 역 오일러 방법은 시스템이 평면의 오른쪽 절반에서도 시스템이 안정하다고 나타낸다.

== 예시 ==
[[훅 법칙]]을 만족하는 [[용수철]]의 움직임이 다음과 같이 주어졌을 때:
: <math>\begin{align}
  \frac{dx}{dt} &= v(t)\\[0.2em]
  \frac{dv}{dt} &= -\frac{k}{m}\,x=-\omega^2\,x.
\end{align}</math>
이 방정식의 반-오일러 방법은 다음과 같다:
: <math>\begin{align}
  v_{n+1} &= v_n - \omega^2\,x_n\,\Delta t \\[0.2em]
  x_{n+1} &= x_n + v_{n+1} \,\Delta t.
\end{align}</math>
반복은 수정된 에너지 함수 <math>E_h(x,v)=\tfrac12\left(v^2+\omega^2\,x^2-\omega^2\Delta t\,vx\right)</math><math>O(\Delta t)</math>. 정확한 각진동수 <math>\omega</math>는 <math>1+\tfrac1{24}\omega^2\Delta t^2+O(\Delta t^4)</math>.

== 참고 문헌 ==
* {{저널 인용|제목=Geometric numerical integration illustrated by the Störmer/Verlet method|저널=Acta Numerica|성=Hairer|이름=Ernst|성2=Lubich|이름2=Christian|url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.7106|연도=2003|권=12|쪽=399–450|doi=10.1017/S0962492902000144|성3=Wanner|이름3=Gerhard}}
* {{서적 인용|제목=Computational Physics|성=Giordano|이름=Nicholas J.|성2=Hisao Nakanishi|날짜=July 2005|판=2nd|출판사=Benjamin Cummings|isbn=0-13-146990-8}}
* {{웹 인용|url=http://www.physics.udel.edu/~jim/PHYS460_660_13S/Ordinary%20Differential%20Equations/Euler-Cromer%20Method.htm|제목=The Euler-Cromer method|성=MacDonald|이름=James|출판사=[[University of Delaware]]|확인날짜=2013-04-11|보존url=https://archive.today/20131104183222/http://www.physics.udel.edu/~jim/PHYS460_660_13S/Ordinary%20Differential%20Equations/Euler-Cromer%20Method.htm|보존날짜=2013-11-04|url-status=dead}}
* {{서적 인용|제목=Computational Physics: An Introduction|url=https://archive.org/details/computationalphy00vese_143|성=Vesely|이름=Franz J.|연도=2001|판=2nd|출판사=Springer|쪽=[https://archive.org/details/computationalphy00vese_143/page/n125 117]|isbn=978-0-306-46631-1}}

== 각주 ==
{{각주}}

[[분류:수치미분방정식]]