[petsc-dev] Options for Solving Separate Preconditioning Matrix

Jed Brown jedbrown at mcs.anl.gov
Wed Dec 28 12:56:54 CST 2011


On Wed, Dec 28, 2011 at 12:51, Dave Nystrom <dnystrom1 at comcast.net> wrote:

> 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.
>

Profile. This sparse direct solve is likely a very small fraction of run
time, so it doesn't matter that it could be done marginally faster using a
tridiagonal solver.

The much more important issue is that your matrices are discarding coupling
in all but one spatial direction. That is generally quite bad
algorithmically (except for very strongly anisotropic problems, such that
the Green's function decays very fast in the transverse direction), leading
to slow convergence.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111228/46f9888d/attachment.html>


More information about the petsc-dev mailing list