## src/numerical/adapt_gauss [ Modules ]

NAME

Module adapt_gauss (file src/numerical/adapt_gauss.f90)

USAGE

use adapt_gauss

DESCRIPTION

This module contains several routines for a one dimensional integration using Gauss Kronrod method

OUTPUT

The only subroutine which can be used by use association in adapt_gaus1, all the other subroutines/functions of this module are private

USES

* precision (src/module/precision_golem.f90) * array (src/module/array.f90) * sortie_erreur (src/module/sortie_erreur.f90)

## src/numerical/adapt_gauss/adapt_gauss1 [ Functions ]

NAME

Subroutine adapt_gauss1 (file src/numerical/adapt_gauss.f90)

USAGE

call adapt_gauss1(func,b_inf,b_sup,tol,rest,abserr)

DESCRIPTION

This subroutine performs a one dimensional adaptative integration of the function func between b_inf and b_sup using a Gaussian quadrature with Kronrod polynomial. The integrand is assumed to be complex. For a certain criterium (function test_error), the range of integration is split into two. All the cells are put into a chained list whose element are of type intervalle

INPUTS

this subroutine takes as inputs: * func -- an external function as declared by the interface block * b_inf -- a real (type ki), the lower bound of the integration range * b_sup -- a real (type ki), the upper bound of the integration range * tol -- a real (type ki), the tolerance asked by the user

SIDE EFFECTS

no side effects

RETURN VALUE

it returns: * rest -- a complex (type ki), the result of the integration * abserr -- a complex (type ki), the absolute value of the estimated error

EXAMPLE

to integrate a function f between 0 and 1 with a tolerance of 0.0001 the result is put in result and the relative error returned in error call adapt_gauss1(f,0._ki,1._ki,1.e-4_ki,result,error)