-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Add RowNonZero pivoting strategy to lu
#44571
Conversation
@ChrisRackauckas Can you help me ping potentially interested people, please? I assume people from the symbolic computation community. Or is that handled elsewhere anyway? |
We don't really do this in Symbolics. We pivot by the least complicated term. |
I believe this is in principle uncontroversial, but perhaps we should bikeshed on the name of the pivot strategy? And perhaps we should announce it in NEWS? |
What do other software packages use as a name for this pivoting strategy? Do we have it in LAPACK or SuiteSparse? |
I don't have a view on the name. Perhaps worth checking with @stevengj and @andreasnoack. Seems like it should be mentioned in the documentation. I'm adding the |
You would never use this as a pivoting strategy with floating-point values, except as a teaching tool (it matches the typical strategy for hand computations), because it is numerically unstable — so you won't see this in libraries like LAPACK, SuiteSparse, numpy etc. But it makes sense to have it available for more generic number-like types (as well as for pedagogy). The name seems fine to me. |
I'd like to request a review of 579ba89, which adds docs and NEWS. Once this is appropriate and polished, this PR can be finally merged. |
Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu>
Thank you very much @stevengj! |
lu
lu
See https://discourse.julialang.org/t/from-toy-to-production-code-with-sparse-matrix-and-sparse-direct-factorizations/89105/13 + follow-ups for potential interests |
This implements another pivoting strategy, and allows to specify a pivoting strategy other than the default
RowMaximum
depending on theeltype
.Comments welcome regarding the naming.
This closes JuliaLang/LinearAlgebra.jl#431 and closes #22232.