computational complexity of svds

3 views (last 30 days)
Bowen
Bowen on 26 Aug 2023
Edited: Christine Tobler on 28 Aug 2023
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
Torsten
Torsten on 26 Aug 2023
Edited: Torsten on 26 Aug 2023
"randomized algorithm" sounds it has a wide range of application, but not computationally efficient for me.

Sign in to comment.

Answers (2)

John D'Errico
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.

Christine Tobler
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.

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!