In 1978 Golub and LeVeque considered an exponential fitting
problem with multiple datasets where the nonlinear variables, e.g., the decay
rates, had to hold for all the datasets simultaneously, but the linear variables,
e.g., the pre-exponentials, could vary from one dataset to the next. They
showed that with the variable projection technique, one could reduce the problem
to only the nonlinear variables. Golub and LeVeque also showed that the
main matrix of the algorithm was block diagonal with the same matrix down
the diagonal. This allowed them to compute a solution while storing only the
main matrix associated with a single dataset, so that the memory requirements
of the problem are independent of the number of datasets. Since then, papers
using this observation have appeared in the biophysics literature, in the systems
identification literature, in the medical literature for studying disease of
the retina, in the spectroscopy literature, and in the numerical analysis literature
for determining the knots in a 2 dimensional spline problem. In 2007
the TIMP package was created in the statistical language R by Mullen and
van Stokkum to handle spectroscopy problems which might have as many as
1000 datasets. The TIMP package, which handles several models, uses finite
differences to approximate derivatives. In this paper we show that by using
a tensor product of orthogonal matrices, the number of rows for the Jacobian
for the multiple dataset problem can be significantly reduced.
Keywords: Separable nonlinear least squares; multiple data sets; variable projections