I tried the version in the link above. It wasn't as robust as the
lmfit.c version. When starting out the sum of squared errors can be
very big and cause floaiting point overflow problems. This occured in
our application when there are 2000+ data points. lmfit.c didn't
have this problem as it had extra code to check the size of the
squared error and kept a couple accumulators to keep them from over
flowing. Finding this problem is how I learned what the algorithm was
doing. I recommend
The code is ugly c code converted from fortran but it works well and
is easy to implement. If there are other versions that work equally
well then it would be good to hear. This post has saved the world
100s if not 1000s of man hours debugging code.
I don't recommend writing this from scratch if you don't have too.
One's numerical methods and programming techniques better be good.
That is why a bypassed suggesting the books and directed Tom directly
to the code.