Time for action – decomposing a matrix
It's time to decompose a matrix with the singular value decomposition. In order to decompose a matrix, perform the following steps:
First, create a matrix as follows:
A = np.mat("4 11 14;8 7 -2") print "A\n", A
The matrix we created looks like the following:
A [[ 4 11 14] [ 8 7 -2]]
Decompose the matrix with the
svd
function.U, Sigma, V = np.linalg.svd(A, full_matrices=False) print "U" print U print "Sigma" print Sigma print "V" print V
The result is a tuple containing the two orthogonal matrices
U
andV
on the left- and right-hand sides and the singular values of the middle matrix.U [[-0.9486833 -0.31622777] [-0.31622777 0.9486833 ]] Sigma [ 18.97366596 9.48683298] V [[-0.33333333 -0.66666667 -0.66666667] [ 0.66666667 0.33333333 -0.66666667]]
We do not actually have the middle matrix—we only have the diagonal values. The other values are all 0. We can form the middle matrix with the
diag
function. Multiply the three matrices. This is shown, as...