Sparse Eigenvalues

David Bateman dbateman at dbateman.org
Sun Dec 21 10:02:51 CST 2008


Chaman Singh Verma wrote:
>
> Well, here is my sincere question. It is my observation that eigs ( 
> which probably
> based on ARPACK code) seems to take atleast "N" sparse-matrix-vector 
> operations,
> which could be quite expensive for reasonably large matrices. One of 
> the application
> where someone may need second eigenvalue is for graph partitioning ( 
> and famous
> Google rank Matrix).  For typical graph of 200,000 rows and 100-200 
> columns, it takes
> more than 45-50 minutes on single node machine, which is not 
> competitive to other
> graph partitioning methods such as METIS.

The google rank matrix is just a power method to find the largest 
eigenvalue, and the google rank matrices is documented as converging in 
about 6 iterations of the power method.  Google page rank doesn't fing 
the second largest eigenvalue at all. ARPACK is not the same beast!!

If you only want the largest eigenvalue then use the power method. What 
ARPACK gets you is the N largest eigenvalues (or N smallest or N closest 
to a particular value), and to do that it uses a method a bit like the 
Lanzcos method with restarting.. Lanzcos method finds the largest 
eigenvalue, then forms a new problem with the largest eigenvalue removed 
and repeats.. The new problem is formulated with multiple matrix vector 
products.. Arnoldi's method adds a restarting step such that it can 
handle eigenvalues that are close together without convergence issues.

How did you formulate the problems to eigs? Perhaps there is an issue in 
the manner eigs is calls. For example a function call for the matrix 
vector product is likely to be slower than a call to blas xGEMM or the 
sparse equivalent internal to eigs itself.

Frankly, I've never looked at how METIS does its graph partitioning, but 
I didn't have the impression it used an eigenvalue method.. METIS has a 
repudiation as one of the better graph partitioner out there however.

> Here is my query to all the knowledge people.
>
> (1)  What is the most competitive  algorithms for finding few 
> eigenvalues/eigenvectors
>       compared to ARPACK. Has somebody done any study and have some 
> number to show its
>       superiority.
Is the matrix positive definite? Are there eigenvalues in the set you 
are looking for that are close together? If the matrix is PD and you 
don't have eigenvalues close together a straight Lanzcos method will 
probably be the fastest.

> (2)  Can we reduce the number of Matrix-Vec Operations ?
Getting rid of the restarting in the Arnoldi technique will certainly 
reduce the number, but at the cost of poor convergence if there are 
eigenvalues close together.

> (3)  Can spectral decomposition beat METIS type decompositions ?

Perhaps, but I'm an engineer and not a mathematician, so you might want 
to ask someone who knows more..

D.

>
> Thanks.
> csv
>


-- 
David Bateman                                dbateman at dbateman.org
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)



More information about the Help-octave mailing list