[petsc-users] petsc with slepc

Micheal Lysaght m.lysaght at qub.ac.uk
Wed Sep 7 05:38:31 CDT 2011


Dear PETSc team,

I am currently using PETSc with SLEPc to diagonalize a sparse Hermitian 
matrix. I have had success with doing so, so long as I create the PETSc 
matrix object using

MatCreateMPISBAIJ

with PETSC_DECIDE used for both the number of rows and columns.

Upon assembling the matrix object, I then call the relevant SLEPc EPS 
routines (where the default Krylov Schur method is invoked)

Doing this, everything works fine and the correct eigenvalues are returned.

However, if I try to do the same thing with the difference that I decide 
the number of rows and columns assigned to each MPI process during the 
matrix creation, SLEPc returns an error message with regard to the 
dimensions being used.

I have checked that the matrix object has the correct form and values by 
viewing the matrix, so it is certainly assembled in the correct way 
using PETSc.

My question is, can SLEPc handle matrices that are constructed according 
to the users choice of the numbers of rows and columns assigned to each 
MPI process. I realize that this would need to be accounted for in the 
vector that is being multiplied into, but how do I get access to this 
vector in SLEPc? Or do I even need to?

Any help or tips would be very much appreciated.

Best regards,

Michael Lysaght
Visiting Research Fellow,
CTAMOP,
Queen's University Belfast


More information about the petsc-users mailing list