mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 08:34:37 +08:00
Fix tiny solver build break
The solver code must rely on the vectors for sizing, since not all cost functions will have NumParameters() or NumResiduals(). Change-Id: Id254ce37507443910edb0064de7907d64558851e
This commit is contained in:
@@ -231,13 +231,14 @@ class TinySolver {
|
||||
Scalar u = options.initial_scale_factor;
|
||||
Scalar v = 2;
|
||||
|
||||
for (int i = 1; summary.status == RUNNING && i < options.max_iterations;
|
||||
++i) {
|
||||
summary.iterations = i;
|
||||
for (summary.iterations = 1;
|
||||
(summary.status == RUNNING &&
|
||||
summary.iterations < options.max_iterations);
|
||||
summary.iterations++) {
|
||||
jtj_regularized_ = jtj_;
|
||||
const Scalar min_diagonal = 1e-6;
|
||||
const Scalar max_diagonal = 1e32;
|
||||
for (int i = 0; i < function.NumParameters(); ++i) {
|
||||
for (int i = 0; i < lm_diagonal_.rows(); ++i) {
|
||||
lm_diagonal_[i] = std::sqrt(
|
||||
u * std::min(std::max(jtj_(i, i), min_diagonal), max_diagonal));
|
||||
jtj_regularized_(i, i) += lm_diagonal_[i] * lm_diagonal_[i];
|
||||
|
||||
Reference in New Issue
Block a user