[petsc-users] Solving tridiagonal hermitian generalized eigenvalue problem with SLEPC

Toon Weyens tweyens at fis.uc3m.es
Mon Aug 18 05:46:31 CDT 2014


Dear all,

I am using PETSC and SLEPC to simulate a problem in MHD, described in
http://scitation.aip.org/content/aip/journal/pop/21/4/10.1063/1.4871859.

I have a bit of experience with MPI but not too much with PETSC and SLEPC.
So after reading both user manuals and also the relevant chapters of the
PETSC developers manual, I still can't get it to work.

The problem that I have to solve is a large generalized eigenvalue system
where the matrices are both Hermitian* by blocks* and *tridiagonal*, e.g.:

( A11  A12    0     0       0   )                      ( B11  B12    0
0       0   )
( A12* A22  A23   0      0   )                       ( B12* B22  B23
0      0   )
(   0    A23* A33  A34   0   )   =   lambda    (   0    B23* B33  B34   0
)
(   0      0    A34* A44  A45)                       (   0      0    B34*
B44  B45)
(   0      0    A45* A55    0  )                       (   0      0    B45*
B55    0  )

where Aii = Aii*, with * the Hermitian conjugate. I apologize for the ugly
representation.

The dimensions of both A and B are around 50 to 100 blocks (as there is a
block per discretized point) and the blocks themselves can vary from 1 to
more than 100x100 as well (as they correspond to a spectral decomposition).

Now, my question is: how to solve this economically?

What I have been trying to do is to make use of the fact that the matrices
are Hermitian and by using *matcreatesbaij* and through the recommended
*matcreate*, *matsettype(matsbaij)*, etc.

Could someone help me out? All help would be greatly appreciated!

Thank you in advance,
Toon
UC3M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140818/7f62aa1f/attachment.html>


More information about the petsc-users mailing list