Skip to content

linint_Equi

Fabian Kindermann edited this page Apr 2, 2021 · 10 revisions
subroutine linint_Equi(x, left, right, n, il, ir, phi)

Description:

This subroutine calculates nodes and weights for the linear interpolation of data that is located on an equidistant grid of nodes , see grid_Cons_Equi. It therefore calculates the indices of a left and right gridpoints and as well as an interpolation weight , so that we can calculate the linear interpolant as

Input arguments:

  • real*8 :: x    or    real*8 :: x(:)
    The point(s) where to evaluate the interpolating polynomial. This can be either a scalar or a one-dimensional array of arbitrary size. In the latter case, the polynomial is evaluated at each point supplied in the array x.
  • real*8 :: left
    The left interval endpoint of the equidistant grid .
  • real*8 :: right
    The right interval endpoint of the equidistant grid .
  • integer :: n
    The number of gridpoints the equidistant grid is made up of.

Output arguments:

  • integer :: il    or    integer :: il(:)
    The left interpolation node(s) . If the input value x is a scalar, this needs to be a scalar. If x is a one-dimensional array, this also needs to be a one-dimensional array with exactly the same length.
  • integer :: ir    or    integer :: ir(:)
    The right interpolation node(s) . If the input value x is a scalar, this needs to be a scalar. If x is a one-dimensional array, this also needs to be a one-dimensional array with exactly the same length.
  • real*8 :: phi    or    real*8 :: phi(:)
    The interpolation weight(s) . If the input value x is a scalar, this needs to be a scalar. If x is a one-dimensional array, this also needs to be a one-dimensional array with exactly the same length.

References

  • For further reading refer to:
    • Süli, E. & Mayers, D. F. (2003). An Introduction to Numerical Analysis. Cambridge: Cambridge University Press.
    • Powell, M.J.D. (1996). Approximation Theory and Methods. Cambridge: Cambridge University Press.
  • This routine is used in the following programs:
    • prog02_18.f90
    • prog02_19.f90
    • prog10_04.f90
Clone this wiki locally