How can I have all eigenvectors of sparse matrix with a big size

1 view (last 30 days)
I have a matrix M with a big size n (>1000) in a form of full matrix. By using "sparse(M)", I could transform M to sparse matrix form. Then what I would like to do is to find all eigenvectors of the matrix M, with the help of sparse matrix form.
As far as I know, using eigs(sparse(M),k) gives me k eigenvectors, where k should be less than n. but I need n eigenvectors.
How can I get all eigenvectors of M by using sparse matrix form (implying being with a high speed) ?

Answers (1)

Jan
Jan on 11 Jul 2013
What happens when you use eigs(M, n)? It depends on the sparsity of the matrix if this is faster than eig(M), so just give it a try.
  2 Comments
Changhyoup Lee
Changhyoup Lee on 11 Jul 2013
Thanks. When I used eigs(M,n), warning message came out as below.
Warning: For real symmetric problems, must have number of eigenvalues k < n.
Using eig(full(A)) instead.
So I thought something's wrong, but I don't know what that is. Do you think this is okay?
How big is the sparsity of the matrix enough to be faster?
Jan
Jan on 11 Jul 2013
Then I'd folow the advice and run EIGS on the full matrix instead.
To be correct it do not only depend on the degree of sparsity, but on the sparsity pattern also. So I suggest to measure it in your individual case.

Sign in to comment.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!