Complexity of svd and pinv ?

5 views (last 30 days)
Betha Shirisha
Betha Shirisha on 27 Apr 2015
Answered: SAI SRUJAN on 26 Sep 2024
What is the complexity of calculating SVD and pinv (psuedo inverse) of a matrix of size mxn ?

Answers (1)

SAI SRUJAN
SAI SRUJAN on 26 Sep 2024
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!

Categories

Find more on Linear Algebra in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!