Struct sym::OptimizationStatsΒΆ
-
template<typename MatrixType>
struct OptimizationStats Debug stats for a full optimization run
Public Functions
-
inline optimization_stats_t GetLcmType() const
-
inline auto JacobianView(const optimization_iteration_t &iteration) const
Get a view of the Jacobian at a particular iteration
The lifetime of the result is tied to the lifetime of the OptimizationStats object
-
inline void Reset(const size_t num_iterations)
Reset the optimization stats
Does not cause reallocation, except for things in debug stats
Public Members
-
std::vector<optimization_iteration_t> iterations
-
int32_t best_index = {0}
Index into iterations of the best iteration (containing the optimal Values)
-
optimization_status_t status = {}
What was the result of the optimization?
-
int32_t failure_reason = {}
If status == FAILED, why? This should be cast to the Optimizer::FailureReason enum for the nonlinear solver you used.
-
optional<Linearization<MatrixType>> best_linearization = {}
The linearization at best_index (at optimized_values), filled out if populate_best_linearization = true
-
sparse_matrix_structure_t jacobian_sparsity = {}
The sparsity pattern of the problem jacobian
Only filled if Optimizer created with debug_stats = true and include_jacobians = true, otherwise default constructed.
If using a dense linearization, only the shape field will be filled.
-
Eigen::VectorXi linear_solver_ordering = {}
The permutation used by the linear solver
Only filled if using an Optimizer created with debug_stats = true and a linear solver that exposes Permutation() (such as the default SparseCholeskySolver). Otherwise, will be default constructed.
-
sparse_matrix_structure_t cholesky_factor_sparsity = {}
The sparsity pattern of the cholesky factor L
Only filled if using an Optimizer created with debug_stats = true and a linear solver that exposes L() (such as the default SparseCholeskySolver). Otherwise, will be default constructed.
-
inline optimization_stats_t GetLcmType() const