LinearSolve.jl
LinearSolve.jl copied to clipboard
LinearSolve.jl: High-Performance Unified Interface for Linear Solvers in Julia. Easily switch between factorization and Krylov methods, add preconditioners, and all in one interface.
Let's see if this solves our problem. It simplifies things, and reaches into internal functions less. I'll investigate UMFPACK as well, I don't remember why we're reaching so deep into...
https://github.com/hypre-space/hypre In particular, [BoomerAMG](https://hypre.readthedocs.io/en/latest/solvers-boomeramg.html) only needs a general sparse matrix, without extra physical knowledge.
I saw in the [docs](https://linearsolve.sciml.ai/stable/) that "the current algorithms should support automatic differentiation," and played around with it a bit. My ultimate goal is to get a Hessian-vector product working...
https://github.com/exanauts/CUSOLVERRF.jl
```julia julia> using LinearSolve, LinearAlgebra; A=rand(4,4); b=rand(4); sol=solve(LinearProblem(A,b),KrylovJL_GMRES()); norm(A*sol.u - b) 2.546262077003306e-15 julia> sol.resid 4 ```
https://github.com/JuliaSmoothOptimizers/HSL.jl
instead of src/preconditioners.jl, use https://github.com/SciML/SciMLOperators.jl
If you're reusing a LinearCache to solve a slightly perturbed system, it would be useful to do a low-rank update on `cacheval` instead of recomputing the factorization? something like a...