m_splines/intrpl [ Functions ]

DOUBLE PRECISION INTERPOLATION OF A SINGLE VALUED FUNCTION.
THIS SUBROUTINE INTERPOLATES, FROM VALUES OF THE FUNCTION
GIVEN AS ORDINATES OF INPUT DATA POINTS IN AN X-Y PLANE
AND FOR A GIVEN SET OF X VALUES(ABSCISSAE),THE VALUES OF
A SINGLE VALUED FUNCTION Y=Y(X).
THE SUBROUTINE ALSO CALCULATES FIRST DERIVATIVES DV(X) AND
SECOND DERIVATIVE DV2(X)
THE INPUT PARAMETERS ARE;
L=NUMBER OF DATA POINTS
(MUST BE TWO OR GREATER)
X=ARRAY OF DIMENSION L STORING THE X VALUES
OF INPUT DATA POINTS (IN ASCENDING ORDER)
Y=ARRAY OF DIMENSION L STORING THE Y VALUES OF INPUT DATA POINTS
N=NUMBER OF POINTS AT WHICH INTERPOLATION OF THE Y-VALUES
IS REQUIRED (MUST BE 1 OR GREATER)
U=ARRAY OF DIMENSION N STORING THE X VALUES
OF THE DESIRED POINTS
THE OUTPUT PARAMETER IS V=ARRAY OF DIMENSION N WHERE THE
INTERPOLATED Y VALUES ARE TO BE DISPLAYED

INPUTS

CUBIC SPLINE INTERPOLATION

OUTPUT

NOTES

This routine is deprecated and will be replaced by the other routines of this module.

m_splines/splfit [ Functions ]

Evaluate cubic spline fit to get function values on input set
of ORDERED, UNFORMLY SPACED points.
Optionally gives derivatives (first and second) at those points too.
If point lies outside the range of arg, assign the extremal
point values to these points, and zero derivative.

INPUTS

arg(numarg)=equally spaced arguments (spacing delarg) for data
to which spline was fit.
fun(numarg,2)=function values to which spline was fit and spline
fit to second derivatives (from Numerical Recipes spline).
ider= see above
newarg(numnew)=new values of arguments at which function is desired.
numarg=number of arguments at which spline was fit.
numnew=number of arguments at which function values are desired.

OUTPUT

derfun(numnew)=(optional) values of first or second derivative of function.
This is only computed for ider=1 or 2; otherwise derfun not used.
newfun(numnew)=values of function at newarg(numnew).
This is only computed for ider=0 or 1.

NOTES

if ider=0, compute only the function (contained in fun)
if ider=1, compute the function (contained in fun) and its first derivative (in derfun)
if ider=2, compute only the second derivative of the function (in derfun)

m_splines/spline [ Functions ]

SPLINE (originally SPLINE_CUBIC_SET) computes the second derivatives
of a cubic spline.

INPUTS

Input, integer N, the number of data points; N must be at least 2.
In the special case where N = 2 and IBCBEG = IBCEND = 0, the
spline will actually be linear.
Input, double precision T(N), the knot values, that is, the points where data
is specified. The knot values should be distinct, and increasing.
Input, double precision Y(N), the data values to be interpolated.
Input, double precision YBCBEG, YBCEND, the values to be used in the boundary
conditions if IBCBEG or IBCEND is equal to 1 or 2.

OUTPUT

Output, double precision YPP(N), the second derivatives of the cubic spline.
Work space, double precision DIAG(N) - should be removed ...

m_splines/spline_c [ Functions ]

nomega_lo = number of point in the non regular grid (e.g. !logarithmic)
nomega_li = number of point in the regular grid on which the spline is computed
omega_lo = value of freq on the 1st grid
omega_li = value of freq on the 2nd grid
tospline_lo = function on the 1st grid

m_splines/spline_complex [ Functions ]

spline_complex interfaces the usual spline routine in a case of a
complex function

INPUTS

Input, integer N, the number of data points; N must be at least 2.
In the special case where N = 2 and IBCBEG = IBCEND = 0, the
spline will actually be linear.
Input, double precision T(N), the knot values, that is, the points where data
is specified. The knot values should be distinct, and increasing.
Input, complex Y(N), the data values to be interpolated.
Input, complex YBCBEG, YBCEND, the values to be used in the boundary
conditions if IBCBEG or IBCEND is equal to 1 or 2.

m_splines/spline_integrate [ Functions ]

Copyright (C) 2010-2018 ABINIT Group (Yann Pouillon)
This file is distributed under the terms of the
GNU General Public License, see ~abinit/COPYING
or http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see
~abinit/doc/developers/contributors.txt .