|
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 | +initiate_upper_mul_tri_triview!(UX, U::Union{AdaptiveCholeskyFactors,AdaptiveQRFactors}, X) = initiate_upper_mul_tri_triview!(UX, U.data.data, X) |
35 | 35 |
|
36 | 36 | function initiate_upper_mul_tri_triview!(UX, U::BandedMatrix, X) |
37 | | - Xdl, Xd, Xdu = X.dl, X.d, X.du |
| 37 | + Xdl, Xd, Xdu = subdiagonaldata(X), diagonaldata(X), supdiagonaldata(X) |
38 | 38 | UXdl, UXd, UXdu = UX.dl, UX.d, UX.du |
39 | 39 | Udat = U.data |
40 | 40 |
|
|
53 | 53 | # fills in the rows kr of UX |
54 | 54 | main_upper_mul_tri_triview!(UX, U::UpperTriangular, X, kr, kwds...) = main_upper_mul_tri_triview!(UX, parent(U), X, kr, kwds...) |
55 | 55 |
|
56 | | -function main_upper_mul_tri_triview!(UX, U::Union{CachedMatrix,AdaptiveCholeskyFactors}, X, kr, kwds...) |
| 56 | +function main_upper_mul_tri_triview!(UX, U::Union{CachedMatrix,AdaptiveCholeskyFactors,AdaptiveQRFactors}, X, kr, kwds...) |
57 | 57 | resizedata!(U, kr[end], kr[end]+2) |
58 | 58 | main_upper_mul_tri_triview!(UX, U.data, X, kr, kwds...) |
59 | 59 | end |
60 | 60 |
|
61 | | -function main_upper_mul_tri_triview!(UX, U::BandedMatrix, X, kr, bₖ=X.du[kr[1]-1], aₖ=X.d[kr[1]], cₖ=X.dl[kr[1]], cₖ₋₁=X.dl[kr[1]-1]) |
62 | | - Xdl, Xd, Xdu = X.dl, X.d, X.du |
| 61 | +function main_upper_mul_tri_triview!(UX, U::BandedMatrix, X, kr, bₖ=X[kr[1]-1,kr[1]], aₖ=X[kr[1],kr[1]], cₖ=X[kr[1]+1,kr[1]], cₖ₋₁=X[kr[1],kr[1]-1]) |
| 62 | + Xdl, Xd, Xdu = subdiagonaldata(X), diagonaldata(X), supdiagonaldata(X) |
63 | 63 | UXdl, UXd, UXdu = UX.dl, UX.d, UX.du |
64 | 64 | Udat = U.data |
65 | 65 | l,u = bandwidths(U) |
@@ -128,7 +128,7 @@ function initiate_tri_mul_invupper_triview!(Y, X, R::CachedMatrix) |
128 | 128 | initiate_tri_mul_invupper_triview!(Y, X, R.data) |
129 | 129 | end |
130 | 130 |
|
131 | | -function initiate_tri_mul_invupper_triview!(Y, X, R::AdaptiveCholeskyFactors) |
| 131 | +function initiate_tri_mul_invupper_triview!(Y, X, R::Union{AdaptiveCholeskyFactors,AdaptiveQRFactors}) |
132 | 132 | resizedata!(R, 1, 2) |
133 | 133 | initiate_tri_mul_invupper_triview!(Y, X, R.data.data) |
134 | 134 | end |
|
0 commit comments