diff --git a/internal/ceres/schur_complement_solver.cc b/internal/ceres/schur_complement_solver.cc index fa921b4fd..1a1becb69 100644 --- a/internal/ceres/schur_complement_solver.cc +++ b/internal/ceres/schur_complement_solver.cc @@ -226,9 +226,11 @@ DenseSchurComplementSolver::SolveReducedLinearSystem( SparseSchurComplementSolver::SparseSchurComplementSolver( const LinearSolver::Options& options) : SchurComplementSolver(options) { - sparse_cholesky_.reset( - SparseCholesky::Create(options.sparse_linear_algebra_library_type, - options.use_postordering ? AMD : NATURAL)); + if (options.type != ITERATIVE_SCHUR) { + sparse_cholesky_.reset( + SparseCholesky::Create(options.sparse_linear_algebra_library_type, + options.use_postordering ? AMD : NATURAL)); + } } SparseSchurComplementSolver::~SparseSchurComplementSolver() {