SVD: why are the results different: hand-calculation and Matlab computation?

119 Views Asked by At

I am solving a SVD computatiob question.

The following matrix is given: A=: $$\begin{bmatrix} 1.5 & 0.5 & 0&0 \\ 0.5 & 1.5 & 0 & 0\\ 0 & 0 & 1.5 & 0.5\\ 0&0 & 0.5 & 1.5 \end{bmatrix}$$ I have taken the SVD(A) = [ U S V]. My computation of the matrix S is the same with Matlab, V and U are different. I have checked a solution in the book, my result is correct.

$$V=\begin{bmatrix} 0.5 & 0.5 & 0.5&0.5 \\ 0.5 & 0.5 & -0.5 & -0.5\\ 0.5 & -0.5 & -0.5& 0.5\\ 0.5&-0.5 & 0.5 & -0.5 \end{bmatrix}$$

Is there another way, how to find V matrix from SVD in Matlab?

1

There are 1 best solutions below

0
On

When looking at the singular values of $A$, we see $\sigma(A) = (2,2,1,1)$ so there are two sets of double singular values.

Given two singular vectors $u_1$ and $u_2$ with $A u_1 = \sigma_1 v_1$ and $A u_2= \sigma_1 v_2$, then $\tilde{u} = c_1u_1 + c_2 u_2$ is a singular vector to that singular vlaue $\sigma_1$ as well. This can be seen by $$A\tilde{u} = c_1Au_1 + c_2 Au_2 = \sigma_1 \cdot (c_1 v_1 + c_2 v_2) = \sigma_1 \tilde{v}_1$$