Module Gsl.Fun

Types for special functions

type result = {
res : float;
err : float;
}

The result of a computation : res is the value and err an estimate of the absolute error in the value.

type result_e10 = {
res_e10 : float;
err_e10 : float;
e10 : int;
}

Result of computation with a scaling exponent. Actual result is obtained as res *. 10. ** e10.

type mode =
| DOUBLE

Double precision : 2 * 10^-16

| SIMPLE

Single precision : 10^-7

| APPROX

Approximate values : 5 * 10^-4

Reduce the accuracy of some evaluations to speed up computations.

external smash : result_e10 -> result = "ml_gsl_sf_result_smash_e"

Callbacks

type gsl_fun = float -> float
type gsl_fun_fdf = {
f : float -> float;
df : float -> float;
fdf : float -> float * float;
}
type monte_fun = float array -> float
type multi_fun = x:Vector.vector -> f:Vector.vector -> unit
type multi_fun_fdf = {
multi_f : x:Vector.vector -> f:Vector.vector -> unit;
multi_df : x:Vector.vector -> j:Matrix.matrix -> unit;
multi_fdf : x:Vector.vector -> f:Vector.vector -> j:Matrix.matrix -> unit;
}
type multim_fun = x:Vector.vector -> float
type multim_fun_fdf = {
multim_f : x:Vector.vector -> float;
multim_df : x:Vector.vector -> g:Vector.vector -> unit;
multim_fdf : x:Vector.vector -> g:Vector.vector -> float;
}