|
Evaluation
|
When the matrix A has difference number of rows and columns (the number of point pairs is different to the equation nubers. the result should be the generalized inverse of A:
(((A^T)A)^-1)A^T
Currently, this is not documented well. Simple comments may mislead to that the code only handles the case when A is invertable.
A, a m X n matrix with m >= n, is decomposited into UWV^T, where U is m X n matrix and column orthogonal, W is a n X n diagonal matrix, and V is n x n and orthogonal. Also, U, V has the unitary propeties: U^TU=I and VV^T=I and V^TV=I. (This property should be clarified in the documentation of SVD; If they are not true, the following deduction will be wrong.)
So the generalized inverse is:
(((A^T)A)^-1)A^T = ((VWU^TUWV^T)^-1)VWU^T = ((VW^2V^T)^-1VWU^T
= VW^-2V^TVWU^T
= VW^-2WU^T
= VW^-1U^T
|