Next: Providing a function to minimize, Previous: Multimin Caveats, Up: Multidimensional Minimization [Index]

The following function initializes a multidimensional minimizer. The minimizer itself depends only on the dimension of the problem and the algorithm and can be reused for different problems.

- Function:
*gsl_multimin_fdfminimizer ****gsl_multimin_fdfminimizer_alloc***(const gsl_multimin_fdfminimizer_type **`T`, size_t`n`) - Function:
*gsl_multimin_fminimizer ****gsl_multimin_fminimizer_alloc***(const gsl_multimin_fminimizer_type **`T`, size_t`n`) -
This function returns a pointer to a newly allocated instance of a minimizer of type

`T`for an`n`-dimension function. If there is insufficient memory to create the minimizer then the function returns a null pointer and the error handler is invoked with an error code of`GSL_ENOMEM`

.

- Function:
*int***gsl_multimin_fdfminimizer_set***(gsl_multimin_fdfminimizer **`s`, gsl_multimin_function_fdf *`fdf`, const gsl_vector *`x`, double`step_size`, double`tol`) - Function:
*int***gsl_multimin_fminimizer_set***(gsl_multimin_fminimizer **`s`, gsl_multimin_function *`f`, const gsl_vector *`x`, const gsl_vector *`step_size`) The function

`gsl_multimin_fdfminimizer_set`

initializes the minimizer`s`to minimize the function`fdf`starting from the initial point`x`. The size of the first trial step is given by`step_size`. The accuracy of the line minimization is specified by`tol`. The precise meaning of this parameter depends on the method used. Typically the line minimization is considered successful if the gradient of the function*g*is orthogonal to the current search direction*p*to a relative accuracy of`tol`, where*dot(p,g) < tol |p| |g|*. A`tol`value of 0.1 is suitable for most purposes, since line minimization only needs to be carried out approximately. Note that setting`tol`to zero will force the use of “exact” line-searches, which are extremely expensive.The function

`gsl_multimin_fminimizer_set`

initializes the minimizer`s`to minimize the function`f`, starting from the initial point`x`. The size of the initial trial steps is given in vector`step_size`. The precise meaning of this parameter depends on the method used.

- Function:
*void***gsl_multimin_fdfminimizer_free***(gsl_multimin_fdfminimizer **`s`) - Function:
*void***gsl_multimin_fminimizer_free***(gsl_multimin_fminimizer **`s`) This function frees all the memory associated with the minimizer

`s`.

- Function:
*const char ****gsl_multimin_fdfminimizer_name***(const gsl_multimin_fdfminimizer **`s`) - Function:
*const char ****gsl_multimin_fminimizer_name***(const gsl_multimin_fminimizer **`s`) This function returns a pointer to the name of the minimizer. For example,

printf ("s is a '%s' minimizer\n", gsl_multimin_fdfminimizer_name (s));

would print something like

`s is a 'conjugate_pr' minimizer`

.