Comments (10)
I think I did matrix that way to keep it compatible with pyminuit which I don't think it's a good reason anymore though...
from iminuit.
@piti118 How would you like to handle this?
I think my preference would be to be explicit as written above and to either remove directly or deprecate matrix
and print_matrix
. If we do e.g. #124 we could bump the iminuit version number to 2.0 and backwards-incompatible API changes might be OK?
(I plan to work on iminuit
in the coming weeks ... reading the Minuit papers and Cython code at the moment ... )
from iminuit.
@piti118 At #86 (comment) you said it might be OK to break pyminuit compatibility to clean this up two years ago, but then I didn't make the change. Now in #153 (comment) you said it's better not to break compatibility.
What's your decision on this?
(I'm +1 to break compatibility.)
The two options are:
- Implement these improvements / cleanups now and break compatibility a little, call the next release 2.0.
- Keep compatibility for now and label this issue 2.0 which might happen at some point in the future.
from iminuit.
Hahahahahaha. I disagree with my younger self.
If this function ever got in the way of making change, then we will remove it. But right now, it doesn't get in the way of anything. So we could just mark it deprecated and keep it as is.
from iminuit.
Oh, it does get in the way..... so let's get rid of it.
from iminuit.
I disagree with my younger self.
It's normal to get more conservative as time goes by. 😄
from iminuit.
I think we can change print_matrix() to show the covariance matrix without breaking any user code. Then it would be consistent with matrix(). This seems like the simplest solution. Any objections?
from iminuit.
OK to change the print if this gives more consistency.
from iminuit.
I gave this more thought: maybe we should live with the inconsistency and keep things the way they are. When you do "print_matrix()", you most likely want to see the correlation. The correlation is easy to mentally process, the covariance matrix is not easy to understand. The covariance matrix is useful when you do further calculations (error propagation), you don't want to print in an interactive session.
from iminuit.
ok
from iminuit.
Related Issues (20)
- 7 tests fail HOT 1
- Tests fail without ipywidgets HOT 3
- `_safe_log` is not safe HOT 5
- iminuit hangs when trying to visualize step function HOT 1
- Better documentation for errordef HOT 1
- 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
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.