Derived Types

TypeLocationExtendsDescription
bfgs nonlin_optimize line_search_optimizer

Defines a Broyden–Fletcher–Goldfarb–Shanno (BFGS) optimizer for minimization of smooth functions of multiple variables. The method uses a quasi-Newton inverse Hessian approximation and the update with and .

Read more…
brent_solver nonlin_solve equation_solver_1var

Defines a derivative-free solver for a scalar equation based on Brent's method. The method combines bisection with secant and inverse quadratic interpolation to maintain a bracket and converge to a root.

constrained_equation_solver nonlin_least_squares least_squares_solver

A least-squares solver that enforces bounds on the solution values, typically expressed as . The solver applies the bounds during the iteration so that each trial step remains feasible.

constrained_least_squares_solver nonlin_least_squares constrained_equation_solver

Defines a constrained least-squares solver using Powell's trust region method. The method seeks a correction that reduces the residual vector while remaining inside a trust region of size and the bounds . The trial step is formed from a Gauss-Newton step a steepest-descent step and a dogleg combination with chosen so that . If the trust-region step is rejected, a backtracking line search is used to improve the step acceptance.

equation_optimizer nonlin_multi_var None

A base class for optimization of an equation of multiple variables.

equation_solver nonlin_multi_eqn_mult_var None

A base class for various solvers of nonlinear systems of equations.

equation_solver_1var nonlin_single_var None

A base class for various solvers of equations of one variable.

fcn1var_helper nonlin_single_var None

Defines a type capable of encapsulating an equation of one variable of the form: f(x) = 0.

fcnnvar_helper nonlin_multi_var None

Defines a type capable of encapsulating an equation of N variables.

iteration_behavior nonlin_types None

Defines a set of parameters that describe the behavior of the iteration process.

least_squares_solver nonlin_least_squares equation_solver

Defines a Levenberg-Marquardt solver for unconstrained least-squares problems. The update is obtained from the damped normal equations where is the residual vector and .

line_search nonlin_linesearch None

Defines a type capable of performing an inexact, backtracking line search to find a point as far along the specified direction vector that is usable for unconstrained minimization problems.

Read more…
line_search_optimizer nonlin_optimize equation_optimizer

A base class for optimizers that improve a trial step with a line search. The search direction is combined with a step length through and the accepted step satisfies a sufficient decrease condition.

line_search_solver nonlin_solve equation_solver

A base class for nonlinear solvers that improve convergence by combining a search direction with a line search. At each iteration the step is taken as where the step length $\alpha_k$ is chosen to satisfy a sufficient decrease condition such as the Armijo rule .

nelder_mead nonlin_optimize equation_optimizer

Defines a direct-search optimizer based on Nelder and Mead's simplex method. The algorithm maintains a simplex of $n+1$ vertices and updates it by reflection, expansion, contraction, and shrinking steps to reduce the objective value .

newton_1var_solver nonlin_solve equation_solver_1var

Defines a safeguarded Newton solver for a scalar equation . The iteration uses the Newton update and retains a bracketing interval so that the step remains bounded by the root bracket.

newton_solver nonlin_solve line_search_solver

Defines a Newton solver for systems of nonlinear equations. At each iteration the correction is obtained from the linearized system where is the Jacobian matrix of .

polynomial nonlin_polynomials None

Defines a polynomial, and associated routines for performing polynomial operations.

quasi_newton_solver nonlin_solve line_search_solver

Defines a quasi-Newton solver based upon Broyden's method. The algorithm maintains an approximate Jacobian and updates the iterate from the nonlinear system $F(x)=0$ using with the rank-one Jacobian correction where .

value_pair nonlin_types None

Defines a pair of numeric values.

vecfcn_helper nonlin_multi_eqn_mult_var None

Defines a type capable of encapsulating a system of nonlinear equations of the form: F(X) = 0. This type is used to establish the system of equations to solve, and provides a means for computing the Jacobian matrix for the system of equations, and any other ancillary operations that may be needed by the solver.