Generate unique SVD decomposition problems

linear algebramatricessvd

As far as I understand, if I first generate 2 orthogonal matrices U and V, then generate a random diagonal matrix with random eigenvalues, I end up with a matrix, that might possibly have a different SVD decomposition. All of my matrices are 3×3.
Is there some kind of an extra condition, that I can enforce to assure, that the values used for the problem generation are the one and only possible solution?

Best Answer

Uniqueness of SVD is not guaranteed in general. Take for example identity matrix.

We can construct a rotation matrix $\mathbf R$ for $\theta$ radians so that :

$${\mathbf I}_n = {\mathbf R} {\mathbf I}_n {\mathbf R}^T$$

for any value of $\theta$. In particular this happens if the eigenspace is non-simple.

If we have a projection instead of identity we will get even more degrees of freedom since we can rotate arbitrarily within the subspaces that have singular value 0.