[petsc-dev] General Advice for Solving SVD and Eigenvalue problems using SLEPc

Chris Eldred chris.eldred at gmail.com
Wed Nov 6 18:56:11 CST 2013


Dear PETSc-Dev,

I am trying to solve some eigenvalue and singular value decomposition
problems using SLEPc and I wanted to get a little advice on how to
proceed.

My problems are moderate sized (maximum size of ~30K X 30K for
eigenvalues; and ~10K x 10K for SVD) and quite sparse (<7 non-zero
entries per row, independent of size). However, I need the FULL
eigenspectrum (eigenvalues and eigenvectors), which as I understand
requires that a dense 30K x 30K matrix end up being generated. There
are many repeated eigenvalues in the full spectrum, if that is of use.
It also of type EPS_NHEP (ie non-Hermitian standard eigenvalue
problem). For the SVD I am only interested in the null space of the
matrix (so the "zero" singular values and their associated vectors).

I am running into numerical stability issues when the matrices get
larger than ~250x250 for the eigenvalue problems; and ~400x400 for the
SVD problems. I am currently using the SVDLANCZOS solver for SVD
problem; and the EPSKRYLOVSCHUR solver (since I need the whole
spectrum) for the eigenvalue problem.

Questions:
1) Are there other algorithms I can try that might be more stable?
2) Any other suggestions for improving numerical stability?
3) Is it worthwhile to use a non-sparse (dense) solver library
(something like Elemental?) since I need to construct the entire
eigenspace anyways?

I am happy to provide more details, specific examples of instability,
etc. if necessary.

Thanks,
Chris Eldred

-- 
Chris Eldred
DOE Computational Science Graduate Fellow
Graduate Student, Atmospheric Science, Colorado State University
B.S. Applied Computational Physics, Carnegie Mellon University, 2009
chris.eldred at gmail.com / celdred at atmos.colostate.edu



More information about the petsc-dev mailing list