Picking between SVD and Gauss Newton for least sqaures error minimization

295 Views Asked by At

I have seen examples where least squares error minimization has been done using SVD. One such example is camera calibration. The system to solve is

$M \times p = \omega$

Ideally $\omega$ has to be zero (equivalent of ground truth). The $p$ vector is a vector of 9 camera parameters such as $p_11, p_12....p_33$. The system is linear wrt parameters.

However, in the case of graph optimization for SLAM problems, I have seen Gauss Newton being used. In this case:

$e = z - f(x)$

Here e is the error, z is the ground truth and f is the non-linear function based on parameters x. I understand that Gauss-Newton is suitable when there is a good initial guess available and when the error function is smooth near the minima.

1) However, are there any methods to identify which algorithm is suitable for a particular problem?

2) Is it right to say that SVD is more suitable for linear least squares and Gauss Newton for non-linear least squares?