Stone method
From Wikipedia, the free encyclopedia
Stone's method, also known as the strongly implicit procedure or SIP, is an algorithm for solving a sparse linear system of equations. The method uses an approximate LU decomposition to get an iterative solution of the problem. The method is named after H. L. Stone, who proposed it in 1968.
The LU decomposition is an excellent general purpose linear equation solver. The biggest disadvantage is that it fails to take advantage of coefficient matrix to be a sparse matrix. The LU decomposition of a sparse matrix is usually not sparse, thus, for large system of equations, LU decomposition may require a prohibitive amount of memory and arithmetical operations.
In the preconditioned iterative methods, if the preconditioner matrix M is a good approximation of coefficient matrix A then the convergence is faster. This brings us to idea of using approximate factorization LU of A as the iteration matrix M.
A version of incomplete lower-upper decomposition method was proposed by H. L. Stone in 1968. This method is designed for equation system arising from discretisation of partial differential equations and was firstly used for a pentadiagonal system of equation obtained while solving an elliptic partial differential equation in a two dimensional space by a finite difference method. The LU approximate decomposition was looked in the same pentadiagonal form as the original matrix (three diagonal for L and three diagonals for U) as the best match of the seven possible equations for the five unknowns for the each row of the matrix.
[edit] Algorithm
- For the linear system Ax = b
- calculate Incomplete LU factorization of matrix A
- Ax = (M-N)x = (LU-N)x = b
- Mx(k+1) = Nx(k)+b , with ||M|| >> ||N||
- Mx(k+1) = LUx(k+1) = c(k)
- LUx(k) = L(Ux(k+1)) = Ly(k) = c(k)
- Ax = (M-N)x = (LU-N)x = b
- set a guess
- k = 0, x(k)
- r(k)=b - Ax(k)
- k = 0, x(k)
- while ( ||r(k)||2 ) do
- evaluate new right hand side
- c(k) = Nx(k) + b
- c(k) = Nx(k) + b
- solve Ly(k) = c(k) by forward substitution
- y(k) = L-1c(k)
- y(k) = L-1c(k)
- solve Ux(k+1) = y(k) by back substitution
- x(k+1) = U-1y(k)
- x(k+1) = U-1y(k)
- evaluate new right hand side
- end while
[edit] References
- Stone, H. L. (1968). "Iterative Solution of Implicit Approximations of Multidimensional Partial Differential Equations". SIAM Journal of Numerical Analysis 5: 530 – 538. doi: . - the original article
- Ferziger, J.H. and Peric, M. (2001). Computational Methods for Fluid Dynamics. Springer-Verlag, Berlin. ISBN 3-540-42074-6.
- Acosta, J.M. (2001). Numerical Algorithms for Three Dimensional Computational Fluid Dynamic Problems. PhD Thesis. Polytechnic University of Catalunia.
- This article incorporates text from the article Stone's_method on CFD-Wiki that is under the GFDL license.