-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Complex fixes #163
base: master
Are you sure you want to change the base?
Complex fixes #163
Conversation
Thanks, I will try to look at this but I have been very busy lately unfortunately. |
This week is quite busy, but I promise to get back to you. Maybe @antoine-levitt has some comments in the mean time? |
I'm not familiar with the algorithm so I just left trivial style comments. Generally treating the complex optimization problem as real/imag is a good idea (sometimes it's unnecessary, but it's always a good fallback choice) |
3c05657
to
ac17672
Compare
ac17672
to
609ac95
Compare
The proposed changes aim to repair a few issues with
levenberg_marquardt()
:At present, it allows complex nonlinear variables. However, squared norm is not analytic, and optimizing it requires taking partial derivatives with respect to both
z
andconj(z)
. Best not to confuse users and simply disallow complex variables, recommending instead to treat them as pairs of real and imaginary parts.It does not handle complex-valued Jacobian correctly
Computation of LM step involves forming normal equations, which squares the condition number.