Skip to content

linint_Equi

Fabian Kindermann edited this page Apr 1, 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 :: leftThe left interval endpoint of the equidistant grid .
  • real*8 :: rightThe right interval endpoint of the equidistant grid .
  • integer :: nThe 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