Routine ID: E211 | |
---|---|
Author(s): K.S. Kölbig, H. Lipps | Library: MATHLIB |
Submitter: K.S. Kölbig | Submitted: 01.05.1990 |
Language: Fortran | Revised: |
Subroutines RCSPLN and DCSPLN compute a (vector-valued) cubic spline function which interpolates between a given set of points. Entries RCSPNT and DCSPNT compute the first and second integral over .
On computers other than CDC or Cray, only the double-precision versions DCSPLN and DCSPNT are available. On CDC and Cray computers, only the single-precision versions RCSPLN and RCSPNT are available.
Given an interval , a subdivision of this interval into
subintervals
and n+1 function values on the n+1 abscissae (called `knots') ( ), RCSPLN and DCSPLN compute a function of class , defined on , which assumes the given value at the knot (i.e. ), and which, when restricted to the ith sub-interval is identical with a set of m polynomials , each of degree at most 3. Any function which satisfies the above two conditions is called a `cubic spline' through the n + 1 points . To define the spline function uniquely the subroutines impose an additional boundary condition, specified by their MODE parameter:
Structure:
SUBROUTINE subprograms
User Entry Names: RCSPLN, RCSPNT, DCSPLN,
DCSPNT
Files referenced: Unit 6
Usage:
For
(type REAL),
(type
DOUBLE PRECISION),
Spline: | CALL tCSPLN(N,X,M,Y,NDIM,MODE,A,B,C,D) |
Integrals: | CALL tCSPNT(N,X,M,Y,NDIM,MODE,A,B,C,D) |
that determines the jth component
of the spline in the ith
subinterval
,
,
.
On return from RCSPNT,
A(i,j) =
and
B(i,j) =
,
with
.
Arrays C and D have been used as working space.
Restrictions:
, , , or 1.
Error handling:
Error E211.1:
.
Error E211.2:
.
Error E211.3:
.
Error E211.4:
and
.
A message is written on Unit 6, unless subroutine MTLSET
(N002) has been called.
K.S. Kölbig