Levenberg-Marquardt fits arbitrary functions to data by Chi-Sqr minimazation. Taken from GNU licensed http://www.idiom.com/~zilla/Computer/Javanumeric/LM.java. Uses JAMA java matrix package, hacked to exist in same package. http://math.nist.gov/javanumerics/jama/ This is also GNU. CurveFit was an attempt to implement Marquardt by porting Fortran code from Bevington ("Data Reduction and Error Analysis...") to java. It does not appear to work.