|
|
|
|
|
|
|
|
|
Sparse Matrix versus Multigrid Solvers for Elliptic PDE's
|
|
|
|
|
|
Organization: | University of Colorado, Boulder, CO |
Department: | Mathematics Department |
|
|
|
|
|
|
2004 International Mathematica Symposium
|
|
|
|
|
|
Banff, Canada
|
|
|
|
|
|
This paper will discuss three elliptic partial differential equation (EPDE) solvers for the following linear boundary value problem (BVP): a This problem is approximated by a standard finite difference scheme with mesh size h = a where N+1 is the number of mesh points in each direction. This descretized system simplifies the problem to solving a linear equations for the a unkowns u[i,j]. The notation u[i,j] is used to mean the value of the approximate solution at the mesh point (i,j). The size of the coefficient matrix of this linear system is a × a. This matrix is band diagonal and very sparse. The elegant and very powerful Mathematica command ListCorrelate is used to construct this matrix. In this paper we will look at examples where N ≥ 128, so that this system will have at least 16129 equations and unknowns. The three solvers mentioned above will solve this system in different ways. The first solver makes use of the new high speed sparse matrix capabilities of Mathematica 5. The second solver uses the band diagonal property of the coefficient matrix to solve the system. This band diagonal solving algorithim is written in C and then MathLink is used to call it from Mathematica. This combination combines the speed of C with the ease of use of Mathematica. The third solver uses the Multigrid algorithim to solve the linear system. This algorithim is an iteration scheme and does not solve the linear system directly as does the first two solvers. The Multigrid method was discussed in detail by the author in a previous paper. This algorithim is also written in C and called from Mathematica using MathLink. The three solvers will be compared for speed and accuracy.
|
|
|
|
|
|
|
|
|
|
|
|
sparse matrix, multigrid solver, elliptic PDE, band diagonal, multigrid method, finite difference
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | |
|