GNU Scientific Library Reference Manual - Third Edition (v1.12)by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi Paperback (6"x9"), 592 pages, 60 figures ISBN 0954612078 RRP £24.95 ($39.95) |

## 38.2 Initializing the B-splines solver

The computation of B-spline functions requires a preallocated
workspace of type `gsl_bspline_workspace`

. If B-spline
derivatives are also required, an additional
`gsl_bspline_deriv_workspace`

is needed.

__Function:__gsl_bspline_workspace ***gsl_bspline_alloc***(const size_t*`k`, const size_t`nbreak`)- This function allocates a workspace for computing B-splines of order
`k`. The number of breakpoints is given by`nbreak`. This leads to n = nbreak + k - 2 basis functions. Cubic B-splines are specified by k = 4. The size of the workspace is O(5k + nbreak).

__Function:__void**gsl_bspline_free***(gsl_bspline_workspace **`w`)- This function frees the memory associated with the workspace
`w`.

__Function:__gsl_bspline_deriv_workspace ***gsl_bspline_deriv_alloc***(const size_t*`k`)- This function allocates a workspace for computing the derivatives of a
B-spline basis function of order
`k`. The size of the workspace is O(2k^2).

__Function:__void**gsl_bspline_deriv_free***(gsl_bspline_deriv_workspace **`w`)- This function frees the memory associated with the derivative
workspace
`w`.

ISBN 0954612078 | GNU Scientific Library Reference Manual - Third Edition (v1.12) | See the print edition |