Singular value decomposition (SVD) decomposes a matrix intosuch that is diagonal (called singular values), and and are orthogonal matrices.

SVD decomposes linear transformations into three steps: rotation, scaling, and another rotation: SVD_linear_transformation.png