[petsc-users] Interior eigenvalues with slepc and shell matrix

John Travers jtravs at gmail.com
Thu Aug 7 04:39:24 CDT 2014


Hi all,

I'm trying to compute a large number of interior complex eigenvalues of a
large non-Hermitian matrix. For small test problems I can use a dense
matrix, and finding interior eigenvalues worked very well. However, for
increasing problem sizes I cannot use this approach as my matrix is not
very sparse (about 40% non zero). I need to solve problems with 64000x64000
elements. However my matrix can be very efficiently generated (it contains
diagonals and two toeplitz sub matrices), so, by using MatCreateShell etc.
I have created a shell matrix with very efficient matrix-vector multiply
performance (using FFT for the toeplitz matrices). In this case I can solve
for the largest eigenvalues of huge problems very efficiently. However, I
now cannot solve for the interior eigenvalues (often closely spaced) well
at all (using -eps_target).

Is there a well known solution to this? I have tried eps_harmonic etc.
Note, I am not an expert in computational linalg, so I maybe being naive.
Ideally I'd be able to collect all eigenvalues within a certain region, but
the region based solvers (such as ciss) do not seem to be available when
using a Shell Matrix, and neither is shift invert, which is what worked
very well previously.

Does anyone have proposed solutions or pointers to where I can find more
literature on this sort of problem.

Any help much appreciated!
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140807/45a1d974/attachment.html>


More information about the petsc-users mailing list