176176
177177# Grow cached interlace operator
178178
179- function resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
179+ function resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
180180 n:: Integer ,:: Colon ) where {T<: Number }
181181 if n ≤ co. datasize[1 ]
182182 return co
210210
211211
212212
213- function resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
213+ function resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
214214 n:: Integer ,:: Colon ) where {T<: Number }
215215 if n ≤ co. datasize[1 ]
216216 return co
@@ -257,11 +257,11 @@ function resizedata!(co::CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOpera
257257end
258258
259259
260- resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
260+ resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
261261 n:: Integer ,m:: Integer ) where {T<: Number } = resizedata! (co,max (n,m+ bandwidth (co. data. bands,1 )),:)
262262
263263
264- resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
264+ resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
265265 n:: Integer ,m:: Integer ) where {T<: Number } = resizedata! (co,max (n,m+ bandwidth (co. data. bands,1 )),:)
266266
267267
@@ -273,16 +273,14 @@ resizedata!(co::CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}}
273273# # QR
274274
275275
276- function QROperator (R:: CachedOperator{T,AlmostBandedMatrix{T}} ) where T
276+ function QROperator (R:: CachedOperator{T,<: AlmostBandedMatrix{T}} ) where T
277277 M = R. data. bands. l+ 1 # number of diag+subdiagonal bands
278278 H = Matrix {T} (undef,M,100 )
279279 QROperator (R,H,0 )
280280end
281281
282282
283- function resizedata! (QR:: QROperator {CachedOperator{T,AlmostBandedMatrix{T},
284- MM,DS,RS,BI}},
285- :: Colon ,col) where {T,MM,DS,RS,BI}
283+ function resizedata! (QR:: QROperator{<:CachedOperator{T,<:AlmostBandedMatrix{T}}} , :: Colon , col) where {T}
286284 if col ≤ QR. ncols
287285 return QR
288286 end
346344
347345# BLAS versions, requires BlasFloat
348346
349- function resizedata! (QR:: QROperator {CachedOperator{T,AlmostBandedMatrix{T},
350- MM,DS,RS,BI}},
351- :: Colon ,col) where {T<: BlasFloat ,MM,DS,RS,BI}
347+ function resizedata! (QR:: QROperator{<:CachedOperator{T,<:AlmostBandedMatrix{T}}} , :: Colon , col) where {T<: BlasFloat }
352348 if col ≤ QR. ncols
353349 return QR
354350 end
417413# # back substitution
418414# loop to avoid ambiguity with AbstractTRiangular
419415for ArrTyp in (:AbstractVector , :AbstractMatrix )
420- @eval function ldiv! (U:: UpperTriangular {T, SubArray{T, 2 , AlmostBandedMatrix{T}, Tuple{UnitRange{Int}, UnitRange{Int}}, false }},
421- u:: $ArrTyp{T} ) where T
416+ @eval function ldiv! (U:: UpperTriangular {T,<: SubArray{T, 2, <:AlmostBandedMatrix{T}, NTuple{2,UnitRange{Int}}, false} },
417+ u:: $ArrTyp{T} ) where T
418+
422419 n = size (u,1 )
423420 n == size (U,1 ) || throw (DimensionMismatch ())
424421
0 commit comments