File optimization_stats.h#
-
namespace sym
Typedefs
-
template<typename Scalar>
using SparseOptimizationStats = OptimizationStats<Eigen::SparseMatrix<Scalar>>#
-
template<typename Scalar>
using DenseOptimizationStats = OptimizationStats<MatrixX<Scalar>>#
-
using OptimizationStatsd = SparseOptimizationStats<double>#
-
using OptimizationStatsf = SparseOptimizationStats<float>#
-
template<typename MatrixType>
struct OptimizationStats# - #include <optimization_stats.h>
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
-
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#
-
template<typename Scalar>