0
votes

It is known that in Matlab SVD function outputs three matrices: [U,S,V] = svd(X). Actually, 'U' is a square m X m matrix where m is the number of rows/columns. Also, 'S' is a non-square matrix with dimensions m X n that stores n singular values (produced from left singular vectors of U matrix) in descending order(in diagonal).

My question is how to determine (in Matlab) which 'm' singular vectors of matrix 'U' correspond to the first (greatest) singular value of the 'S' matrix. Furthermore, some values of the specific singular vector are positive and others are negative. Does this minus or plus sign hides any mathematical meaning? I have seen examples that use the sign of the 'greatest' singular vector as for classification purposes.

2

2 Answers

0
votes

The diagonal of the S matrix contains the singular values. So for the ith singular value (in the i,i position on S matrix), ith column of the U and V vectors respectively for the two constraint equations.

I don't think the +/- hides any special meaning. After all, you could multiply both the U and the V matrices by a -1 constant and the result would still be valid.

0
votes
  • To be perfectly accurate, by definition singular values of SVD are not necessarly reordered, but MATLAB SVD reorders them.

The ith column of U corresponds to the ith singular value of M. Namely for the ith singular value sigma_j, there exist j such that

M* .u_i = sigma_j v_j

you also have

M. v_j = sigma_i u_i

Be careful, it might not be what you are looking for.

  • The coordinates of your singular values are the coordonates in the original basis. A positive values means your new variable is positively proportional to the corresponding original variable. In statistics it is generally used when you know that both original and transformed variables increase or decrease together.