computational complexity of svds

3 次查看(过去 30 天)
Bowen
Bowen 2023-8-26
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 个评论
Torsten
Torsten 2023-8-26
编辑:Torsten 2023-8-26
"randomized algorithm" sounds it has a wide range of application, but not computationally efficient for me.

请先登录,再进行评论。

回答(2 个)

John D'Errico
John D'Errico 2023-8-26
编辑:John D'Errico 2023-8-26
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 2023-8-28
编辑:Christine Tobler 2023-8-28
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.

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by