@HaomingJiang
2017-09-29T10:46:09.000000Z
字数 2919
阅读 1047
Project: Gauss-Seidel iteration
Team Member: Haoming Jiang, Wenjie Yao
Gauss-Seidel Method:
We want to solve the linear system , where is problem specified and is arbitrary. can be written in , where is the diagonal part and is below the diagonal.
The Gauss-Seidel iteration is to update an approximate solution by
Poisson's equation
In our problem is defined as the matrix corresponding to the approximation of the Laplacian operator . So, actually our mission is to solve Poisson's equation
Here are some application of poisson's equation:
Gerenally speaking, the convergence properties of Gauss–Seidel method are dependent on the Matrix . Namely, the procedure is known to converge if either:
Fortunately, here we have is symmetric positive-definite.
According to [2]Thm 10.1.2, in our problem Gauss-Seidel iteration converges for any .
The best way I found for doing Gauss-Seidel iteration is by using the following update formulation:
The time complexity of each iteration is , where is the length of . However in our scenario, most of are s. The non-zero entries for a fixed is 27. So actually the time complexity is reduced to
Let's consider it's asymptotic performance:
For each iteration, . Denote as and as
So
We denote as the limitation of . We have where is the largest absolute eigen value of . If we want to control the error less than , then the time complexity of the algorithm is , where
I can not find a better lowerbound on asymptotic performance.
It is the same as the above discussion.
In order to control the error, . So totally, we need interations. Further more, in each iteration we need update components of . For updating each component, we need to do 54 calculations in total. So the number of arithmetic and logical operations is , where .
We only have to store the double vector , which is bytes.