You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's pretty complete now. The suggested form is that you use the caching interface so that it can store factorizations and iterative solver inits (http://linearsolve.sciml.ai/dev/tutorials/caching_interface/). The suggested algorithm form is to just have the user pass the type, like Newton(; linsolve=KLU()) which would then switch over to using SuiteSparse.KLU and accelerate sparse matrix factorizations for unstructured cases over UMFPACK. http://linearsolve.sciml.ai/dev/solvers/solvers/#SuiteSparse.jl
The text was updated successfully, but these errors were encountered:
one way to do this is to delay the constructor of the linsolve struct until inside the solve function, something like:
struct LinearSolveCache{T}
linsolve::Tendfunction (cache::LinearSolveCache)(d, B, g)
LinearSolve.set_a(cache.linsolve.cache,B)
LinearSolve.set_b(cache.linsolve.cache,g)
solve(cache.linsolve)
d .= cache.linsolve.u
end#does it work with static arrays?function (cache::LinearSolveCache)(B, g)
prob =LinearProblem(B,g)
solve(prob,cache.linsolve)
prob.u
endinit_linsolve(linsolve::T,A,b) where T <:Function= linsolve
init_linsolve(linsolve:::LinearSolve.SciMLLinearSolveAlgorithm) =LinearSolveCache(init(LinearProblem(A,b),linsolve))
and then add those inits in the newton solver for NeqProblem and OptimizationProblem (the last one seems harder, but it could be added to the objvars result?
what do you think @pkofod ?
I'm trying to get more libraries using the LinearSolve.jl interface
http://linearsolve.sciml.ai/dev/
It's pretty complete now. The suggested form is that you use the caching interface so that it can store factorizations and iterative solver inits (http://linearsolve.sciml.ai/dev/tutorials/caching_interface/). The suggested algorithm form is to just have the user pass the type, like
Newton(; linsolve=KLU())
which would then switch over to using SuiteSparse.KLU and accelerate sparse matrix factorizations for unstructured cases over UMFPACK. http://linearsolve.sciml.ai/dev/solvers/solvers/#SuiteSparse.jlThe text was updated successfully, but these errors were encountered: