integrate Interface

public interface integrate

Public interface for various integration routines.


Contents


Module Procedures

public pure function integrate_array_re(x, y) result(r)

This function calculates the integral of an array y with respect to x using a trapezoid approximation. Note that the mesh spacing of x does not necessarily have to be uniform.

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

Variable x

real(kind=wp), intent(in), dimension(size(x)):: y

Function y(x)

Return Value real(kind=wp)

Integral ∫y(x)·dx

public pure function integrate_array_cx(x, y) result(r)

Complex version of integrate_array_re.

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

Variable x

complex(kind=wp), intent(in), dimension(size(x)):: y

Function y(x)

Return Value complex(kind=wp)

Integral ∫y(x)·dx

public function integrate_range_re(x, y, a, b) result(r)

This function constructs a piecewise hermitian cubic interpolation of an array y(x) based on discrete numerical data, and subsequently evaluates the integral of the interpolation in the range (a,b). Note that the mesh spacing of x does not necessarily have to be uniform.

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

Variable x

real(kind=wp), intent(in), dimension(size(x)):: y

Function y(x)

real(kind=wp), intent(in) :: a

Left endpoint

real(kind=wp), intent(in) :: b

Right endpoint

Return Value real(kind=wp)

Integral ∫y(x)·dx

public function integrate_range_cx(x, y, a, b) result(r)

Complex version of integrate_range_re.

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

Variable x

complex(kind=wp), intent(in), dimension(size(x)):: y

Function y(x)

real(kind=wp), intent(in) :: a

Left endpoint

real(kind=wp), intent(in) :: b

Right endpoint

Return Value complex(kind=wp)

Integral ∫y(x)·dx