Wikipedia / Explicit and implicit methods
Wikipedia / Explicit and implicit methods
Explicit and implicit methods are approaches used in numerical analysis for obtaining numerical approximations to the solutions of ordinary and partial differential equations, as is required in computer simulations of 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 is a small time step), then, for an explicit method
while for an implicit method one solves an equation
Computation
Implicit 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 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
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,).
Illustration using the forward and backward Euler methods
Consider the ordinary differential equation
for 0≤k≤n. Discretize this equation using the simplest explicit and implicit methods, which are the forward Euler and backward Euler methods (see numerical ordinary differential equations) and compare the obtained schemes.
Forward Euler method:
The forward Euler method
yields
.
Backward Euler method:
With the backward Euler method
one finds the implicit equation
was given explicitly rather than as an unknown in an equation).
This is a quadratic equation, having one negative and one positive root at the next time step is given by
In the vast majority of cases, the equation to be solved when using an implicit scheme is much more complicated than a quadratic equation, and no analytical solution exists. Then one uses root-finding algorithms, such as Newton's method, to find the numerical solution.
Crank-Nicolson method:
The Crank-Nicolson method, also known as the trapezoidal rule, can be thought of as an average of the forward and backward Euler methods. For the differential equation considered above, this gives
leading to the implicit equation
was given explicitly rather than as an unknown in an equation). This can be numerically solved using root-finding algorithms, such as Newton's method.
The advantage of this method is its improved accuracy (see diagram above). Both Euler methods are first order, but the trapezoidal method is second order.
IMEX methods:
Because of the difficulty of solving implicit equations, some methods use an implicit method for linear terms and an explicit method for nonlinear terms. These are called IMEX (Implicit-Explicit) schemes.
To illustrate the idea of IMEX schemes, consider a slightly different differential equation:
Using implicit Euler for the linear term and explicit Euler for the nonlinear term gives
so it can be solved to give
This method is sometimes called the Forward-Backward Euler method (see diagram).
See also
SIMPLE algorithm, a semi-implicit method for pressure-linked equations
Sources