123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #ifndef CERES_INTERNAL_REORDER_PROGRAM_H_
- #define CERES_INTERNAL_REORDER_PROGRAM_H_
- #include <string>
- #include "ceres/internal/disable_warnings.h"
- #include "ceres/internal/export.h"
- #include "ceres/linear_solver.h"
- #include "ceres/parameter_block_ordering.h"
- #include "ceres/problem_impl.h"
- #include "ceres/types.h"
- namespace ceres::internal {
- class Program;
- CERES_NO_EXPORT bool ApplyOrdering(
- const ProblemImpl::ParameterMap& parameter_map,
- const ParameterBlockOrdering& ordering,
- Program* program,
- std::string* error);
- CERES_NO_EXPORT bool LexicographicallyOrderResidualBlocks(
- int size_of_first_elimination_group, Program* program, std::string* error);
- CERES_NO_EXPORT bool ReorderProgramForSchurTypeLinearSolver(
- LinearSolverType linear_solver_type,
- SparseLinearAlgebraLibraryType sparse_linear_algebra_library_type,
- LinearSolverOrderingType linear_solver_ordering_type,
- const ProblemImpl::ParameterMap& parameter_map,
- ParameterBlockOrdering* parameter_block_ordering,
- Program* program,
- std::string* error);
- CERES_NO_EXPORT bool ReorderProgramForSparseCholesky(
- SparseLinearAlgebraLibraryType sparse_linear_algebra_library_type,
- LinearSolverOrderingType linear_solver_ordering_type,
- const ParameterBlockOrdering& parameter_block_ordering,
- int start_row_block,
- Program* program,
- std::string* error);
- CERES_NO_EXPORT int ReorderResidualBlocksByPartition(
- const std::unordered_set<ResidualBlockId>& bottom_residual_blocks,
- Program* program);
- CERES_NO_EXPORT bool AreJacobianColumnsOrdered(
- LinearSolverType linear_solver_type,
- PreconditionerType preconditioner_type,
- SparseLinearAlgebraLibraryType sparse_linear_algebra_library_type,
- LinearSolverOrderingType linear_solver_ordering_type);
- }
- #include "ceres/internal/reenable_warnings.h"
- #endif
|