-
Notifications
You must be signed in to change notification settings - Fork 909
Enhanced Levenberg-Marquardt Algorithm with Residual Function Support #1116
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
base: master
Are you sure you want to change the base?
Conversation
…r reflect its purpose in modeling optimization problems
…elated interfaces
- Add configurable accuracy with orders 1-6 for both model and residual functions - Use NumericalJacobian class for more reliable derivative approximation
…objective function
- TStatistics and PValues for parameter significance testing - ConfidenceIntervalHalfWidths for parameter precision - Dependencies to measure parameter correlations - Goodness-of-fit statistics
Lastly, I've added a new Ready for review and merge. |
I've just added the Please review and merge when ready. Thank you! |
In the meantime, I found a critical bug in the Trust Region optimization implementation. The subproblem solvers were using unscaled gradient and Hessian values directly from the IObjectiveModel, while they should have been using the scaled values that NonlinearMinimizerBase.EvaluateJacobian produces. The last commit fixes this issue by modifying the ITrustRegionSubproblem interface to accept the correctly scaled gradient and Hessian as parameters. |
Summary of Key Changes
|
Hi @diluculo, Please could this bit be pulled out to a separate PR for now?
|
Hi @febkor Thanks for your review. You're right, this PR contains several independent changes that should be separated. I've split it into 3 separate PRs:
I initially planned to separate Edit:
Hi @cdrnet, All PRs are now ready for review. |
Regarding the failing test in AppVeyor: This is unrelated to the Levenberg-Marquardt enhancements - it's a floating-point precision issue in the statistics tests for .NET 8.0 (off by ~1.03E-09). |
Hi @febkor Here is the mathematical background document I've prepared to explain the residual function support. It illustrates the relationship between the objective function (χ²) and the residual vector (R). I hope this helps in understanding the purpose and implementation of this PR. |
This PR implements:
NonlinearMinimizationResult
NumericalJacobian
classCloses #1114