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] abmk_v1_0.gz(18 Kbytes)
Manuscript Title: A least-squares spectral curve fitting routine for strongly overlapping lorentzians or gaussians.
Authors: E.D. von Meerwall
Program title: LGFIT2
Catalogue identifier: ABMK_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 9(1975)117
Programming language: Fortran.
Computer: IBM 370/155.
Operating system: OS/MVT.
RAM: 34K words
Word size: 32
Peripherals: graph plotter.
Keywords: Nuclear physics, General purpose, Gamma ray, Fit, Resonance, Least squares fit, Non-linear, Variable metric, Iteractive solution, Constraint, General experiment.
Classification: 4.9, 17.4.

Nature of problem:
A program is described for fitting a background level plus or minus the sum of a number of lorentzian or gaussian lineshapes to experimental spectra, honoring linear constraints between arbitrary pairs of parameters.

Solution method:
A non-linear variable metric minimization technique is used iteratively to optimize the parameters of the theoretical function by minimizing chi squared for the spectral data.

Present dimensions of the program permit a maximum number of 512 spectral data points and a maximum of 49 adjustable parameters (16 peaks and background). These limits may be changed by redimensioning, and altering several preliminary check statements.

Unusual features:
The program is intended to give general fitting capabilities for resonance spectroscopy of various kinds, particularly Mossbauer, nuclear gamma ray, and nuclear magnetic resonance spectroscopy. Therefore, several unorthodox features have been implemented. 1. The program accepts spectral data of the general form (xi,yi,wi) where xi may be unequally spaced, and w is the weight of the data point; wi = (delta yi)**-2, for example. For multichannel counting spectra, input of x and w may be suppressed. A desired number of points contributing most to chi squared may be dropped (w->0) after the first fitting cycle. 2. Linear constraints between pairs of parameters to the optimized may be implemented, and released after a selected number of fitting cycles. 3. The spectral preprocessor may be instructed to integrate the (derivative) spectrum prior to the fit, e.g., for wide-line NMR use. Suitable background adjustment may be selected from several options. For Mossbauer effect use, the data may be corrected for parabolic baseline curvature.

Running time:
On the IBM 370/155 at The University of Akron, the program compiles in about 20 CPU s. A fit of less than ten parameters to a 60-point spectrum, with plotting, takes about 6 s. A fit of 13 lorentzian lines (40 parameters) with 17 constraints, to 256 points, testing the optimal fit by refitting after each of three random parameter displacements, and plotting output on the line printer and the Calcomp plotter, took 80 s CPU time.