singular Value Decomposition(SVD)

From statwiki
Jump to navigation Jump to search

For a more in depth reference see: SVD

Any matrix [math]\displaystyle{ \ X }[/math] can be decomposed into three matrices:

[math]\displaystyle{ \ {X}_{d \times n} = {U}_{d \times d}{S}_{d \times d}{V^T}_{d \times n} }[/math]


Where [math]\displaystyle{ \ S }[/math] is a diagonal matrix and thus, has the following property:

[math]\displaystyle{ \ S^T = S }[/math]


And [math]\displaystyle{ \ U }[/math] and [math]\displaystyle{ \ V }[/math] are both orthonormal matrices and thus, have the following properties:

[math]\displaystyle{ \ U^TU=I }[/math]

[math]\displaystyle{ \ U^T=U^{-1} }[/math]

[math]\displaystyle{ \ V^TV=I }[/math]

[math]\displaystyle{ \ V^T=V^{-1} }[/math]


The [math]\displaystyle{ \ S, U }[/math] and [math]\displaystyle{ \ V }[/math] matrices are constructed in the following manner:

[math]\displaystyle{ \ S = }[/math] eigenvalues of [math]\displaystyle{ \ X^TX }[/math] = eigenvalues of [math]\displaystyle{ \ XX^T }[/math]


[math]\displaystyle{ \ U }[/math] represents the left singular vectors of [math]\displaystyle{ \ X }[/math]

[math]\displaystyle{ \ V }[/math] represents the right singular vectors of [math]\displaystyle{ \ X }[/math]

[math]\displaystyle{ \ U = }[/math] eigenvectors of [math]\displaystyle{ \ X X^T }[/math]

[math]\displaystyle{ \ V = }[/math] eigenvectors of [math]\displaystyle{ \ X^T X }[/math]


In MATLAB execute:

 [USV] = svd(X)