This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Mathematical question: SVD

Tags: None
(comma "," separated)
thespiders
Registered Member
Posts
15
Karma
0

Mathematical question: SVD

Sat Jul 04, 2009 1:48 pm
Hello,

SVD works fine with me. I try to match two point clouds X and P. However the SVD returns me U and V where the rotation matrix R = U * V' has sometimes a negative determinant |R| = -1. This means my cloud is mirrored.

Is there a way to get only shape preserving "true" rotations, where the determinant is 1?

Regards, Johannes
User avatar
bjacob
Registered Member
Posts
658
Karma
3

Re: Mathematical question: SVD

Sun Jul 05, 2009 3:16 am
It's mathematically impossible in general.

Take a square matrix A and take its SVD decomposition,

A = UDV*.

By definition of the SVD, the matrix D is diagonal with real nonnegative coefficients, so it has real nonnegative determinant. Consequently, the determinant of UV* has the same argument (complex sign) as the determinant of A. So if you start from a matrix A that has, say, real negative determinant, then UV* must also have real negative determinant; since moreover UV* is unitary, its determinant must then be -1.

However, what you may be after is a variant of SVD where the D (the singular values) are allowed to be something else than nonnegative real numbers; then indeed you can ensure that UV* has determinant 1. You can easily get that from the usual SVD: for any k, you can multiply the k-th column of U by a certain number (of absolute value 1) and compensate by dividing the k-th diagonal coefficient of D by the same number.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]