-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
Merge generalized linear algebra routines into numpy.linalg #3217
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
Labels
Comments
This was referenced Apr 10, 2013
The unused gufuncs were removed in gh-3880. They can be added back with additional review and testing. |
Steps 4, 5, 6, 7 above are not yet done. The open questions are still open. |
This was referenced May 21, 2015
Let me ping @eric-wieser, who has certainly done some of these steps. |
We have taken this as far as we can for now. I will close it, please open new issues/PRs for anythin that is still relevant. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
The features in gh-2954 should be brought into numpy.linalg.
A suggested plan for action:
_gufunc_linalg.py
into numpy.linalg (keep eye on Scipy function signatures, if applicable)Open questions:
A. Error handling. Raising LinAlgErrors is not necessarily the right thing to do especially in the stacked case, so this should be made user controllable.
B. The numpy.linalg routines compute results for single-precision by using double precision internally. This should perhaps be made tunable?
C. Which of the generalized ufunc arguments should be exposed in the numpy.linalg API?
D. The umath_linalg error handling goes through by mis-using the invalid FP flag. Should ufunc error handling be extended here? (scipy.special would also have an use case)
Possible solutions to questions:
A. Add keyword argument
raise_errors
to all functions (inv
,solve
,eig
, ...) that used to raise a LinAlgError on LAPACK errors. Perhaps also add global state, e.g.np.linalg.seterr
for tuning the default value --- however, global state here may have unexpected effects in 3rd party libraries.B. Changing the default can cause changes in results, and may make some algorithms not converge?
C. Dtype, perhaps, and maybe also axis control arguments?
The text was updated successfully, but these errors were encountered: