12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef CERES_INTERNAL_LINE_SEARCH_MINIMIZER_H_
- #define CERES_INTERNAL_LINE_SEARCH_MINIMIZER_H_
- #include "ceres/internal/eigen.h"
- #include "ceres/internal/export.h"
- #include "ceres/minimizer.h"
- #include "ceres/solver.h"
- #include "ceres/types.h"
- #include "glog/logging.h"
- namespace ceres::internal {
- class CERES_NO_EXPORT LineSearchMinimizer final : public Minimizer {
- public:
- struct State {
- State(int , int num_effective_parameters)
- : cost(0.0),
- gradient(num_effective_parameters),
- gradient_squared_norm(0.0),
- search_direction(num_effective_parameters),
- directional_derivative(0.0),
- step_size(0.0) {}
- double cost;
- Vector gradient;
- double gradient_squared_norm;
- double gradient_max_norm;
- Vector search_direction;
- double directional_derivative;
- double step_size;
- };
- void Minimize(const Minimizer::Options& options,
- double* parameters,
- Solver::Summary* summary) final;
- };
- }
- #endif
|