singular Value Decomposition(SVD)
mmmFor a more in depth reference see: SVD
[math]\displaystyle{ \ {X}_{d \times n} = {U}_{d \times d}{S}_{d \times d}{V^T}_{d \times n} }[/math]
[math]\displaystyle{ \ {S} = diag(v_1,v_2,...,v_d) }[/math]
[math]\displaystyle{ \ U^TU=I }[/math] implying U is an orthonormal matrix
[math]\displaystyle{ \ U^TV=I }[/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]
[math]\displaystyle{ \ S = }[/math] eigenvalues of [math]\displaystyle{ \ X^TX }[/math] = eigenvalues of [math]\displaystyle{ \ XX^T }[/math]
[math]\displaystyle{ \ U^{-1}=U^T }[/math]
In matlab execute
[USV] = svd(X)