I came across a few oddities while trying to optimize a function using Levenberg-Marquadt algorithm in Scipy. I was wondering if anyone had an explanation for them.
A. I have an objective function that accepts two parameters with 2 residuals. As far as I understand, LM for scipy root using sum(residual^2) and least_squares should be the same. However, least_squares returns an optimized value while root fails. Are the implementations for the two functions different?
B. When I optimize the function using least_squares, the second parameter does not change from its initial value. Why does this happen?
Thank you for your help!