31
31
32
32
initiate_upper_mul_tri_triview! (UX, U:: UpperTriangular , X) = initiate_upper_mul_tri_triview! (UX, parent (U), X)
33
33
initiate_upper_mul_tri_triview! (UX, U:: CachedMatrix , X) = initiate_upper_mul_tri_triview! (UX, U. data, X)
34
+ initiate_upper_mul_tri_triview! (UX, U:: AdaptiveCholeskyFactors , X) = initiate_upper_mul_tri_triview! (UX, U. data. data, X)
34
35
35
36
function initiate_upper_mul_tri_triview! (UX, U:: BandedMatrix , X)
36
37
Xdl, Xd, Xdu = X. dl, X. d, X. du
@@ -50,7 +51,9 @@ function initiate_upper_mul_tri_triview!(UX, U::BandedMatrix, X)
50
51
end
51
52
52
53
# fills in the rows kr of UX
53
- function main_upper_mul_tri_triview! (UX, U:: CachedMatrix , X, kr, kwds... )
54
+ main_upper_mul_tri_triview! (UX, U:: UpperTriangular , X, kr, kwds... ) = main_upper_mul_tri_triview! (UX, parent (U), X, kr, kwds... )
55
+
56
+ function main_upper_mul_tri_triview! (UX, U:: Union{CachedMatrix,AdaptiveCholeskyFactors} , X, kr, kwds... )
54
57
resizedata! (U, kr[end ], kr[end ]+ 2 )
55
58
main_upper_mul_tri_triview! (UX, U. data, X, kr, kwds... )
56
59
end
@@ -125,6 +128,13 @@ function initiate_tri_mul_invupper_triview!(Y, X, R::CachedMatrix)
125
128
initiate_tri_mul_invupper_triview! (Y, X, R. data)
126
129
end
127
130
131
+ function initiate_tri_mul_invupper_triview! (Y, X, R:: AdaptiveCholeskyFactors )
132
+ resizedata! (R, 1 , 2 )
133
+ initiate_tri_mul_invupper_triview! (Y, X, R. data. data)
134
+ end
135
+
136
+ initiate_tri_mul_invupper_triview! (Y, X, R:: UpperTriangular ) = initiate_tri_mul_invupper_triview! (Y, X, parent (R))
137
+
128
138
function initiate_tri_mul_invupper_triview! (Y, X, R:: BandedMatrix )
129
139
Xdl, Xd, Xdu = X. dl, X. d, X. du
130
140
Ydl, Yd, Ydu = Y. dl, Y. d, Y. du
144
154
145
155
146
156
# populate rows kr of X/R. Ydu[k] is wrong until next run.
147
- function main_tri_mul_invupper_triview! (Y:: Tridiagonal , X:: Tridiagonal , R:: CachedMatrix , kr, kwds... )
157
+ main_tri_mul_invupper_triview! (Y:: Tridiagonal , X:: Tridiagonal , R:: UpperTriangular , kr, kwds... ) = main_tri_mul_invupper_triview! (Y, X, parent (R), kr, kwds... )
158
+ function main_tri_mul_invupper_triview! (Y:: Tridiagonal , X:: Tridiagonal , R:: Union{AdaptiveCholeskyFactors,CachedMatrix} , kr, kwds... )
148
159
resizedata! (R, kr[end ], kr[end ]+ 1 )
149
160
main_tri_mul_invupper_triview! (Y, X, R. data, kr, kwds... )
150
161
end
0 commit comments