computational complexity of svds
3 views (last 30 days)
Show older comments
Could anyone give me some help on why MATLAB implement svds use Lanczos Bidiagonalization algorithms but not seemingly more computational efficient algorithm like randomized algorithm, like algorithms in the paper FINDING STRUCTURE WITH RANDOMNESS: PROBABILISTIC ALGORITHMS FOR CONSTRUCTING APPROXIMATE MATRIX DECOMPOSITIONS?
1 Comment
Answers (2)
John D'Errico
on 26 Aug 2023
Edited: John D'Errico
on 26 Aug 2023
Sorry, but no, we can't tell you why a choice was made. MathWorks does not give out that information.
You MIGHT be able to learn something if you make a technical support request, DIRECTLY to the tech support link. That is not Answers.
Or, you could write your own code, if you think that scheme is so much better. Nothing stops you from doing so.
0 Comments
Christine Tobler
on 28 Aug 2023
Edited: Christine Tobler
on 28 Aug 2023
There is a recent function (introduced R2020b) called svdsketch, which is using randomized linear algebra. We recommend this for finding a low-rank approximation of a matrix, but not for finding individual singular value triplet, as it is focused on the whole matrix approximation, not on the residual of an individual triplet. It also doesn't allow for computing the smallest singular values, or singular values close to a shift, as svds does.
0 Comments
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!