@@ -103,6 +103,14 @@ function LinearSolve.init_cacheval(
103103 PREALLOCATED_UMFPACK
104104end
105105
106+ function LinearSolve. init_cacheval (
107+ alg:: UMFPACKFactorization , A:: AbstractSparseArray{Float64, Int32} , b, u,
108+ Pl, Pr,
109+ maxiters:: Int , abstol, reltol,
110+ verbose:: Bool , assumptions:: OperatorAssumptions )
111+ SparseArrays. UMFPACK. UmfpackLU (SparseMatrixCSC {Float64, Int32} (0 , 0 , [Int32 (1 )], Int32[], Float64[]))
112+ end
113+
106114function SciMLBase. solve! (
107115 cache:: LinearSolve.LinearCache , alg:: UMFPACKFactorization ; kwargs... )
108116 A = cache. A
@@ -132,7 +140,7 @@ function SciMLBase.solve!(
132140 F = LinearSolve. @get_cacheval (cache, :UMFPACKFactorization )
133141 if F. status == SparseArrays. UMFPACK. UMFPACK_OK
134142 y = ldiv! (cache. u, F, cache. b)
135- SciMLBase. build_linear_solution (alg, y, nothing , cache)
143+ SciMLBase. build_linear_solution (alg, y, nothing , cache; retcode = ReturnCode . Success )
136144 else
137145 SciMLBase. build_linear_solution (
138146 alg, cache. u, nothing , cache; retcode = ReturnCode. Infeasible)
@@ -193,7 +201,7 @@ function SciMLBase.solve!(cache::LinearSolve.LinearCache, alg::KLUFactorization;
193201 F = LinearSolve. @get_cacheval (cache, :KLUFactorization )
194202 if F. common. status == KLU. KLU_OK
195203 y = ldiv! (cache. u, F, cache. b)
196- SciMLBase. build_linear_solution (alg, y, nothing , cache)
204+ SciMLBase. build_linear_solution (alg, y, nothing , cache; retcode = ReturnCode . Success )
197205 else
198206 SciMLBase. build_linear_solution (
199207 alg, cache. u, nothing , cache; retcode = ReturnCode. Infeasible)
0 commit comments