[petsc-users] Getting Eigenvectors from a SLEPc run (in python)

Alex Eftimiades alexeftimiades at gmail.com
Mon Jun 9 13:45:45 CDT 2014


Hi

I am trying solve a sparse generalized Hermitian matrix eigenvalue 
problem. I am trying to use slepc4py to get both the eigenvalues and 
eigenvectors, but I am unable to get the eigenvectors. Instead, I keep 
getting None. Do you have any example code that can do this? I copied 
the code I have tried below.

Thanks,
Alex Eftimiades

     xr, tmp = A.getVecs()
     xi, tmp = A.getVecs()

     # Setup the eigensolver
     E = SLEPc.EPS().create()
     E.setOperators(A,M)
     E.setDimensions(50, PETSc.DECIDE)

     E.setWhichEigenpairs("SM")

     E.solve()

     vals = []
     vecs = []
     for i in range(E.getConverged()):
         val = E.getEigenpair(i, xr, xi)
         vecr, veci = E.getEigenvector(i, xr, xi)
         vals.append(val)
         vecs.append(complex(vecr, veci))

     vals = asarray(vals)
     vecs = asarray(vecs).T


More information about the petsc-users mailing list