## calculate k smallest eigenvalues using LOBPCG

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
zsy12
Posts: 1
Joined: Wed Nov 28, 2018 10:05 am

### calculate k smallest eigenvalues using LOBPCG

Dear all,

I want to calculate k smallest eigenvalues of a large sparse matrix (1e6*1e6), and the only solver I can find to finish this task is LOBPCG from MAGMA, which can solve the largest and smallest eigenvalues. However, I couldn't find some certain parameter to determine to solve whether largest or smallest k eigenvalues. Could you please tell me how to set parameters to calculate only k smallest eigenvalues of a large sparse matrix? I know that num_eigenvaluses in solver_par is the k number of EV for eigensovers, but I didn't find documation about sparse precond_par parameters. Is there some parameters that I didn't notice?

Best regards,
Shiyun

blattms
Posts: 6
Joined: Wed Oct 10, 2018 3:36 am

### Re: calculate k smallest eigenvalues using LOBPCG

According to viewtopic.php?f=2&t=1266&p=3677&hilit=l ... 483a#p3677 it calculates the smallest eigenvalues. The thread also explains how to trick it into computing the largest ones.

kingbily
Posts: 1
Joined: Wed Feb 20, 2019 5:53 am

### Re: calculate k smallest eigenvalues using LOBPCG

If you are a scientist/engineer you probably have a large matrix from a real problem.
You probably want the largest and smallest eigenvalues to get a condition number and bound errors.
If this is the case, then ignore the mathematicians as much as you can.
Don't find ALL the eigenvalues. It is very expensive.
Don't use a symbolic package. It is even slower.
iterate on w = Av, v = w/|w| (so v is a unit vector)
|w| converges to the largest eigenvalue quickly.
For the smallest. Replace A with A_inverse.
Iterate on: solve Aw = v for w, v = w/|w|
Smallest converges quickly to 1/|w| .

juansann
Posts: 1
Joined: Thu Feb 28, 2019 6:53 am

### Re: calculate k smallest eigenvalues using LOBPCG

Hello,
I have tried to calculate the smallest eigenvalues according to viewtopic.php?f=2&t=1266&p=3677&hilit=l ... 483a#p3677, but when I type ./testing_dsolver don't show anything... Do I have to type any other command before?