176
176
177
177
# Grow cached interlace operator
178
178
179
- function resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
179
+ function resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
180
180
n:: Integer ,:: Colon ) where {T<: Number }
181
181
if n ≤ co. datasize[1 ]
182
182
return co
210
210
211
211
212
212
213
- function resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
213
+ function resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
214
214
n:: Integer ,:: Colon ) where {T<: Number }
215
215
if n ≤ co. datasize[1 ]
216
216
return co
@@ -257,11 +257,11 @@ function resizedata!(co::CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOpera
257
257
end
258
258
259
259
260
- resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
260
+ resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,1}} ,
261
261
n:: Integer ,m:: Integer ) where {T<: Number } = resizedata! (co,max (n,m+ bandwidth (co. data. bands,1 )),:)
262
262
263
263
264
- resizedata! (co:: CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
264
+ resizedata! (co:: CachedOperator{T,<: AlmostBandedMatrix{T},<:InterlaceOperator{T,2}} ,
265
265
n:: Integer ,m:: Integer ) where {T<: Number } = resizedata! (co,max (n,m+ bandwidth (co. data. bands,1 )),:)
266
266
267
267
@@ -273,16 +273,14 @@ resizedata!(co::CachedOperator{T,AlmostBandedMatrix{T},<:InterlaceOperator{T,2}}
273
273
# # QR
274
274
275
275
276
- function QROperator (R:: CachedOperator{T,AlmostBandedMatrix{T}} ) where T
276
+ function QROperator (R:: CachedOperator{T,<: AlmostBandedMatrix{T}} ) where T
277
277
M = R. data. bands. l+ 1 # number of diag+subdiagonal bands
278
278
H = Matrix {T} (undef,M,100 )
279
279
QROperator (R,H,0 )
280
280
end
281
281
282
282
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}
286
284
if col ≤ QR. ncols
287
285
return QR
288
286
end
346
344
347
345
# BLAS versions, requires BlasFloat
348
346
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 }
352
348
if col ≤ QR. ncols
353
349
return QR
354
350
end
417
413
# # back substitution
418
414
# loop to avoid ambiguity with AbstractTRiangular
419
415
for 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
+
422
419
n = size (u,1 )
423
420
n == size (U,1 ) || throw (DimensionMismatch ())
424
421
0 commit comments