BAKER_OPTIMIZATION


Function

Baker_Optimization contains a procedure for locating the stationary points of a multidimensional function. The code in this module is based on the work of Jon Baker, J. Comput. Chem., 7, 385-395, 1985.

Dependencies

Module Variables
DEFINITIONS DP
IO_UNITS OUTPUT
DIAGONALIZATION SYMMETRIC_UPPER


Public Variables

None.

Public Procedures

There is a single public subroutine in this module.

SubroutinePurpose
BAKER_SEARCH Find a stationary point of a multidimensional function.


BAKER_SEARCH

Argument Type Intent Optional Purpose
FCALC Subroutine N/A No A user supplied subroutine.
X Real(:) InOut No A guess at the stationary point on input and the point found by the subroutine on output.
STATUS Integer Out Yes A status flag.
FOLLOW_MODE Integer In Yes The mode to follow during the search procedure.
PRINT_FREQUENCY Integer In Yes The print frequency.
STEP_NUMBER Integer In Yes The maximum number of iterations.
LOCATE_SADDLE Logical In Yes The saddle point location flag.
USE_NR_STEP Logical In Yes The Newton-Raphson step flag.
GRADIENT_TOLERANCE Real In Yes The gradient tolerance convergence criterion.
MAXIMUM_STEP Real In Yes The maximum step size allowed.


FCALC

Argument Type Intent Optional Purpose
X Real(:) In No The point at the which the function is to be evaluated.
F Real Out No The function value.
G Real(:) Out No The first derivative vector.
H Real(:) Out No The second derivative vector packed in upper triangular form.




Stability

Stable although Hessian updating techniques may be added at a later date.



Back to the DYNAMO Home-Page.