This function minimizes a multidimensional function based on Powell's conjugate direction method, described in Numerical Recipes 3rd ed., ch 10.7.1. It repeatedly minimizes the function along a given 1D direction, and tries to choose new directions which don't spoil previous minimizations.
The code is adapted from the pseudocode in ch 10.7.1 of Numerical Recipes 3rd ed. However, the actual code was written independently from the code in that book.
The location of the minimum
- func in required
String name of a function to minimize. The function must have a calling sequence like function func, x, _extra = extra. x must be a n-element vector. Extra keywords passed to multimin will be relayed to calls of func.
- point in required
A seed point to start the minimization at. An n-element array.
- fmin in optional
Set to a variable to hold the value of the function at the minimum value.
- tol in optional
The fractional accuracy of the minimum location. Default is 1d-4.
- verbose in optional
Produce extra output.
- step in optional
The rough scale of the function to minimize. This is the length of the first step taken during each line minimization. Default is 1.
June 2009: Written by Chris Beaumont. April 2010: Tweaked parameter checking. cnb.
|Modifcation date:||Tue Apr 20 14:56:07 2010|