-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Description
SuperLU is the workhorse for sparse linear solves in scipy. Currently, we vendor a copy of the superLU source and apply a few patches. Ideally, we would be able to just use your code as a submodule (or subproject so that a system installed version of superLU can be used) so that we can update without recreating the patch file etc (see discussion at scipy) . Therefore I would like to ask if our patches are of interest to you. The full patch file can be found here. SciPy is currently at commit 18958c3.
From what I understand, our patches are mostly about avoiding crashes in BLAS function for singular matrices. An example is the following:
--- a/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cpanel_bmod.c
+++ b/scipy/sparse/linalg/_dsolve/SuperLU/SRC/cpanel_bmod.c
@@ -428,6 +428,12 @@ cpanel_bmod (
CTRSV( ftcs1, ftcs2, ftcs3, &segsze, &lusup[luptr],
&nsupr, tempv, &incx );
#else
+#if SCIPY_FIX
+ if (nsupr < segsze) {
+ /* Fail early rather than passing in invalid parameters to TRSV. */
+ ABORT("failed to factorize matrix");
+ }
+#endif
Would you accept a PR that applies such patches to SuperLU directly?
Metadata
Metadata
Assignees
Labels
No labels