Describes a function of N variables.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
An N-element array containing the independent variables. |
|
| class(*), | intent(inout), | optional | :: | args |
An optional argument to allow the user to communicate with the routine. |
The value of the function.
Describes a routine capable of computing the gradient vector of an equation of N variables.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
An N-element array containing the independent variables. |
|
| real(kind=real64), | intent(out), | dimension(:) | :: | g |
An N-element array where the gradient vector will be written as output. |
|
| class(*), | intent(inout), | optional | :: | args |
An optional argument to allow the user to communicate with the routine. |
Describes the interface of a routine for optimizing an equation of N variables.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equation_optimizer), | intent(inout) | :: | this |
The equation_optimizer object. |
||
| class(fcnnvar_helper), | intent(in) | :: | fcn |
The fcnnvar_helper object containing the equation to optimize. |
||
| real(kind=real64), | intent(inout), | dimension(:) | :: | x |
On input, the initial guess at the optimal point. On output, the updated optimal point estimate. |
|
| real(kind=real64), | intent(out), | optional | :: | fout |
An optional output, that if provided, returns the value of the function at x. |
|
| type(iteration_behavior), | optional | :: | ib |
An optional output, that if provided, allows the caller to obtain iteration performance statistics. |
||
| class(*), | intent(inout), | optional | :: | args |
An optional argument to allow the user to communicate with the routine. |
A base class for optimization of an equation of multiple variables.
| procedure, public :: get_max_fcn_evals => oe_get_max_eval | |
| procedure, public :: get_print_status => oe_get_print_status | |
| procedure, public :: get_tolerance => oe_get_tol | |
| procedure, public :: set_max_fcn_evals => oe_set_max_eval | |
| procedure, public :: set_print_status => oe_set_print_status | |
| procedure, public :: set_tolerance => oe_set_tol | |
| procedure(nonlin_optimize_fcn), public, deferred, pass :: solve |
Defines a type capable of encapsulating an equation of N variables.
| procedure, public :: fcn => fnh_fcn | |
| procedure, public :: get_variable_count => fnh_get_nvar | |
| procedure, public :: gradient => fnh_grad_fcn | |
| procedure, public :: is_fcn_defined => fnh_is_fcn_defined | |
| procedure, public :: is_gradient_defined => fnh_is_grad_defined | |
| procedure, public :: set_fcn => fnh_set_fcn | |
| procedure, public :: set_gradient_fcn => fnh_set_grad |