> El 14 sept 2018, a las 17:45, Jan Grießer <[email protected]> > escribió: > > 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)
You need VecScatterCreateToZero. There must be an equivalent in python. > - 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? In general, SLEPc is not intended for computing the whole spectrum. You can try with spectrum slicing but this will be competitive if computing just a percentage of eigenvalues, 50% say. Jose > > Thank you very much!
