interpolate Interface

public interface interpolate

Public interface for various interpolation routines.


Contents


Module Procedures

public function interpolate_point_re(x, y, p) result(r)

Wrapper for interpolate_array_re that accepts scalar arguments.

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) :: p

Interpolation point p

Return Value real(kind=wp)

Interpolation result y(p)

public function interpolate_point_cx(x, y, p) result(r)

Complex version of interpolate_point_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) :: p

Interpolation point p

Return Value complex(kind=wp)

Interpolation result y(p)

public function interpolate_array_re(x, y, p) result(r)

This function constructs a piecewise hermitian cubic interpolation of an array y(x) based on discrete numerical data, and evaluates the interpolation at points p. 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), dimension(:):: p

Interpolation domain p

Return Value real(kind=wp), dimension(size(p))

Interpolation result y(p)

public function interpolate_array_cx(x, y, p) result(r)

Complex version of interpolate_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)

real(kind=wp), intent(in), dimension(:):: p

Interpolation domain p

Return Value complex(kind=wp), dimension(size(p))

Interpolation result y(p)

public pure function interpolate_point_matrix_re(x, y, p) result(r)

Perform a Piecewise Cubic Hermitian Interpolation of a matrix function using Catmull-Rom splines.

Arguments

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

Variable x

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

Function y(x)

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

Interpolation point p

Return Value real(kind=wp), dimension(size(y,1),size(y,2))

Interpolation result y(p)