Computer Programs
NESC9917 PCHIP.
last modified: 20-MAY-1985 | catalog | categories | new | search |

NESC9917 PCHIP.

PCHIP, Piecewise Cubic Hermite Data Interpolation

top ]
1. NAME OR DESIGNATION OF PROGRAM:  PCHIP.
top ]
2. COMPUTERS

To submit a request, click below on the link of the version you wish to order. Rules for end-users are available here.

Program name Package id Status Status date
PCHIP NESC9917/01 Tested 20-MAY-1985

Machines used:

Package ID Orig. computer Test computer
NESC9917/01 CDC 7600 CDC CYBER 740
top ]
3. DESCRIPTION OF PROGRAM OR FUNCTION

PCHIP (Piecewise Cubic Interpolation Package) is a set of subroutines for piecewise cubic Hermite interpolation of data. It features software to produce a monotone and "visually pleasing" interpolant to monotone data. Such  an interpolant may be more reasonable than a cubic spline if the data contain both 'steep' and 'flat' sections. Interpolation of cumulative probability distribution functions is another application. In PCHIP, all piecewise cubic functions are represented in cubic Hermite form; that is, f(x) is determined by its values f(i) and derivatives d(i) at the breakpoints x(i), i=1(1)N. PCHIP contains three routines - PCHIM, PCHIC, and PCHSP to determine derivative values, six routines - CHFEV, PCHFE, CHFDV, PCHFD, PCHID, and PCHIA to evaluate, differentiate, or integrate the resulting cubic Hermite function, and one routine to check for monotonicity. A FORTRAN 77 version and SLATEC version of PCHIP are included.
top ]
4. METHOD OF SOLUTION:
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM:
top ]
6. TYPICAL RUNNING TIME:
NESC9917/01
NEA-DB executed the test case included in the package on CDC CYBER 740 in 5.3 seconds of CPU time.
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

The IF-THEN-ELSE construct is the  only 'advanced' FORTRAN feature used. The SLATEC version differs from the FORTRAN 77 version in only two respects: the preambles have been modified to the SLATEC1.0 (NESC Abstract 820) standard form, and the routines contain calls to the SLATEC1.0 error handler XERROR (NESC Abstract 988).
top ]
8. RELATED AND AUXILIARY PROGRAMS:
top ]
9. STATUS
Package ID Status date Status
NESC9917/01 20-MAY-1985 Tested at NEADB
top ]
10. REFERENCES

- R.E. Carlson and F.N. Fritsch,
  Piecewise Cubic Hermite Interpolation Package,
  UCRL-87285 Preprint, July 1982.
- F.N. Fritsch and J. Butland,
  A Method for Constructing Local Monotone Piecewise Cubic
  Interpolants,
  UCRL-87559 Preprint, April 23, 1982.
- F.N. Fritsch,
  PCHIP Final Specifications,
  UCID-30194, August 1982.
- F.N. Fritsch and R.E. Carlson,
  Monotone Piecewise Cubic Interpolation,
  SIAM Journal of Numerical Analysis, Vol. 17, No. 2, pp. 238-246,
  April 1980.
- Carl deBoor,
  A Practical Guide to splines,
  Springer-Verlag, New York, 1978.
NESC9917/01, included references:
- R.E. Carlson and F.N. Fritsch:
  Piecewise Cubic Hermite Interpolation Package.
  UCRL-87285 Preprint  (July 1982)
- F.N. Fritsch and J. Butland:
  A Method for Constructing Local Monotone Piecewise Cubic
  Interpolants.    UCRL-87559 Preprint  (April 23, 1982)
- F.N. Fritsch:
  PCHIP Final Specifications.   UCID-30194  (August 1982)
top ]
11. MACHINE REQUIREMENTS:
NESC9917/01
The test case ran on CDC CYBER 740 in 64,100 words (octal) of CDC CYBER 740 main storage.
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC9917/01 FORTRAN-77
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED:
NESC9917/01
The test case was run on CDC CYBER 740 under NOS 1.4- 531.
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS:
top ]
15. NAME AND ESTABLISHMENT OF AUTHORS

      F.N. Fritsch
      Lawrence Livermore National Laboratory
      P.O. Box 808
      Livermore, California 94550
top ]
16. MATERIAL AVAILABLE
NESC9917/01
File name File description Records
NESC9917_01.003 INFORMATION FILE 49
NESC9917_01.004 JOB CONTROL INFORMATION 14
NESC9917_01.005 PCHIP SOURCE PROGRAM (FORTRAN 77) 3705
NESC9917_01.006 PCHIP SOURCE PROGRAM IN SLATEC LIB FORM 3894
NESC9917_01.007 DRIVER SAMPLE PROBLEM 1127
NESC9917_01.008 AUXILIARY ROUTINES 353
NESC9917_01.009 PCHIP TEST CASE INPUT DATA 1
NESC9917_01.010 DOCUMENTATION IN UPPER CASE 1118
NESC9917_01.011 DOCUMENTATION IN UPPER AND LOWER CASE 1118
NESC9917_01.012 PCHIP TEST CASE PRINTED OUTPUT 816
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: algorithms, interpolation, spline functions.