nonlin_least_squares Module



Contents


Derived Types

type, public, extends(least_squares_solver) ::  constrained_equation_solver

A least-squares solver that implements limits (constraints) on the solution variables.

Type-Bound Procedures

procedure , public :: apply_limits => ces_apply_limits Subroutine
procedure , public :: get_fcn_tolerance => es_get_fcn_tol Function
procedure , public :: get_gradient_tolerance => es_get_grad_tol Function
procedure , public :: get_lower_limits => ces_get_lower_bounds Function
procedure , public :: get_max_fcn_evals => es_get_max_eval Function
procedure , public :: get_print_status => es_get_print_status Function
procedure , public :: get_step_scaling_factor => lss_get_factor Function
procedure , public :: get_upper_limits => ces_get_upper_bounds Function
procedure , public :: get_var_tolerance => es_get_var_tol Function
procedure , public :: set_fcn_tolerance => es_set_fcn_tol Subroutine
procedure , public :: set_gradient_tolerance => es_set_grad_tol Subroutine
procedure , public :: set_lower_limits => ces_set_lower_bounds Subroutine
procedure , public :: set_max_fcn_evals => es_set_max_eval Subroutine
procedure , public :: set_print_status => es_set_print_status Subroutine
procedure , public :: set_step_scaling_factor => lss_set_factor Subroutine
procedure , public :: set_upper_limits => ces_set_upper_bounds Subroutine
procedure , public :: set_var_tolerance => es_set_var_tol Subroutine
procedure , public :: solve => lss_solve Subroutine

Defines a constrained least-squares solver using Powell's trust region method. In the event the trust-region approach is slow to converge a backtracking type line search will be utilized. The solver also utilizes a Coleman-Li scaling approach that works to improve stability when the solution is near a constraint.

Read more…

Type-Bound Procedures

procedure , public :: apply_limits => ces_apply_limits Subroutine
procedure , public :: get_fcn_tolerance => es_get_fcn_tol Function
procedure , public :: get_gradient_tolerance => es_get_grad_tol Function
procedure , public :: get_lower_limits => ces_get_lower_bounds Function
procedure , public :: get_max_fcn_evals => es_get_max_eval Function
procedure , public :: get_print_status => es_get_print_status Function
procedure , public :: get_step_scaling_factor => cls_get_factor Function
procedure , public :: get_trust_region_radius => cls_get_radius Function
procedure , public :: get_upper_limits => ces_get_upper_bounds Function
procedure , public :: get_var_tolerance => es_get_var_tol Function
procedure , public :: set_fcn_tolerance => es_set_fcn_tol Subroutine
procedure , public :: set_gradient_tolerance => es_set_grad_tol Subroutine
procedure , public :: set_lower_limits => ces_set_lower_bounds Subroutine
procedure , public :: set_max_fcn_evals => es_set_max_eval Subroutine
procedure , public :: set_print_status => es_set_print_status Subroutine
procedure , public :: set_step_scaling_factor => cls_set_factor Subroutine
procedure , public :: set_trust_region_radius => cls_set_radius Subroutine
procedure , public :: set_upper_limits => ces_set_upper_bounds Subroutine
procedure , public :: set_var_tolerance => es_set_var_tol Subroutine
procedure , public :: solve => cls_solve Subroutine

type, public, extends(equation_solver) ::  least_squares_solver

Defines a Levenberg-Marquardt based solver for unconstrained least-squares problems.

Type-Bound Procedures

procedure , public :: get_fcn_tolerance => es_get_fcn_tol Function
procedure , public :: get_gradient_tolerance => es_get_grad_tol Function
procedure , public :: get_max_fcn_evals => es_get_max_eval Function
procedure , public :: get_print_status => es_get_print_status Function
procedure , public :: get_step_scaling_factor => lss_get_factor Function
procedure , public :: get_var_tolerance => es_get_var_tol Function
procedure , public :: set_fcn_tolerance => es_set_fcn_tol Subroutine
procedure , public :: set_gradient_tolerance => es_set_grad_tol Subroutine
procedure , public :: set_max_fcn_evals => es_set_max_eval Subroutine
procedure , public :: set_print_status => es_set_print_status Subroutine
procedure , public :: set_step_scaling_factor => lss_set_factor Subroutine
procedure , public :: set_var_tolerance => es_set_var_tol Subroutine
procedure , public :: solve => lss_solve Subroutine