Comments (8)
I have a guess why that is. There is an internal and external variable inside minuit. Some function takes internal and some take external... I think I have screwed it up somewhere.
from iminuit.
Upon investigation, Minuit does not really support one-sided limit. When a parameter is constructed, it's either unbounded or bounded. The minimization algorithm only works for unbounded one. So the trick is to transform unbounded one bounded one is transformed to unbounded one with arctan or something similar which needs the bound both sides.
The current behavior is just plain wrong since the parameter is constructed as unbounded and bound is put in later so there will be no transformation there.
Some note on one-sided there.
One sided limits: It is common that one needs to restrict a particular parameter only on one side---for example, to be non-negative. If the user decides to set limits, in this case there is a temptation to set the upper limit to some very large number. This is sure to cause major problems (see the manual). It would be better to set the limits so that the location of the minimum is roughly midway between the lower and upper limit. But limits should only be used when they are really needed---if Minuit does not drift into the parameter's illegal region, no limit is needed for that parameter.
see more:http://www-cdf.fnal.gov/physics/statistics/recommendations/minuit.html
from iminuit.
I'll revert back to the old behavior then. Sorry no one sided limit. :(
from iminuit.
Oh well. Sorry for suggesting one sided limits, thought it would be trivial!
from iminuit.
I thought that too. But this really need to be fixed.
from iminuit.
Limits and one sided limit should be working properly in 1.1.0
from iminuit.
Can this issue be closed?
With the current iminuit
version I get this: http://nbviewer.ipython.org/gist/cdeil/45b0e71159abcdf2541f
@piti118 Would it be useful to add this example as a test case or is this already covered by other tests?
from iminuit.
Closing this issue ... let me know if there's something left to do and we can re-open (or file a new one).
from iminuit.
Related Issues (20)
- Add citation information to Software Citation Station? HOT 1
- Strange pickling error HOT 3
- Deployment of iminuit 2.26 on conda HOT 1
- Pass `ncall` and `iterate` in methods that build profile likelihoods HOT 29
- arm64 test failure in test_without_numba HOT 2
- test_minimize.py fails two tests HOT 2
- CostSum support for cost functions accepting a parameter array HOT 5
- Error when calling mnprofile with NumPy >= 1.24 HOT 2
- Misleading documentation for iminuit.util.make_with_signature() HOT 1
- Python 3.12 support HOT 7
- Specifying relationships between fit parameters HOT 1
- Crash in visualization HOT 4
- Bundled root version uses the imp module (removed with Python 3.12) HOT 1
- cost.LeastSquares fails with data with more than 2 dimensions HOT 1
- 1 test fails: pytest.PytestDeprecationWarning: <class 'pytest_black.BlackItem'> is not using a cooperative constructor and only takes {'parent', 'fspath'}. HOT 1
- Build fails with LTO HOT 12
- Update to trusted publisher releases HOT 1
- Support keyword-only cost functions
- Feature Request: mix arguments of different-sized arrays (& floats)? HOT 6
- Error: IMinuitWarning: MIGRAD fails to converge HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iminuit.