|
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