# Global fitting with shared parameters

## Homework Statement

Hi
I'm looking for an algorithm that can perform a fitting procedure on many curves simultaneously. Lets say, for example, that I have 3 exponential decay curves with 3 different decay times but they all share the same initial amplitude. So I have to find a fit for 4 parameters (in reality I'm dealing with much more complicated systems).

## Homework Equations

Levenberg-Marquardt:
$$\delta a = \frac{1}{\bold{J}^T\bold{J}+\lambda \bold{diag}(\bold{J}^T\bold{J})} \bold{J}^T \boldsymbol{\chi}$$
with the Jacobian
$$J_{ij} = \frac{\partial f(x_{i};\bold a)}{\partial a_{j}}$$
where f is the fitting function, x are datapoints and a are the parameters to be fitted.
$$\boldsymbol{\chi}$$ is defined as
$$\chi_i = \frac{y_i - f(x_{i};\bold a)}{\sigma_i}$$

## The Attempt at a Solution

So far I've been using the Levenberg-Marquardt algorithm to find fits for single curves. But how to implement global curve fitting when some of the parameters are shared?

I guess a straightforward approach would be to construct a global function that takes the whole data set (constructed from all the curves) as argument. For example, if a single curve consists of 10 000 data points and I'm fitting for 5 parameters, I would need to build Jacobian with dimensions 10 000 x 5 for single-curve-fitting. Now assume I have 10 curves with 2 of those 5 parameters shared. Then I would need a 100 000 x 32 Jacobian which is pretty massive.

My question is this. Are there any algorithms especially designed for multi-curve-fitting or do I have to use the usual single-curve-fitting techniques with a few modifications?
I hope anyone has had experience in that area.