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 |