Lines Matching full:solver
17 components of a nonlinear least squares solver, so before we describe
18 how to configure and use the solver, we will take a brief look at how
113 :member:`Solver::Options::trust_region_strategy_type`.
117 .. [#f1] At the level of the non-linear solver, the block
178 equations. Typically an iterative linear solver like the Conjugate
181 the iterative solver. A typical termination rule is of the form
194 the user chooses a factorization based linear solver, the exact step
196 iterative linear solver, the inexact step Levenberg-Marquardt
221 :member:`Solver::Options::dogleg_type`.
303 Setting :member:`Solver::Options::use_inner_iterations` to ``true``
309 Setting :member:`Solver::Options::num_threads` to the maximum number
331 Setting :member:`Solver::Options::use_nonmonotonic_steps` to ``true``
349 **The implementation of line search algorithms in Ceres Solver is
351 solver should be considered beta quality. We welcome reports of your
374 methods. Currently, Ceres Solver supports three choices of search
385 search directions. Ceres Solver currently supports
400 Currently Ceres Solver supports both a backtracking and interpolation
407 .. _section-linear-solver:
565 implements this strategy as the ``DENSE_SCHUR`` solver.
577 strategy as the ``SPARSE_SCHUR`` solver.
586 Ceres, another option is the ``CGNR`` solver. This solver uses the
587 Conjugate Gradients solver on the *normal equations*, but without
594 When the user chooses ``ITERATIVE_SCHUR`` as the linear solver, Ceres
608 ``ITERATIVE_SCHUR`` solver. When the user chooses ``ITERATIVE_SCHUR``
609 as the linear solver, Ceres automatically switches from the exact step
613 prohibitive for large problems. Indeed, for an inexact Newton solver
706 The order in which variables are eliminated in a linear solver can
714 solver about the variable elimination ordering to use. This can range
715 from no hints, where the solver is free to decide the best ordering
716 based on the user's choices like the linear solver being used, to an
746 3. :math:`\{0: x, y\}` : Solver gets to decide the elimination order.
767 If the user leaves the choice to Ceres, then the solver uses an
771 .. _section-solver-options:
773 :class:`Solver::Options`
776 .. class:: Solver::Options
778 :class:`Solver::Options` controls the overall behavior of the
779 solver. We list the various settings and their default values below.
782 .. member:: MinimizerType Solver::Options::minimizer_type
790 .. member:: LineSearchDirectionType Solver::Options::line_search_direction_type
797 .. member:: LineSearchType Solver::Options::line_search_type
806 .. member:: NonlinearConjugateGradientType Solver::Options::nonlinear_conjugate_gradient_type
813 .. member:: int Solver::Options::max_lbfs_rank
836 .. member:: bool Solver::Options::use_approximate_eigenvalue_bfgs_scaling
873 .. member:: LineSearchIterpolationType Solver::Options::line_search_interpolation_type
881 .. member:: double Solver::Options::min_line_search_step_size
891 .. member:: double Solver::Options::line_search_sufficient_function_decrease
906 .. member:: double Solver::Options::max_line_search_step_contraction
918 .. member:: double Solver::Options::min_line_search_step_contraction
930 .. member:: int Solver::Options::max_num_line_search_step_size_iterations
948 .. member:: int Solver::Options::max_num_line_search_direction_restarts
959 .. member:: double Solver::Options::line_search_sufficient_curvature_decrease
975 .. member:: double Solver::Options::max_line_search_step_expansion
991 .. member:: TrustRegionStrategyType Solver::Options::trust_region_strategy_type
1000 .. member:: DoglegType Solver::Options::dogleg_type
1009 .. member:: bool Solver::Options::use_nonmonotonic_steps
1017 .. member:: int Solver::Options::max_consecutive_nonmonotonic_steps
1024 .. member:: int Solver::Options::max_num_iterations
1028 Maximum number of iterations for which the solver should run.
1030 .. member:: double Solver::Options::max_solver_time_in_seconds
1033 Maximum amount of time for which the solver should run.
1035 .. member:: int Solver::Options::num_threads
1041 .. member:: double Solver::Options::initial_trust_region_radius
1049 .. member:: double Solver::Options::max_trust_region_radius
1055 .. member:: double Solver::Options::min_trust_region_radius
1059 The solver terminates, when the trust region becomes smaller than
1062 .. member:: double Solver::Options::min_relative_decrease
1069 .. member:: double Solver::Options::min_lm_diagonal
1077 .. member:: double Solver::Options::max_lm_diagonal
1085 .. member:: int Solver::Options::max_num_consecutive_invalid_steps
1096 .. member:: double Solver::Options::function_tolerance
1100 Solver terminates if
1108 .. member:: double Solver::Options::gradient_tolerance
1112 Solver terminates if
1119 .. member:: double Solver::Options::parameter_tolerance
1123 Solver terminates if
1127 where :math:`\Delta x` is the step computed by the linear solver in
1130 .. member:: LinearSolverType Solver::Options::linear_solver_type
1134 Type of linear solver used to compute the solution to the linear
1140 .. member:: PreconditionerType Solver::Options::preconditioner_type
1144 The preconditioner used by the iterative linear solver. The default
1150 .. member:: DenseLinearAlgebraLibrary Solver::Options::dense_linear_algebra_library_type
1166 .. member:: SparseLinearAlgebraLibrary Solver::Options::sparse_linear_algebra_library_type
1181 .. member:: int Solver::Options::num_linear_solver_threads
1185 Number of threads used by the linear solver.
1187 .. member:: ParameterBlockOrdering* Solver::Options::linear_solver_ordering
1191 An instance of the ordering object informs the solver about the
1195 If ``NULL``, the solver is free to choose an ordering that it
1200 .. member:: bool Solver::Options::use_post_ordering
1224 .. member:: int Solver::Options::min_linear_solver_iterations
1228 Minimum number of iterations used by the linear solver. This only
1229 makes sense when the linear solver is an iterative solver, e.g.,
1232 .. member:: int Solver::Options::max_linear_solver_iterations
1236 Minimum number of iterations used by the linear solver. This only
1237 makes sense when the linear solver is an iterative solver, e.g.,
1240 .. member:: double Solver::Options::eta
1244 Forcing sequence parameter. The truncated Newton solver uses this
1252 .. member:: bool Solver::Options::jacobi_scaling
1257 columns before being passed to the linear solver. This improves the
1260 .. member:: bool Solver::Options::use_inner_iterations
1269 .. member:: double Solver::Options::inner_itearation_tolerance
1283 .. member:: ParameterBlockOrdering* Solver::Options::inner_iteration_ordering
1287 If :member:`Solver::Options::use_inner_iterations` true, then the
1290 1. Let the solver heuristically decide which parameter blocks to
1292 :member:`Solver::Options::inner_iteration_ordering` to ``NULL``.
1302 .. member:: LoggingType Solver::Options::logging_type
1306 .. member:: bool Solver::Options::minimizer_progress_to_stdout
1312 :member:`Solver::Options::logging_type` is not ``SILENT``, the logging
1334 #. ``li`` is the number of linear solver iterations used to compute
1361 .. member:: vector<int> Solver::Options::trust_region_minimizer_iterations_to_dump
1369 .. member:: string Solver::Options::trust_region_problem_dump_directory
1375 :member:`Solver::Options::trust_region_minimizer_iterations_to_dump` is
1377 :member:`Solver::Options::trust_region_problem_dump_format_type` is not
1380 .. member:: DumpFormatType Solver::Options::trust_region_problem_dump_format
1385 :member:`Solver::Options::trust_region_minimizer_iterations_to_dump`
1396 :member:`Solver::Options::trust_region_problem_dump_directory` as
1406 .. member:: bool Solver::Options::check_gradients
1417 .. member:: double Solver::Options::gradient_check_relative_precision
1425 .. member:: double Solver::Options::numeric_derivative_relative_step_size
1446 .. member:: vector<IterationCallback> Solver::Options::callbacks
1453 :member:`Solver::Options::update_state_every_variable`. If the user
1456 :member:`Solver::Options::update_state_every_iteration` to true.
1458 The solver does NOT take ownership of these pointers.
1460 .. member:: bool Solver::Options::update_state_every_iteration
1464 Normally the parameter blocks are only updated when the solver
1469 .. member:: string Solver::Options::solver_log
1473 If non-empty, a summary of the execution of the solver is recorded
1572 // than Solver::Options::min_relative_decrease. However, if the
1574 // (Solver::Options:use_nonmonotonic_steps = true), then even if the
1617 // Number of iterations taken by the linear solver to solve for the
1625 solver.
1643 each iteration of the Minimizer. The solver uses the return value of
1648 situation. The solver returns without updating the parameter
1649 blocks (unless ``Solver::Options::update_state_every_iteration`` is
1650 set true). Solver returns with ``Solver::Summary::termination_type``
1655 has been met). Solver returns with
1656 ``Solver::Summary::termination_type``` set to ``USER_SUCCESS``.
1658 #. ``SOLVER_CONTINUE`` indicates that the solver should continue
1752 :class:`Solver::Summary`
1755 .. class:: Solver::Summary
1762 // A brief one line description of the state of the solver after
1766 // A full multiline description of the state of the solver after
1775 // If the solver did not run, or there was a failure, a
1976 numerical behaviour of the Solver, it will also expose the rank