[petsc-users] Retireve eigenvectors from a paralell job/ Spectrum slicing in order to solve big eigenvalue problem

Jan Grießer griesser.jan at googlemail.com
Fri Sep 14 10:45:42 CDT 2018


Hey there,
first i want to say thanks to Satish and Matt for helping with with my last
problem with the mpi compilation. I have two questions related to solving a
big, hermitian, standard eigenvalue problem using SLEPc4py., compiled with
Intel MKL and Intel MPI. - I am using slepc4py with mpi and run it with
around -n 20 cores at the moment and how i wanted to ask if there is an
easy way to retrieve the eigenvectors? When i run my code and print for i
in range(nconv):
for i in range(nconv): val = E.getEigenpair(i, vr, vi) Print(vr.getArray())
i get the parts of the eigenvectors according to the partition of the
matrix. Is there any easy way to put them together in an array and write
them to file ? (I am struggling a little bit with the building them in the
correct order)

- I need to solve eigenvalue problems up to a dimension of 100000 degrees
of freedom and i need all eigenvalues and eigenvectors. I think solving all
eigenvalues in one process is far too much and i thought about if it is
possible to apply the spectrum slicing described in Chap. 3.4.5. Due to the
nature of my problem, i am able to simulate smaller systems of 10000 DOF
and extract the biggest eigenvalue, which will be the same for larger
systems sizes. Is this in general possible since i have a standard HEP
problem or is there a better and faster possibility to do this?

Thank you very much!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180914/830e622e/attachment-0001.html>


More information about the petsc-users mailing list