Lines Matching refs:iteration_summary
65 const IterationSummary& iteration_summary) {
68 (*options_.callbacks[i])(iteration_summary);
140 IterationSummary iteration_summary;
141 iteration_summary.iteration = 0;
142 iteration_summary.step_is_valid = false;
143 iteration_summary.step_is_successful = false;
144 iteration_summary.cost_change = 0.0;
145 iteration_summary.gradient_max_norm = 0.0;
146 iteration_summary.step_norm = 0.0;
147 iteration_summary.relative_decrease = 0.0;
148 iteration_summary.trust_region_radius = strategy->Radius();
151 iteration_summary.eta = options_.eta;
152 iteration_summary.linear_solver_iterations = 0;
153 iteration_summary.step_solver_time_in_seconds = 0;
163 iteration_summary.cost = cost + summary->fixed_cost;
174 iteration_summary.gradient_max_norm = gradient.lpNorm<Eigen::Infinity>();
186 max(iteration_summary.gradient_max_norm, kEpsilon);
190 if (iteration_summary.gradient_max_norm <= absolute_gradient_tolerance) {
194 << iteration_summary.gradient_max_norm / gradient_max_norm_0
199 iteration_summary.iteration_time_in_seconds =
201 iteration_summary.cumulative_time_in_seconds =
204 summary->iterations.push_back(iteration_summary);
207 switch (RunCallbacks(iteration_summary)) {
225 if (iteration_summary.iteration >= options_.max_num_iterations) {
239 iteration_summary = IterationSummary();
240 iteration_summary = summary->iterations.back();
241 iteration_summary.iteration = summary->iterations.back().iteration + 1;
242 iteration_summary.step_is_valid = false;
243 iteration_summary.step_is_successful = false;
254 iteration_summary.step_solver_time_in_seconds =
256 iteration_summary.linear_solver_iterations =
259 if (!MaybeDumpLinearLeastSquaresProblem(iteration_summary.iteration,
286 iteration_summary.step_is_valid = true;
290 if (!iteration_summary.step_is_valid) {
311 iteration_summary.cost = cost + summary->fixed_cost;
312 iteration_summary.cost_change = 0.0;
313 iteration_summary.gradient_max_norm =
315 iteration_summary.step_norm = 0.0;
316 iteration_summary.relative_decrease = 0.0;
317 iteration_summary.eta = options_.eta;
369 iteration_summary.step_norm = (x - x_plus_delta).norm();
374 if (iteration_summary.step_norm <= step_size_tolerance) {
377 << iteration_summary.step_norm /
385 iteration_summary.cost_change = cost - new_cost;
388 if (fabs(iteration_summary.cost_change) < absolute_function_tolerance) {
391 << fabs(iteration_summary.cost_change) / cost
398 iteration_summary.cost_change / model_cost_change;
416 iteration_summary.relative_decrease =
421 iteration_summary.step_is_successful =
422 iteration_summary.relative_decrease > options_.min_relative_decrease;
424 if (iteration_summary.step_is_successful) {
428 iteration_summary.step_is_nonmonotonic = true;
437 if (iteration_summary.step_is_successful) {
439 strategy->StepAccepted(iteration_summary.relative_decrease);
458 iteration_summary.gradient_max_norm = gradient.lpNorm<Eigen::Infinity>();
460 if (iteration_summary.gradient_max_norm <= absolute_gradient_tolerance) {
464 << iteration_summary.gradient_max_norm / gradient_max_norm_0
515 if (iteration_summary.step_is_valid) {
516 strategy->StepRejected(iteration_summary.relative_decrease);
522 iteration_summary.cost = cost + summary->fixed_cost;
523 iteration_summary.trust_region_radius = strategy->Radius();
524 if (iteration_summary.trust_region_radius <
531 iteration_summary.iteration_time_in_seconds =
533 iteration_summary.cumulative_time_in_seconds =
536 summary->iterations.push_back(iteration_summary);
538 switch (RunCallbacks(iteration_summary)) {