Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aaqo_v1_0.gz(11 Kbytes)
Manuscript Title: Spline interpolation and smoothing of data.
Authors: R.E. Cutkosky, C. Pomponiu
Program title: SPLINESMOOTH
Catalogue identifier: AAQO_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 23(1981)287
Programming language: Fortran.
Computer: DEC VAX 11/780.
Operating system: VAX/VMS.
RAM: 33K words
Word size: 32
Peripherals: disc.
Keywords: General purpose, Interpolation, Approximation, Smoothing, Splines, Chi-square-fit, Orthogonalization, Constrained optimization.
Classification: 4.10.

Nature of problem:
In many branches of physics, a recurrent problem is that of smoothing a set of experimental data, measured at a sequence of values of some independent variable. This is done as a first step towards interpolating, integrating, differentiating, or otherwise transforming the function represented by the data. Sometimes a suitable family of theoretically motivated functions can be used to fit the data; in other more general cases, it is convenient to use functions which have a general character. We present here a method which uses spline functions for smoothing a given set of data. The use of splines is suggested by the well-known utility of these functions for interpolating data given without error, but in the presence of errors different techniques for their construction are required in order to preserve statistical and numerical stability.

Solution method:
A sequence of expansion functions is generated by applying the spline kernel to "seed functions". A stiffness parameter determines the truncation of the expansion (and also enters into their recurrence relations). The value of the stiffness parameter can be assigned on an a prior basis, or it can be adjusted in accordance with the maximum- likelihood principle.

The data depend on only one independent variable, and are assumed to have uncorrelated errors.

Unusual features:
For each new stiffness value, the corresponding orthonormal basis is constructed by rotating the previous one, thus saving time while preserving accuracy.

Running time:
With 100 data points and 18 vectors, the running time was 13 s for one pass, and 0.5 s for each subsequent iteration.