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 ({y_i}_{i=0}^n) that is located on an equidistant grid of nodes ({x_i}_{i=0}^n), see grid_Cons_Equi. It therefore calculates the indices of a left and right gridpoints (i_l) and (i_r) as well as an interpolation weight (varphi), so that we can calculate the linear interpolant as
$$
y = varphicdot y_{i_l} + (1-varphi) cdot y_{i_r}.
$$

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 ({x_i}_{i=0}^n).
  • real*8 :: right
    The right interval endpoint of the equidistant grid ({x_i}_{i=0}^n).
  • 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) (i_l). 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) (i_r). 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) (phi). 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