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

hong at aspiritech.org hong at aspiritech.org
Mon Aug 18 09:34:56 CDT 2014


Toon,
1) install petsc and slepc, run few examples, e.g.
slepc/src/eps/examples/tutorials/ex13.c
for generalized symmetric eigenproblem. Run it with option '-eps_view'
to understand what method is being used. Use option '-help' to see
available methods.

2) replace its matrices with yours, experiment default method, then
other methods using runtime options provided by slepc.

Hong

On Mon, Aug 18, 2014 at 5:46 AM, Toon Weyens <tweyens at fis.uc3m.es> wrote:
> 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


More information about the petsc-users mailing list