Can the Euler method accurately approximate solutions for stiff systems?

In summary, we discussed the limitations of the Euler method for stiff systems, using the Lotka-Volterra model as an example. The Euler method is not suitable for stiff systems as it requires a very small step size, leading to accumulated numerical errors and poor approximations. Higher-order methods, such as the Runge-Kutta method, are more appropriate for stiff systems.
  • #1
evinda
Gold Member
MHB
3,836
0
Hello! (Wave)

We consider the initial value problem

$$\left\{\begin{matrix}
y'=\lambda y, & t \in [0,\infty), \lambda \in \mathbb{C}, Re(\lambda)<0 \\
y(0)=1 &
\end{matrix}\right.$$

Since $y^n=(1+h \lambda)^n, n \in \mathbb{N}_0$ is the sequence of approximations that the Euler method gives for the above problem, and these approximations remain bounded iff $|1+h \lambda| \leq 1$, we deduce that the region of absolute stability of Euler method at the complex plane is the set $S=\{ z \in \mathbb{C}: |1+z| \leq 1\}$, i.e. exactly the closed disc $|1+z| \leq 1$, with center $-1$ and radius $1$, that is contained at the left complex semiplane $\{ z \in \mathbb{C}: Re z \leq 0 \}$.
If $Re \lambda<0, |\lambda|>>1$, we have to compute with a very small $h$ so that $h \lambda$ is in $S$.
This is a serious disadvantage of Euler method, if we want to apply it at stiff systems, i.e. at systems of the form $x'=Ax$ for which there are eigenvalues $\lambda_{\mu}$ and $\lambda_{\nu}$ of $A$, with negative real part such that $|Re \lambda_{\mu} |>>|Re \lambda_{\nu}|$. For such systems we need to pick very small $h$ (such that $h \lambda_{\mu} \in S)$ to approximate correctly components of the solution, like this one: $e^{\lambda_{\mu}t}$, although these components tend very quickly to $0$ and, practically, aren't significant at the progression of the solution, besides from a small border layer near $t=0$.
Could you give me an example of a stiff system at which we could apply the Euler method, in order to see that it doesn't give right approximations? (Thinking)
 
Mathematics news on Phys.org
  • #2


Sure! One example of a stiff system that we can apply the Euler method to is the Lotka-Volterra predator-prey model, which describes the population dynamics of a predator and its prey. The system is given by the following differential equations:

$$\frac{dx}{dt}=ax-bxy, \frac{dy}{dt}=-cy+dxy,$$

where $x$ represents the prey population and $y$ represents the predator population. The parameters $a,b,c,$ and $d$ are positive constants.

If we choose $a=1, b=0.01, c=1, d=0.005$, we have a stiff system where the eigenvalues of the coefficient matrix are $\lambda_{\mu}=-0.005$ and $\lambda_{\nu}=-0.01$. These eigenvalues have negative real parts and satisfy the condition $|Re \lambda_{\mu} |>>|Re \lambda_{\nu}|$, making it a perfect example to test the limitations of the Euler method.

Using the Euler method with a step size of $h=0.001$, we can see that the approximation for $x$ (prey population) is fairly accurate, but the approximation for $y$ (predator population) is completely off. This is because the small step size required for the stiff system leads to a large number of iterations, causing numerical errors to accumulate and resulting in a poor approximation.

In contrast, using a higher-order method such as the Runge-Kutta method with the same step size gives much more accurate approximations for both $x$ and $y$, as it is better suited for stiff systems. This example clearly demonstrates the limitations of the Euler method for stiff systems and the importance of choosing an appropriate numerical method for different types of problems.
 

FAQ: Can the Euler method accurately approximate solutions for stiff systems?

What is a stiff system?

A stiff system is a set of differential equations that contains both fast and slow changing variables. This can make it difficult to solve using traditional numerical methods, as the time step needs to be small enough to accurately capture the fast changing variables, but this can make the computation time very long.

What is the Euler method?

The Euler method is a numerical method for solving ordinary differential equations. It involves approximating the solution by taking small steps along the curve, using the derivative at each point to determine the next point. This method is simple and easy to implement, but it may not be accurate for more complex systems.

How does the Euler method work for stiff systems?

The Euler method may not be suitable for solving stiff systems as it requires a very small time step to accurately capture the fast changing variables. This can result in a very large number of steps, making the computation time very long. Additionally, the method may produce inaccurate results due to the stiffness of the system.

Are there alternatives to the Euler method for stiff systems?

Yes, there are several alternative methods that are better suited for solving stiff systems. These include the implicit Euler method, the backward Euler method, and the Runge-Kutta methods. These methods use different approaches to handle the stiffness of the system and can provide more accurate results in less computation time.

How can I determine if my system is stiff?

There is no definitive answer to this question, as it can depend on the specific system and the desired level of accuracy. However, some signs that a system may be stiff include very different time scales for the variables, rapidly changing derivatives, and high sensitivity to initial conditions. It is important to consult with a numerical analyst or use tools such as stability analysis to determine if your system is stiff.

Similar threads

Replies
1
Views
1K
Replies
1
Views
2K
Replies
1
Views
1K
Replies
7
Views
3K
Replies
1
Views
2K
Replies
1
Views
2K
Replies
38
Views
11K
Replies
1
Views
1K
Back
Top