# Module `Gsl.Deriv`

`external central : f:(float -> float) -> x:float -> h:float -> Fun.result = "ml_gsl_deriv_central" `

`central f x h` computes the numerical derivative of the function `f` at the point `x` using an adaptive central difference algorithm with a step-size of `h`. The function returns a value `r` with the derivative being in `r.res` and an estimate of its absolute error in `r.err`.

`external forward : f:(float -> float) -> x:float -> h:float -> Fun.result = "ml_gsl_deriv_forward" `

`forward f x h` computes the numerical derivative of the function `f` at the point `x` using an adaptive forward difference algorithm with a step-size of `h`. The function is evaluated only at points greater than `x`, and never at `x` itself. The function returns `r` with the derivative in `r.res` and an estimate of its absolute in `r.err`. This function should be used if f(x) has a discontinuity at `x`, or is undefined for values less than `x`.

`external backward : f:(float -> float) -> x:float -> h:float -> Fun.result = "ml_gsl_deriv_backward" `

`forward f x h` computes the numerical derivative of the function `f` at the point `x` using an adaptive backward difference algorithm with a step-size of `h`. The function is evaluated only at points less than `x`, and never at `x` itself. The function returns a value `r` with the derivative in `r.res` and an estimate of its absolute error in `r.err`. This function should be used if f(x) has a discontinuity at `x`, or is undefined for values greater than `x`.