NuMFor 9f2ab49 (2024-04-08)
Numerical (Modern) Fortran. Library for Simple Numerical computing
iads Interface Reference

Integration by Adaptive Simpson method of a function by a globally adaptive strategy, using a Simpson rule. More...

Public Member Functions

subroutine iads_sp (f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_sp_f (f_f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_sp_arg (f_arg, a, b, args, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_dp (f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_dp_f (f_f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_dp_arg (f_arg, a, b, args, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_qp (f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_qp_f (f_f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_qp_arg (f_arg, a, b, args, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cs (f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cs_f (f_f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cs_arg (f_arg, a, b, args, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cd (f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cd_f (f_f, a, b, intval, epsabs, epsrel, abserr, neval, ier)
 
subroutine iads_cd_arg (f_arg, a, b, args, intval, epsabs, epsrel, abserr, neval, ier)
 

Detailed Description

Integration by Adaptive Simpson method of a function by a globally adaptive strategy, using a Simpson rule.

The routine calculates an approximation $J$ to a definite integral

\[ J \approx I =\int_{a}^{b} f(x, args) dx \]

hopefully satisfying

\[ || I - J || \le \max ( epsabs, epsrel \cdot ||I|| ). \]

Parameters
[in]fThe function to integrate
[in]a(real) lower limit of integration
[in]b(real) upper limit of integration
[in]args(real, array, optional) extra arguments (if needed) to be passed to the function f
[out]IntVal(same kind as f) Approximation to integral
[in]epsabs(real, optional) Absolute accuracy requested. Default = 1.e-7
[in]epsrel(real, optional) Relative accuracy requested. Default = 1.e-5
[out]abserr(real, optional) Estimation of absolute error achieved
[out]neval(integer, optional) Number of function evaluations performed
[out]ier(integer, optional) Error code

Member Function/Subroutine Documentation

◆ iads_cd()

subroutine iads_cd ( procedure(funqcd) f,
real(dp), intent(in) a,
real(dp), intent(in) b,
complex(cd), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_cd_arg()

subroutine iads_cd_arg ( procedure(funqcd_arg) f_arg,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), dimension(:), intent(in) args,
complex(cd), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_argfunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_cd_f()

subroutine iads_cd_f ( procedure(funqcd_f) f_f,
real(dp), intent(in) a,
real(dp), intent(in) b,
complex(cd), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_cs()

subroutine iads_cs ( procedure(funqcs) f,
real(dp), intent(in) a,
real(dp), intent(in) b,
complex(cs), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_cs_arg()

subroutine iads_cs_arg ( procedure(funqcs_arg) f_arg,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), dimension(:), intent(in) args,
complex(cs), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_argfunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_cs_f()

subroutine iads_cs_f ( procedure(funqcs_f) f_f,
real(dp), intent(in) a,
real(dp), intent(in) b,
complex(cs), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_dp()

subroutine iads_dp ( procedure(funqdp) f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_dp_arg()

subroutine iads_dp_arg ( procedure(funqdp_arg) f_arg,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), dimension(:), intent(in) args,
real(dp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_argfunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_dp_f()

subroutine iads_dp_f ( procedure(funqdp_f) f_f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_qp()

subroutine iads_qp ( procedure(funqqp) f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(qp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_qp_arg()

subroutine iads_qp_arg ( procedure(funqqp_arg) f_arg,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), dimension(:), intent(in) args,
real(qp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_argfunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_qp_f()

subroutine iads_qp_f ( procedure(funqqp_f) f_f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(qp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_sp()

subroutine iads_sp ( procedure(funqsp) f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(sp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_sp_arg()

subroutine iads_sp_arg ( procedure(funqsp_arg) f_arg,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(dp), dimension(:), intent(in) args,
real(sp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_argfunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

◆ iads_sp_f()

subroutine iads_sp_f ( procedure(funqsp_f) f_f,
real(dp), intent(in) a,
real(dp), intent(in) b,
real(sp), intent(out) intval,
real(dp), intent(in), optional epsabs,
real(dp), intent(in), optional epsrel,
real(dp), intent(out), optional abserr,
integer, intent(out), optional neval,
integer, intent(out), optional ier )
Parameters
f_ffunction to integrate
[out]intvalResult
[in]aLower limit of integration
[in]bUpper limit of integration
[in]epsrelBound to estimation error desired
[out]abserrEstimated error
[out]nevalNumber of function evaluations
[out]ierOutput (error) code

The documentation for this interface was generated from the following files: