Improving non-linear fits
  In this notes we describe an algorithm for non-linear fitting which incorporates some of the features of linear least squares into a general minimum $\chi^2$ fit and provide a pure Python implementation of the algorithm. It consists of the variable projection method (varpro), combined with a Newton optimizer and stabilized using the steepest descent with an adaptative step. The algorithm includes a term to account for Bayesian priors. We performed tests of the algorithm using simulated data. This method is suitable, for example, for fitting with sums of exponentials as often needed in Lattice Quantum Chromodynamics. 
Massimo Di Pierro
cs.NA hep-lat