Add a dense Cholesky factorization based linear solver.

For problems with a small number of variables, but a large
number of residuals, it is sometimes beneficial to use the
Cholesky factorization on the normal equations, instead of
the dense QR factorization of the Jacobian, even though it
is numerically the better thing to do.

Change-Id: I3506b006195754018deec964e6e190b7e8c9ac8f
diff --git a/internal/ceres/linear_solver.cc b/internal/ceres/linear_solver.cc
index 97dbba4..08c3ba1 100644
--- a/internal/ceres/linear_solver.cc
+++ b/internal/ceres/linear_solver.cc
@@ -31,6 +31,7 @@
 #include "ceres/linear_solver.h"
 
 #include "ceres/cgnr_solver.h"
+#include "ceres/dense_normal_cholesky_solver.h"
 #include "ceres/dense_qr_solver.h"
 #include "ceres/iterative_schur_complement_solver.h"
 #include "ceres/schur_complement_solver.h"
@@ -78,6 +79,9 @@
     case DENSE_QR:
       return new DenseQRSolver(options);
 
+    case DENSE_NORMAL_CHOLESKY:
+      return new DenseNormalCholeskySolver(options);
+
     default:
       LOG(FATAL) << "Unknown linear solver type :"
                  << options.type;