Tried a second implementation of LMA:

This implementation can be found at:
http://scribblethink.org/Computer/Javanumeric/index.html
The result is the same as before. The algorithm can't invert the matrix
because it is singular.
As this implementation is inspired by the one i tried before, the result
is not surprising.
Merge remote-tracking branch 'origin/LMA' into LMA