@@ -64,21 +64,21 @@ function resizedata!(QR::QROperator{<:CachedOperator{T,<:BandedMatrix{T}}}, ::Co
6464 end
6565
6666 for k= QR. ncols+ 1 : col
67- W[:,k] = view (R. data,R. u+ 1 : R . u + R. l+ 1 , k) # diagonal and below
67+ W[:,k] = view (R. data, ( R. u+ 1 ) . + ( 0 : R. l), k) # diagonal and below
6868 wp= view (W,:,k)
6969 W[1 ,k]+= flipsign (norm (wp),W[1 ,k])
7070 normalize! (wp)
7171
7272 # scale banded entries
7373 for j= k: k+ R. u
7474 dind= R. u+ 1 + k- j
75- v= view (R. data,dind: dind + M - 1 , j)
75+ v= view (R. data, range ( dind, length = M), j)
7676 dt= dot (wp,v)
7777 axpy! (- 2 dt,wp,v)
7878 end
7979
8080 # scale banded/filled entries
81- for j= k+ R. u+ 1 : k + R . u + M- 1
81+ for j = ( k+ R. u) . + ( 1 : M- 1 )
8282 p= j- k- R. u
8383 v= view (R. data,1 : M- p,j) # shift down each time
8484 wp2= view (wp,p+ 1 : M)
9494# # back substitution
9595# loop to avoid ambiguity with AbstractTRiangular
9696for ArrTyp in (:AbstractVector , :AbstractMatrix , :StridedVector )
97- @eval function ldiv! (U:: UpperTriangular {T, <: SubArray{T, 2, <:BandedMatrix{T}, NTuple{2,UnitRange{Int}}, false } },
97+ @eval function ldiv! (U:: UpperTriangular {T, <: SubArray{T, 2, <:BandedMatrix{T}, NTuple{2,UnitRange{Int}}} },
9898 u:: $ArrTyp{T} ) where T
9999 n = size (u,1 )
100100 n == size (U,1 ) || throw (DimensionMismatch ())
@@ -107,8 +107,8 @@ for ArrTyp in (:AbstractVector, :AbstractMatrix, :StridedVector)
107107
108108 b= bandwidth (A,2 )
109109
110- for c= 1 : size (u,2 )
111- for k= n : - 1 : 1
110+ for c= axes (u,2 )
111+ for k= reverse ( axes (u, 1 ))
112112 @simd for j= k+ 1 : min (n,k+ b)
113113 @inbounds u[k,c] = muladd (- A. data[k- j+ A. u+ 1 ,j],u[j,c],u[k,c])
114114 end
0 commit comments