python demo/ex1.py -eps_nev 10 -eps_tol 1e-11
Could I compute all eigenvalues of matrix? not only part of whole eigenvalue!
Comments (11)
-
-
- changed status to resolved
-
reporter Thank you. I just found "mpiexec -n 5 python test.py -eps_type lapack -eps_view -eps_tol 1e-11". I use lapack as eps type and whole eigenvalues could show. the following is information. By using lapack and mpi, is it realy speeding up?
EPS Object: 5 MPI processes type: lapack problem type: symmetric eigenvalue problem selected portion of the spectrum: largest eigenvalues in magnitude number of eigenvalues (nev): 1 number of column vectors (ncv): 30 maximum dimension of projected problem (mpd): 0 maximum number of iterations: 0 tolerance: 1e-11 convergence test: relative to the eigenvalue BV Object: 5 MPI processes type: svec 30 columns of global length 30 vector orthogonalization method: classical Gram-Schmidt orthogonalization refinement: if needed (eta: 0.7071) block orthogonalization method: Gram-Schmidt doing matmult as a single matrix-matrix product DS Object: 5 MPI processes type: hep parallel operation mode: REDUNDANT solving the problem with: Implicit QR method (_steqr) ST Object: 5 MPI processes type: shift shift: 0. number of matrices: 1
-
-eps_type lapack
is sequential. Even if you use several MPI processes, it is gathering the whole matrix in a single process, so no parallelism. -
reporter OK. How to speed up with slepc4py and get all eigenvalue? Thank you for attention.
-
Solvers other than
lapack
are parallel, but they are intended for computing part of the spectrum only. -
reporter I try to compute it several times and get part of eigenvalue until all of eigenvalue are collected. Is it possible?
-
No
-
reporter OK. What is your suggestion? Please tell me.
-
reporter - changed status to open
-
reporter - changed status to resolved
Good!
- Log in to comment
Indeed you can, but it will be slower that using
numpy.linalg.eig()
for instance.