Complexity of svd and pinv ?

6 次查看(过去 30 天)
Betha Shirisha
Betha Shirisha 2015-4-27
回答: SAI SRUJAN 2024-9-26
What is the complexity of calculating SVD and pinv (psuedo inverse) of a matrix of size mxn ?

回答(1 个)

SAI SRUJAN
SAI SRUJAN 2024-9-26
Hello Betha,
The complexity of calculating the Singular Value Decomposition (SVD) and the pseudoinverse (using SVD) of a matrix is as follows:
Singular Value Decomposition (SVD):
  • If you have a matrix with ( m ) rows and ( n ) columns, and ( m ) is greater than or equal to ( n ) (meaning the matrix is either square or taller than it is wide), the computational complexity is typically ( O(mn^2) ).
  • This complexity arises because the most computationally intensive part is reducing the matrix to a bidiagonal form, followed by the diagonalization of the bidiagonal matrix.
Pseudoinverse (using SVD):
  • To find the pseudoinverse of a matrix ( A ), we can use its SVD. If ( A = U \Sigma V^T ), the pseudoinverse ( A^+ ) is ( V \Sigma^+ U^T ). Here, ( \Sigma^+ ) is formed by taking the reciprocal of each non-zero element in ( \Sigma ) and transposing it.
  • The complexity here is also ( O(mn^2) ) since it primarily depends on the SVD computation.
These complexities apply to dense matrices. The actual performance may vary based on specific algorithms and optimizations used in the implementation.
I hope this helps!

类别

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