Module for minimization of 1D and N-D problems
Constructors for lineSearch_t
Constructor for lineSearch_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(objN_t), | intent(in) | :: | obj | Parent N-D objective function |
||
| real(kind=wp), | intent(in), | dimension(:) | :: | x | Point along line |
New lineSearch_t
Type for a 1D objective function
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | derivativeOrder | = | 2 | Order of finite difference approximations |
|
| real(kind=wp), | public | :: | stepSize | = | 1.0E-3_wp | Step size for finite differences |
| procedure, public :: der1 | |
| procedure, public :: der2 | |
| procedure, public :: rootNewton | |
| procedure, public :: minNewton => minNewton_obj | |
| procedure(eval_p), public :: eval |
Type for an N-D objective function
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | derivativeOrder | = | 2 | Order for finite difference approximations |
|
| real(kind=wp), | public | :: | stepSize | = | 1.0E-3_wp | Step size for finite differences |
| procedure, public :: grad | |
| procedure, public :: hessian | |
| procedure, public :: steepestDescent | |
| procedure, public :: nelderMead | |
| procedure, public :: minNewton => minNewton_objN | |
| procedure(evalN_p), public :: eval |
Objective function for a line search in an N-D space
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | derivativeOrder | = | 2 | Order of finite difference approximations |
|
| real(kind=wp), | public | :: | stepSize | = | 1.0E-3_wp | Step size for finite differences |
|
| class(objN_t), | public, | allocatable | :: | parent | N-D objective function |
||
| real(kind=wp), | public, | dimension(:), allocatable | :: | x0 | Base point in N-space along the line |
||
| real(kind=wp), | public, | dimension(:), allocatable | :: | n0 | Direction in N-space |
Constructors for lineSearch_t
| private function newLineSearch(obj, x) | Constructor for lineSearch_t |
| procedure, public :: der1 | |
| procedure, public :: der2 | |
| procedure, public :: rootNewton | |
| procedure, public :: minNewton => minNewton_obj | |
| procedure, public :: parentX | |
| procedure, public :: eval => eval_lineSearch |