Threshold value in singular value decomposition
11 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I'm interested in the LUQ decomposition that I found in http://www.mathworks.com/matlabcentral/fileexchange/11120-null-space-of-a-sparse-matrix/content/sparse%20null/luq.m.
In a paper that I'm reading, they suggest to distinguish zero/nonzero diagonal elements by setting a small numerical threshold as adopted in economic SVD in MATLAB.
I would like to ask what the numerical threshold adopted in economic SVD in MATLAB is.
Thank you in advance
1 件のコメント
David Young
2012 年 3 月 21 日
Does "economic SVD" mean the svd function with the 'econ' option? If so, the paper mentioned does not seem to make sense, because svd(..., 'econ') does not distinguish zero/nonzero singular values on the basis of their magnitude - it simply uses the size of the input matrix to discard singular values and associated vectors which are known to be identically zero.
回答 (2 件)
David Young
2012 年 3 月 21 日
See the comment above about the economical svd function.
I note that the documentation for rank() says that it uses as its default tolerance
max(size(A))*eps(norm(A))
Maybe this is useful?
1 件のコメント
Keith Dalbey
2018 年 10 月 23 日
Thanks for posting this, I found it extremely useful when implementing a (faster than default svd based) pinv for correlation matrices (real, symmetric, positive semi-definite, 1's on the diagonal) in Armadillo using the arma::eig_sym (I frequently prototype code in MATLAB then port it to C++ for production use/speed, Armadillo is the linear algebra package I use for C++)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!