Next: Constructing the knots vector, Previous: Overview of B-splines, Up: Basis Splines [Index]

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`.