Explicit and implicit methods: Difference between revisions

Content deleted Content added
Reverted to revision 932857392 by Jaiswal0 (talk) (TW)
J en mhh (talk | contribs)
style and tone
Line 1:
{{refimprove|date=December 2009}}
'''Explicit and implicit methods''' are approaches used in [[numerical analysis]] for obtaining numerical approximations to the solutions of time-dependent [[ordinary differential equation|ordinary]] and [[partial differential equation]]s, as is required in [[computer simulation]]s of [[Process (science)|physical processes]]. ''Explicit methods'' calculate the state of a system at a later time from the state of the system at the current time, while ''implicit methods'' find a solution by solving an equation involving both the current state of the system and the later one. Mathematically, if <math>Y(t)</math> is the current system state and <math>Y(t+\Delta t)</math> is the state at the later time (<math>\Delta t</math> is a small time step), then, for an explicit method
 
'''Explicit methods''' calculate the state of a system at a later time from the state of the system at the current time, while '''implicit methods''' find a solution by solving an equation involving both the current state of the system and the later one. Mathematically, if <math>Y(t)</math> is the current system state and <math>Y(t+\Delta t)</math> is the state at the later time (<math>\Delta t</math> is a small time step), then, for an explicit method
: <math>Y(t+\Delta t) = F(Y(t))\,</math>
while for an implicit method one solves an equation
Line 8 ⟶ 6:
to find <math>Y(t+\Delta t).</math>
 
It is clear that implicitImplicit methods require an extra computation (solving the above equation), and they can be much harder to implement. Implicit methods are used because many problems arising in practice are [[Stiff equation|stiff]], for which the use of an explicit method requires impractically small time steps <math>\Delta t</math> to keep the error in the result bounded (see [[numerical stability]]). For such problems, to achieve given accuracy, it takes much less computational time to use an implicit method with larger time steps, even taking into account that one needs to solve an equation of the form (1) at each time step. That said, whether one should use an explicit or implicit method depends upon the problem to be solved.
 
Since the implicit method cannot be carried out for each kind of differential operator, it is sometimes advisable to make use of the so called operator splitting method, which means that the differential operator is rewritten as the sum of two complementary operators
:<math>Y(t+\Delta t) = F(Y(t+\Delta t))+G(Y(t)),\,</math>
while one is treated explicitly and the other implicitly.
For usual applications the implicit term is chosen to be linear while the explicit term can be nonlinear. This combination of the former method is called '''Implicit-Explicit Method''' (short IMEX <ref>U.M. Ascher, S.J. Ruuth, R.J. Spiteri: ''[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.1525&rep=rep1&type=pdf Implicit-Explicit Runge-Kutta Methods for Time-Dependent Partial Differential Equations]'', Appl Numer Math, vol. 25(2-3), 1997</ref>, <ref>L.Pareschi, G.Russo: ''[https://www.researchgate.net/profile/Lorenzo_Pareschi/publication/230865813_Implicit-Explicit_Runge-Kutta_schemes_for_stiff_systems_of_differential_equations/links/0046352a03ba3ee92a000000.pdf Implicit-Explicit Runge-Kutta schemes for stiff systems of differential equations]'', Recent Trends in Numerical Analysis, Vol. 3, 269-289, 2000</ref>).
 
==Illustration using the forward and backward Euler methods==