Singular Value Decomposition (SVD)
The singular value decomposition (SVD) is a factorization of a real or complex matrix. It generalizes the eigendecomposition of a square normal matrix with an orthonormal eigenbasis to any
m x nmatrix
Resources
- https://en.wikipedia.org/wiki/Singular_value_decomposition
 - https://mathworld.wolfram.com/SingularValueDecomposition.html
 - Geometric explanation of SVD and applications
 - Cool Linear Algebra: Singular Value Decomposition
 - Singular Value Decomposition as Simply as Possible
 - Numpy Tutorial: Linear algebra on n-dimensional arrays
 - https://jeremykun.com/2016/04/18/singular-value-decomposition-part-1-perspectives-on-linear-algebra/
 - Implementations:
- https://fa.bianp.net/blog/2012/singular-value-decomposition-in-scipy/
 - http://scicomp.stackexchange.com/questions/1861/understanding-how-numpy-does-svd
 - http://scicomp.stackexchange.com/questions/6979/how-is-the-svd-of-a-matrix-computed-in-practice
 - https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_lapack_examples/sgesdd.htm
 - http://www.alglib.net/matrixops/general/svd.php
 - LAPACK implements a divide and conquer algorithm SGESDD or DGESDD (not the “highly accurate” Golub-Kahan-Reinsch algorithm, SGESVD or DGESVD)
 - Truncated SVD by implicitly restarted Lanczos bidiagonalization for Python Numpy
 - https://stackoverflow.com/questions/15414027/multiprocessing-pool-makes-numpy-matrix-multiplication-slower
 
 
Randomized SVD
- https://gregorygundersen.com/blog/2019/01/17/randomized-svd/
 - Fast Randomized SVD (Meta/Facebook research)
 
Talks
- #TALK SVD (MIT, Gilbert Strang)
 - #TALK Singular Value Decomposition (SVD): Mathematical Overview
 - #TALK Randomized Singular Value Decomposition (SVD)