|I downloaded several SVD c++ code, but they all have same error.
by SVD theory, a matrix A(mxn) (m: rows, n: columns) can be decomposed as
A(mxn) = U(mxm) * S(mxn) * V'(nxn)
(U, S and V are matrices)
U and V must be orthogonal matrices:
U x U' = U' x U = E, V x V' = V' x V = E
(E is identity matrix)
if m > n, those codes generate U' x U = E (correct), but U' x U != E (error).
they are all correct for V.
Because all of codes have the same error, I think U should be this way even it is not satisfy SVD theory.
Or all codes are wrong (sounds not reasonable.)
How do you think about? maybe I have to download more C++ source codes to test?