Equivalent routines for eigs function in Matlab

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
Nithishify
Posts: 6
Joined: Sun Oct 12, 2014 6:01 am

Equivalent routines for eigs function in Matlab

Post by Nithishify » Fri Oct 23, 2015 8:23 pm

Hi,

Are there any routines which compute the K largest Eigenvectors of a dense and a symmetric matrix (It is Positive semi definite as well) in Magma? If there is one, what algorithm does it use? I know that matlab uses Arnoldi/Lanczos iterations to compute the required Eigenvectors.

With regards,
Nithish

mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

Re: Equivalent routines for eigs function in Matlab

Post by mgates3 » Sat Oct 24, 2015 9:02 am

See {ssy, dsy, che, zhe}evdx. The "x" version adds VL, VU or IL, IU parameters to specify a range of eigenvalues to compute, either by value or by index. Documentation:
http://icl.cs.utk.edu/projectsfiles/mag ... 606aab281e

Just needs to be symmetric / Hermitian, not necessarily positive definite.
-mark

Nithishify
Posts: 6
Joined: Sun Oct 12, 2014 6:01 am

Re: Equivalent routines for eigs function in Matlab

Post by Nithishify » Sat Oct 24, 2015 5:49 pm

Hi,

Thanks for the reply.
I tried to find the K largest eigen vectors using dsyevdx routine. However, it seems to be much slower than the matlab eigs function. I have a 11000 * 11000 symmetric matrix (Also all the eigen values were between 0 to 1) and extracted the first 10 eigen vectors of the matrix. Matlab takes about 2-3 seconds to find the required eigen values where as magma_dsyevdx_gpu took 15 seconds to get the decomposition. I am using a tesla K40c GPU for all the experiments. Also can I use the LOBPCG method for calculating them? If yes, can I use them directly on the matrix in Dense format? The matrix in consideration can be extremely dense.

With regards,
Nithish

Post Reply