The following functions initialize a multidimensional solver, either with or without derivatives. The solver itself depends only on the dimension of the problem and the algorithm and can be reused for different problems.

__Function:__gsl_multiroot_fsolver ***gsl_multiroot_fsolver_alloc***(const gsl_multiroot_fsolver_type **`T`, size_t`n`)-
This function returns a pointer to a a newly allocated instance of a
solver of type
`T`for a system of`n`dimensions. For example, the following code creates an instance of a hybrid solver, to solve a 3-dimensional system of equations.const gsl_multiroot_fsolver_type * T = gsl_multiroot_fsolver_hybrid; gsl_multiroot_fsolver * s = gsl_multiroot_fsolver_alloc (T, 3);

If there is insufficient memory to create the solver then the function returns a null pointer and the error handler is invoked with an error code of

`GSL_ENOMEM`

.

__Function:__gsl_multiroot_fdfsolver ***gsl_multiroot_fdfsolver_alloc***(const gsl_multiroot_fdfsolver_type **`T`, size_t`n`)-
This function returns a pointer to a a newly allocated instance of a
derivative solver of type
`T`for a system of`n`dimensions. For example, the following code creates an instance of a Newton-Raphson solver, for a 2-dimensional system of equations.const gsl_multiroot_fdfsolver_type * T = gsl_multiroot_fdfsolver_newton; gsl_multiroot_fdfsolver * s = gsl_multiroot_fdfsolver_alloc (T, 2);

If there is insufficient memory to create the solver then the function returns a null pointer and the error handler is invoked with an error code of

`GSL_ENOMEM`

.

__Function:__int**gsl_multiroot_fsolver_set***(gsl_multiroot_fsolver **`s`, gsl_multiroot_function *`f`, gsl_vector *`x`)-
This function sets, or resets, an existing solver
`s`to use the function`f`and the initial guess`x`.

__Function:__int**gsl_multiroot_fdfsolver_set***(gsl_multiroot_fdfsolver **`s`, gsl_function_fdf *`fdf`, gsl_vector *`x`)-
This function sets, or resets, an existing solver
`s`to use the function and derivative`fdf`and the initial guess`x`.

__Function:__void**gsl_multiroot_fsolver_free***(gsl_multiroot_fsolver **`s`)__Function:__void**gsl_multiroot_fdfsolver_free***(gsl_multiroot_fdfsolver **`s`)-
These functions free all the memory associated with the solver
`s`.

__Function:__const char ***gsl_multiroot_fsolver_name***(const gsl_multiroot_fsolver **`s`)__Function:__const char ***gsl_multiroot_fdfsolver_name***(const gsl_multiroot_fdfsolver **`s`)-
These functions return a pointer to the name of the solver. For example,
printf("s is a '%s' solver\n", gsl_multiroot_fdfsolver_name (s));

would print something like

`s is a 'newton' solver`

.

Go to the first, previous, next, last section, table of contents.