Next: Working with the Greville abscissae, Previous: Evaluation of B-spline basis functions, Up: Basis Splines [Index]

- Function:
*int***gsl_bspline_deriv_eval***(const double*`x`, const size_t`nderiv`, gsl_matrix *`dB`, gsl_bspline_workspace *`w`, gsl_bspline_deriv_workspace *`dw`) This function evaluates all B-spline basis function derivatives of orders

*0*through*nderiv*(inclusive) at the position`x`and stores them in the matrix`dB`. The*(i,j)*-th element of`dB`is*d^jB_i(x)/dx^j*. The matrix`dB`must be of size*n = nbreak + k - 2*by*nderiv + 1*. The value*n*may also be obtained by calling`gsl_bspline_ncoeffs`

. Note that function evaluations are included as the zeroth order derivatives in`dB`. Computing all the basis function derivatives at once is more efficient than computing them individually, due to the nature of the defining recurrence relation.

- Function:
*int***gsl_bspline_deriv_eval_nonzero***(const double*`x`, const size_t`nderiv`, gsl_matrix *`dB`, size_t *`istart`, size_t *`iend`, gsl_bspline_workspace *`w`, gsl_bspline_deriv_workspace *`dw`) This function evaluates all potentially nonzero B-spline basis function derivatives of orders

*0*through*nderiv*(inclusive) at the position`x`and stores them in the matrix`dB`. The*(i,j)*-th element of`dB`is*d^j/dx^j B_(istart+i)(x)*. The last row of`dB`contains*d^j/dx^j B_(iend)(x)*. The matrix`dB`must be of size*k*by at least*nderiv + 1*. Note that function evaluations are included as the zeroth order derivatives in`dB`. By returning only the nonzero basis functions, this function allows quantities involving linear combinations of the*B_i(x)*and their derivatives to be computed without unnecessary terms.