commit | 41c5fb1e807178170f38e7c011922b35d192576b | [log] [tgz] |
---|---|---|
author | Sameer Agarwal <sameeragarwal@google.com> | Thu May 19 00:47:24 2022 -0700 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Thu May 19 11:05:46 2022 -0700 |
tree | 45795d906bf75fb24123d2f599f35526cbe3bb2c | |
parent | 12263e28305a2a43b6c6a6b4f7f76814ab7ffa5f [diff] |
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.