|author||Sameer Agarwal <email@example.com>||Thu May 19 00:47:24 2022 -0700|
|committer||Sameer Agarwal <firstname.lastname@example.org>||Thu May 19 11:05:46 2022 -0700|
Refactor suitesparse.h/cc 1. Generalize SuiteSparse::AnalyzeCholesky and SuiteSparse::BlockAnalyzeCholesky from just doing AMD to taking OrderingType as an argument and using that to determine whether AMD & Nested Dissection algorithms are used for computing the fill-reducing ordering or a natural ordering when computing the symbolic factorization. 2. Remove AnalyzeCholeskyWithNaturalOrdering. 3. Replace and generalize SuiteSparse::BlockAMDOrdering with SuiteSparse::BlockOrdering which also takes OrderingType as an argument. Same for SuiteSparse::ApproximateMinimumDegreeOrdering and SuiteSparse::NestedDissectionOrdering by SuiteSparse::Ordering. 4. Remove LinearSolver::Options::use_postordering and replace it with LinearSolver::Options::ordering_type. 5. Replace Preconditioner::Options::use_postordering and replace it with Preconditioner::Options::ordering_type. 6. Add NESDIS to OrderingType. With the above changes, the linear solvers can now use Nested Dissection once this information is piped through the nonlinear solver. Change-Id: Ib8e93fbf34ae2981bf2ac54dcda9e25c7c213790
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.