mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Multiple dense linear algebra backends.
1. When a LAPACK implementation is present, then DENSE_QR, DENSE_NORMAL_CHOLESKY and DENSE_SCHUR can use it for doing dense linear algebra operations. 2. The user can switch dense linear algebra libraries by setting Solver::Options::dense_linear_algebra_library_type. 3. Solver::Options::sparse_linear_algebra_library is now Solver::Options::sparse_linear_algebra_library_type to be consistent with all the other enums in Solver::Options. 4. Updated documentation as well as Solver::Summary::FullReport to reflect these changes. Change-Id: I5ab930bc15e90906b648bc399b551e6bd5d6498f
This commit is contained in:
@@ -84,6 +84,8 @@ DEFINE_string(preconditioner, "jacobi", "Options are: "
|
||||
"cluster_tridiagonal.");
|
||||
DEFINE_string(sparse_linear_algebra_library, "suite_sparse",
|
||||
"Options are: suite_sparse and cx_sparse.");
|
||||
DEFINE_string(dense_linear_algebra_library, "eigen",
|
||||
"Options are: eigen and lapack.");
|
||||
DEFINE_string(ordering, "automatic", "Options are: automatic, user.");
|
||||
|
||||
DEFINE_bool(use_quaternions, false, "If true, uses quaternions to represent "
|
||||
@@ -125,8 +127,12 @@ void SetLinearSolver(Solver::Options* options) {
|
||||
&options->preconditioner_type));
|
||||
CHECK(StringToSparseLinearAlgebraLibraryType(
|
||||
FLAGS_sparse_linear_algebra_library,
|
||||
&options->sparse_linear_algebra_library));
|
||||
&options->sparse_linear_algebra_library_type));
|
||||
CHECK(StringToDenseLinearAlgebraLibraryType(
|
||||
FLAGS_dense_linear_algebra_library,
|
||||
&options->dense_linear_algebra_library_type));
|
||||
options->num_linear_solver_threads = FLAGS_num_threads;
|
||||
|
||||
}
|
||||
|
||||
void SetOrdering(BALProblem* bal_problem, Solver::Options* options) {
|
||||
|
||||
Reference in New Issue
Block a user