Stability of Crank-Nicholson method

  • Thread starter Thread starter Nusc
  • Start date Start date
  • Tags Tags
    Method Stability
Click For Summary
SUMMARY

The Crank-Nicholson method is proven to be stable for all eigenvalues when the spectral radius condition p(A^-1 B) < 1 is satisfied. This condition ensures that the finite difference matrices A and B, derived from the equations A*U_j = B*U_{j-1}, maintain bounded solutions across iterations. The stability is confirmed through eigenvalue decomposition, indicating that if the eigenvalues of the matrix D are less than one, the system remains stable, while eigenvalues greater than one lead to instability. Thus, the Crank-Nicholson method is unconditionally stable under these conditions.

PREREQUISITES
  • Understanding of spectral radius and its implications in numerical methods
  • Familiarity with finite difference methods and their matrix representations
  • Knowledge of eigenvalue decomposition and its application in stability analysis
  • Basic concepts of iterative methods in numerical analysis
NEXT STEPS
  • Study the implications of spectral radius in numerical stability using "Matrix Analysis" by Roger Horn and Charles Johnson
  • Explore advanced finite difference methods and their stability criteria in "Numerical Methods for Partial Differential Equations" by J. W. Thomas
  • Learn about eigenvalue stability analysis in iterative methods through resources like "Numerical Linear Algebra" by Lloyd N. Trefethen and David Bau
  • Investigate the application of the Crank-Nicholson method in solving partial differential equations in "Finite Difference Methods for Ordinary and Partial Differential Equations" by Randall J. LeVeque
USEFUL FOR

Mathematicians, numerical analysts, and engineers involved in computational methods for differential equations, particularly those focusing on stability analysis in numerical simulations.

Nusc
Messages
752
Reaction score
2

Homework Statement


If p(A^-1 B) < 1 then the Crank-Nicholson method is stable for all eigenvalues.Where p is the spectral radius.

Homework Equations


Stability requires that A*U_j=B*U_{j-1} which gives
U_j = A^-1 B U_{j-1}

The Attempt at a Solution



Where do I start?
 
Physics news on Phys.org
Nusc said:
Where do I start?
By defining A,B, and the problem more clearly. Are you saying you need to prove that if p(A^-1 B)<1, then the Crank-Nicholson method applied to some equation involving A and B is stable?
 
Yes.
So for A*U_j = B*U_{j-1} we have:
The finite difference matrix for A:

1+lamda -lamda/2 ... 0
-lamda/2 1+lamda ... 0
0 ...
... -lamda/2
0 ... -lamda/2 1+lamda

Some tridiagonal matrix.
Similarly for B
B:

1-lamda +lamda/2 ... 0
+lamda/2 1-lamda ... 0
0 ...
... +lamda/2
0 ... +lamda/2 1-lamda

This is in general. I'm not sure if this is correct because I assume we need to do it for another problem.
 
If your equation is
Au_j = Bu_{j-1},
then
u_j = A^{-1}Bu_{j-1}
and
u_{j+1} = A^{-1}Bu_{j}= \left(A^{-1}B\right)A^{-1}Bu_{j-1},
and
u_{j+2} = A^{-1}Bu_{j-1}u_{j+1} = \left(A^{-1}B\right)^3u_{j-1}.
You can continue this on forever to get the term after n steps as
u_{j+n} = \left(A^{-1}B\right)^{n+1}u_{j-1}.

Now factor A^{-1}B by eigenvalue decomposition to obtain
A^{-1}B = TDT^{-1}
where D is a diagonal matrix containing the eigenvalues and T contains the corresponding eigenvectors.
Note that
\left(A^{-1}B\right)^2 = \left(TDT^{-1}\right)^2 = TDT^{-1}TDT^{-1}= TD^2T^{-1}
And similarly,
\left( A^{-1}B \right)^n = TD^nT^{-1}

Now if you plug this into the previous equation, you find that
u_{j+n} = \left(A^{-1}B\right)^{n+1}u_{j-1} = TD^{n+1}T^{-1}u_{j-1}

The system is stable if the solution u_{j+n} is bounded for all n. Since D is a diagonal matrix, D^{n+1} is just the diagonal elements raised to the n+1th power. So what happens if a number bigger than one is raised to a large power? And what about when the number is smaller than one? This is why you have the condition on the size of the eigenvalues.
 
If a number bigger than one is raised to a large power, then the system will become unstable.
If a number smaller than one is raised to a large power, then the system will become stable.

Hence the method is unconditionally stable.

Is that correct?
 

Similar threads

Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
5K
  • · Replies 10 ·
Replies
10
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K