[petsc-dev] Options for Solving Separate Preconditioning Matrix
Dave Nystrom
dnystrom1 at comcast.net
Wed Dec 28 12:51:46 CST 2011
I am experimenting now with solving my various linear systems with petsc
using a separate preconditioning matrix. These linear systems are all banded
systems arising from discretization of pdes on a 2d structured grid. My
preconditioning matrix is the inner band of diagonals about the main
diagonal. So, my preconditioning matrices are all band systems with a narrow
bandwidth. On 4 of them, they are tridiagonal. Another is heptadiagonal. I
am using lu as my preconditioner.
So, I am wondering if there are better ways to solve the preconditioning
matrix with petsc than using a general sparse direct lu solver such as petsc
lu. I don't know if petsc lu does anything special when it encounters a
sparse matrix that is tridiagonal or banded with narrow bandwidth. I'm
guessing not but it would be nice if it did. I assume that I could solve
such a tridiagonal preconditioning matrix more efficiently using something
like the lapack tridiagonal solver that would interface to a vendor library
like MKL. I also wonder if there is much difference between the performance
of the triangular solves for a tridiagonal system with vendor lapack versus
normal lapack. That would seem to be the main issue since I am using the
tridiagonal solve as a preconditioner that takes many iterations.
Thanks for any advice,
Dave
More information about the petsc-dev
mailing list