On Wed, Dec 28, 2011 at 12:56 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><div class="gmail_quote">On Wed, Dec 28, 2011 at 12:51, Dave Nystrom <span dir="ltr"><<a href="mailto:dnystrom1@comcast.net" target="_blank">dnystrom1@comcast.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>I am experimenting now with solving my various linear systems with petsc<br>
using a separate preconditioning matrix. These linear systems are all banded<br>
systems arising from discretization of pdes on a 2d structured grid. My<br>
preconditioning matrix is the inner band of diagonals about the main<br>
diagonal. So, my preconditioning matrices are all band systems with a narrow<br>
bandwidth. On 4 of them, they are tridiagonal. Another is heptadiagonal. I<br>
am using lu as my preconditioner.<br>
<br>
So, I am wondering if there are better ways to solve the preconditioning<br>
matrix with petsc than using a general sparse direct lu solver such as petsc<br>
lu. I don't know if petsc lu does anything special when it encounters a<br>
sparse matrix that is tridiagonal or banded with narrow bandwidth. I'm<br>
guessing not but it would be nice if it did. I assume that I could solve<br>
such a tridiagonal preconditioning matrix more efficiently using something<br>
like the lapack tridiagonal solver that would interface to a vendor library<br>
like MKL. I also wonder if there is much difference between the performance<br>
of the triangular solves for a tridiagonal system with vendor lapack versus<br>
normal lapack. That would seem to be the main issue since I am using the<br>
tridiagonal solve as a preconditioner that takes many iterations.</div></blockquote></div><br></div></div><div>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.</div>
<div><br></div><div>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.</div>
</blockquote></div><br>Yes, there is an ENORMOUS preconditioning literature on these systems. This is a time to get a bunch<div>of papers and stat reading. I would look at ADI.</div><div><br></div><div> Matt</div><div>
<div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>
</div>