Functions are defined by a finite number of
and the corresponding values of
. We do not assume that these
are equally spaced, but this case is also considered, since it simplifies
sometimes the definition of functions or their computation. We assume that
the functions are continuous, linear between two successive
where they
are defined, and constant before the first
and after the last one.
However, for Fourier or Bessel transforms we assume that the functions
vanish after the last
and before the first.
The program is able to make operations (such as sum, product, composition,
derivation, integration, convolution)
on functions which are not necessary defined on the same
. For example if
we want to compute the sum of
and
we will define a new
function
(with a well defined x-range) and the sum of the two first
functions will be computed exactly at the points of the x-range of
and
stored in this function.
Two kinds of tranforms are implemented in funct : Fourier transforms and Bessel transforms. There are two kinds of Fourier tranforms : the FFT transform, and the precise Fourier transform (cf. 3.3.1). Here also we don't assume that the x-ranges of a function and of its transform are related.
The expression evaluator accepts in funct 81 numerical functions. Those who are not in the standard math library come from the cephes package (see 1.2). These numerical functions can of course be used to define or modify the functions in funct.