15
15
function SciMLBase. solve (cache:: LinearCache , alg:: LUFactorization )
16
16
cache. A isa Union{AbstractMatrix,AbstractDiffEqOperator} ||
17
17
error (" LU is not defined for $(typeof (prob. A)) " )
18
- cache = set_cacheval (cache, lu! (cache. A, alg. pivot))
18
+ fact = lu! (cache. A, alg. pivot)
19
+ cache = set_cacheval (cache, fact)
19
20
ldiv! (cache. u,cache. cacheval, cache. b)
20
21
end
21
22
36
37
function SciMLBase. solve (cache:: LinearCache , alg:: QRFactorization )
37
38
cache. A isa Union{AbstractMatrix,AbstractDiffEqOperator} ||
38
39
error (" QR is not defined for $(typeof (prob. A)) " )
39
- cache = set_cacheval (
40
- cache,
41
- qr! (cache. A. A, alg. pivot; blocksize = alg. blocksize),
42
- )
40
+ fact = qr! (cache. A. A, alg. pivot; blocksize = alg. blocksize)
41
+ cache = set_cacheval (cache, fact)
43
42
ldiv! (cache. u,cache. cacheval, cache. b)
44
43
end
45
44
@@ -53,6 +52,7 @@ SVDFactorization() = SVDFactorization(false, LinearAlgebra.DivideAndConquer())
53
52
function SciMLBase. solve (cache:: LinearCache , alg:: SVDFactorization )
54
53
cache. A isa Union{AbstractMatrix,AbstractDiffEqOperator} ||
55
54
error (" SVD is not defined for $(typeof (cache. A)) " )
56
- cache = set_cacheval (cache, svd! (cache. A; full = alg. full, alg = alg. alg))
55
+ fact = svd! (cache. A; full = alg. full, alg = alg. alg)
56
+ cache = set_cacheval (cache, fact)
57
57
ldiv! (cache. u,cache. cacheval, cache. b)
58
58
end
0 commit comments