On Wed, Jun 8, 2011 at 7:05 AM, Klaus Zimmermann < klaus.zimmermann at physik.uni-freiburg.de> wrote:
> Hi, > > I want to extract the most relevant eigenstates from a quadratic, complex > symmetric generalized eigenvalue problem Ax = \lambda Bx. A is complex > symmetric with 3*36 non-zeros per row, B is real with 36 non-zeros per row > (subpattern), both with dimension of the order of up to 1e7. We use > Krylov-Schur with shift-and-invert from slepc. With a direct solver for the > inner part (at the moment mumps) everything works fine. To circumvent memory > problems and improve parallelizability I would like to use an iterative > solver for the inner part, but was unable to actually get one to work. > What is also strange is that the setup as it is now works fine only with > out true residuals. If we use the command line switch for true residuals the > Krylov-Schur does not seem to convert. > So my questions are: > 1) Do you have any idea on why true residuals would work worse than the > Krylov estimate? > I am not sure what you mean here. The "true" residual distinction only has to do with stopping criteria, not with the solution returned. > 2) What iterative solver/preconditioner would you suggest? > Iterative solvers do not work without good preconditioners (which are really just other approximate solvers). And parallel preconditioners all depend on the operator. So, without knowing anything about the operator, we cannot make an intelligent recommendation. However, you might look at Elemental (http://code.google.com/p/elemental/) which solves the complex symmetric eigenproblem and is very scalable. Matt > Thanks in advance! > Klaus > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110608/5ec04bf6/attachment.htm>
