Complexity of svd and pinv ?

25 visualizzazioni (ultimi 30 giorni)
Betha Shirisha
Betha Shirisha il 27 Apr 2015
Risposto: SAI SRUJAN il 26 Set 2024
What is the complexity of calculating SVD and pinv (psuedo inverse) of a matrix of size mxn ?

Risposte (1)

SAI SRUJAN
SAI SRUJAN il 26 Set 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!

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by