3131
3232initiate_upper_mul_tri_triview! (UX, U:: UpperTriangular , X) = initiate_upper_mul_tri_triview! (UX, parent (U), X)
3333initiate_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)
3435
3536function initiate_upper_mul_tri_triview! (UX, U:: BandedMatrix , X)
3637 Xdl, Xd, Xdu = X. dl, X. d, X. du
@@ -50,7 +51,9 @@ function initiate_upper_mul_tri_triview!(UX, U::BandedMatrix, X)
5051end
5152
5253# 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... )
5457 resizedata! (U, kr[end ], kr[end ]+ 2 )
5558 main_upper_mul_tri_triview! (UX, U. data, X, kr, kwds... )
5659end
@@ -125,6 +128,13 @@ function initiate_tri_mul_invupper_triview!(Y, X, R::CachedMatrix)
125128 initiate_tri_mul_invupper_triview! (Y, X, R. data)
126129end
127130
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+
128138function initiate_tri_mul_invupper_triview! (Y, X, R:: BandedMatrix )
129139 Xdl, Xd, Xdu = X. dl, X. d, X. du
130140 Ydl, Yd, Ydu = Y. dl, Y. d, Y. du
144154
145155
146156# 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... )
148159 resizedata! (R, kr[end ], kr[end ]+ 1 )
149160 main_tri_mul_invupper_triview! (Y, X, R. data, kr, kwds... )
150161end
0 commit comments