@@ -197,6 +197,22 @@ function do_factorization(alg::GenericFactorization, A, b, u)
197
197
return fact
198
198
end
199
199
200
+ init_cacheval (alg:: GenericFactorization{typeof(lu)} , A, b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = ArrayInterface. lu_instance (A)
201
+ init_cacheval (alg:: GenericFactorization{typeof(lu!)} , A, b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = ArrayInterface. lu_instance (A)
202
+
203
+ init_cacheval (alg:: GenericFactorization{typeof(lu)} , A:: Diagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = Diagonal (inv .(A. diag))
204
+ init_cacheval (alg:: GenericFactorization{typeof(lu)} , A:: Tridiagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = ArrayInterface. lu_instance (A)
205
+ init_cacheval (alg:: GenericFactorization{typeof(lu!)} , A:: Diagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = Diagonal (inv .(A. diag))
206
+ init_cacheval (alg:: GenericFactorization{typeof(lu!)} , A:: Tridiagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = ArrayInterface. lu_instance (A)
207
+
208
+ init_cacheval (alg:: GenericFactorization , A:: Diagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = Diagonal (inv .(A. diag))
209
+ init_cacheval (alg:: GenericFactorization , A:: Tridiagonal , b, u, Pl, Pr, maxiters, abstol, reltol, verbose) = ArrayInterface. lu_instance (A)
210
+ function init_cacheval (alg:: Union{QRFactorization,SVDFactorization,GenericFactorization} , A, b, u, Pl, Pr, maxiters, abstol, reltol, verbose)
211
+ newA = copy (A)
212
+ fill! (newA,true )
213
+ do_factorization (alg, newA, b, u)
214
+ end
215
+
200
216
# # RFLUFactorization
201
217
202
218
RFLUFactorization () = GenericFactorization (;fact_alg= RecursiveFactorization. lu!)
0 commit comments