| Author |
Message |
nelson science forum beginner
Joined: 28 May 2005
Posts: 10
|
Posted: Sat May 28, 2005 5:28 am Post subject:
SVD of a sperse matrix
|
|
|
Hi,
i have a sparse rectangular matrix A and i want to find the principal
direction of $A*A'$ where .' denote the transpose. What are the best
algorithm for a problem of this type? I have found some references about
lanczos methods, are thei reliabel for this problem. I don't want to make
the product A*A' during the algorithm because matrix are of the order
10000*10000000
thank for any advice,
nelson
--
Everything will be just tickety-boo today. |
|
| Back to top |
|
 |
Allen McIntosh science forum beginner
Joined: 27 May 2005
Posts: 20
|
Posted: Sat May 28, 2005 1:13 pm Post subject:
Re: SVD of a sperse matrix
|
|
|
nelson wrote:
| Quote: | Hi,
i have a sparse rectangular matrix A and i want to find the principal
direction of $A*A'$ where .' denote the transpose. What are the best
algorithm for a problem of this type? I have found some references about
lanczos methods, are thei reliabel for this problem.
|
1) netlib
2) get hold of a copy of G. W. Stewart: Matrix Algorithms, Volume II:
Eigensystems. |
|
| Back to top |
|
 |
Guest
|
Posted: Sat May 28, 2005 8:21 pm Post subject:
Re: SVD of a sperse matrix
|
|
|
You can use an iterative method such as that packaged in Arpack. But
iterate with the symmetric matrix
B = [0 A]
[A' 0]
You need to form matrix B times a given vector in the API. No need to
compute A*A'.
You will converge on the partitioned principal vector
[ x y] with singular value, s. Note that x is the piece you are
after, and s^2 is the eigenvalue of your required matrix. You also get
the direction for A'*A as a bonus - that is y. Reading that book is
good, too!
DTB |
|
| Back to top |
|
 |
Guest
|
Posted: Sun May 29, 2005 10:17 am Post subject:
Re: SVD of a sperse matrix
|
|
|
nelson wrote:
| Quote: | Hi,
i have a sparse rectangular matrix A and i want to find the principal
direction of $A*A'$ where .' denote the transpose. What are the best
algorithm for a problem of this type? I have found some references about
lanczos methods, are thei reliabel for this problem. I don't want to make
the product A*A' during the algorithm because matrix are of the order
10000*10000000
thank for any advice,
nelson
|
http://sun.stanford.edu/~rmunk/PROPACK/
"The software package PROPACK contains a set of functions for computing
the singular value decomposition of large and sparse or structured
matrices. The SVD routines are based on the Lanczos bidiagonalization
algorithm with partial reorthogonalization (BPRO)." PROPACK is
available in Fortran 77 and Matlab versions. |
|
| Back to top |
|
 |
nelson science forum beginner
Joined: 28 May 2005
Posts: 10
|
Posted: Sun May 29, 2005 3:16 pm Post subject:
Re: SVD of a sperse matrix
|
|
|
Allen McIntosh wrote:
| Quote: | nelson wrote:
Hi,
i have a sparse rectangular matrix A and i want to find the principal
direction of $A*A'$ where .' denote the transpose. What are the best
algorithm for a problem of this type? I have found some references about
lanczos methods, are thei reliabel for this problem.
1) netlib
2) get hold of a copy of G. W. Stewart: Matrix Algorithms, Volume II:
Eigensystems.
|
I HAVE TO code the method in Java.... i want to integrate it into an
existing java application...
nelson |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|