CONJUGATE_GRADIENT


Function

Conjugate_Gradient contains a procedure for minimizing the value of a multidimensional function using a conjugate gradient algorithm. This code is a hotch-potch derived from a number of sources.

Dependencies

Module Variables
DEFINITIONS DP
IO_UNITS OUTPUT


Public Variables

None.

Public Procedures

There is a single public subroutine in this module.

SubroutinePurpose
CONJUGATE_GRADIENT_MINIMIZE Perform a conjugate gradient minimization.


CONJUGATE_GRADIENT_MINIMIZE

Argument Type Intent Optional Purpose
FCALC Function N/A No A user-supplied function.
X Real(:) InOut No The function variables.
STATUS Integer Out Yes An optional status flag.
PRINT_FREQUENCY Integer In Yes A print frequency.
STEP_NUMBER Integer In Yes The maximum number of minimization steps.
GRADIENT_TOLERANCE Real In Yes The gradient tolerance convergence criterion.
STEP_SIZE Real In Yes An estimated step-size for the first step.


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.




Stability

The subroutine in this module needs some cleaning up. Otherwise, stable.



Back to the DYNAMO Home-Page.