scipy.linalg.solve, in its newer versions, has a parameter assume_a that can be used to specify that the matrix $A$ is symmetric or positive definite; in these cases, LDL or Cholesky are used rather than LU (Lapack's sysv and posv rather than gesv).
Is there a similar interface for sparse solvers? As far as I understand, scipy.sparse.linalg.spsolve does not support assume_a and always uses LU. What is the recommended way to use a symmetric sparse direct solver in Scipy, then (if there is any at all)?
I have seen that there is also sksparse.cholmod, but it is a separate package with a different interface, and from the documentation it looks like it does not handle indefinite matrices at all.
sksparse.cholmod.cholesky( A, beta=1e-6 )does $A + 10^{-6} I \to L L'$. Is that what you want ? – denis Jan 12 '20 at 18:03scipyrather than in another package, but that may be asking too much. :) – Federico Poloni Jan 12 '20 at 18:10