-
Notifications
You must be signed in to change notification settings - Fork 45
Add needs_bounds and supports_infinite_bounds fields in algo info #610
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
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Codecov ReportAttention: Patch coverage is
🚀 New features to boost your workflow:
|
About iminuit_migrad you wrote:
For optimagic users we only want |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. Looks really good. I have a few questions we can discuss during our next call.
Hi @janosg , I have made the suggested changes. Can you tell me if I'm missing anything? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is ready to go. Thanks a lot for this great PR!
PR Description
This PR references issue #597.
Currently, there is no easy way to find out if an algorithm requires bounds. Not all algorithms that support supports bounds also requires them.
Proposed Solution:
Add a
needs_bounds
andsupports_infinite_bounds
field analogus to suuports_bounds in the mark.minimizer decorator.Optional: Strict checking of needs_bounds and supports_infinite_bounds fields in optimize.py.
This requires a new exception for error handling, namely:
IncompleteBoundsError
if bounds are required but not provided or if infinite value is encountered in parameter bounds.This table lists values for each optimizer that supports bounds.
Show Table
For optimizers that do not support bounds, these additional fields will be set to False.
Todo
Closes #597