As an example in MATLAB
[U,S,V]=svd(randn(3,2)+1j*randn(3,2))
assert(isreal(V(1,:)))
Why is the first row of V purely real?
As an example in MATLAB
[U,S,V]=svd(randn(3,2)+1j*randn(3,2))
assert(isreal(V(1,:)))
Why is the first row of V purely real?
Quoting from the Wikipedia entry:
Non-degenerate singular values always have unique left- and right-singular vectors, up to multiplication by a unit-phase factor $e^{i \phi}$ (for the real case up to a sign).
(my emphasis).
So it seems, in this case, that the MatLab team have chosen to rotate the singular vectors so that the first element of each is real.
Paul Aljabar has the right answer. But just to expand on it a little. The SVD is not unique. The singular values are unique but the singular vectors are not.
If the SVD of $A$ is $U \Sigma V'$ then $ A = \sum_j \sigma_j u_j v_j^*$ where $u_j$ and $v_j$ are the $j$-th columns of $U$ and $V$ respectively. Given a set of unit-phase factors $a_j = e^{i\phi_j}$ then $a_j a_j^* =1$ and so $ A = \sum_j a_j a_j^* \sigma_j u_j v_j^* = \sum_j \sigma_j u'_j {v'_j}^*$ where $ u'_j = a_j u_j $ and $ v'_j = a_j v_j $. The matrices $\{U'\}$ and $\{V'\}$ are still unitary.