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.
in default alg branch on ```julia if SciMLBase.has_ldiv!(A) # do ldiv!(u, A, b) via solve_function elseif SciMLBase.has_ldiv(A) # do u .= A \ b via solve_function end ```
should close https://github.com/SciML/LinearSolve.jl/issues/92
For defining rrules, I need to make use of the factorization in the forward pass. The rrules is also a linearsolve with the transpose of the linear system, how to...
https://github.com/ddemidov/amgcl Has OpenMP/MPI/CUDA implementations, similar to Hypre but much more lightweight. Already has a [Python interface](https://github.com/ddemidov/amgcl/tree/1.4.2/pyamgcl) (see [test](https://github.com/ddemidov/amgcl/blob/1.4.2/tests/test_pyamgcl.py))
https://github.com/JuliaParallel/Elemental.jl
http://icl.cs.utk.edu/projectsfiles/magma/doxygen/_m_a_g_m_a-sparse.html#sparsesolvers
Some exist as jlls but not in Trilinos.jl. The newest ones do not.
http://icl.eecs.utk.edu/slate/
https://scicomp.stackexchange.com/questions/23323/role-of-initial-guess-for-iterative-linear-solver https://krypy.readthedocs.io/en/latest/krypy.utils.html#krypy.utils.hegedus http://math.aalto.fi/~kuiduhut/spkry.pdf https://fenicsproject.org/qa/7253/convergence-of-iterative-solver-with-initial-guess/
LU factorizations use `lu_instance`, but the other factorizations do not init a cache. This means that blank `A`, such as a just initialized Jacobian, can call the factorization which costs...