@@ -1046,7 +1046,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::Bidiagonal, B::AbstractVecOrMat,
10461046 if A. uplo == ' U'
10471047 u = A. ev
10481048 @inbounds begin
1049- for j = 1 : nB
1049+ for j in axes (B, 2 )
10501050 b₀, b₊ = B[1 , j], B[2 , j]
10511051 _modify! (_add, d[1 ]* b₀ + u[1 ]* b₊, C, (1 , j))
10521052 for i = 2 : nA - 1
@@ -1059,7 +1059,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::Bidiagonal, B::AbstractVecOrMat,
10591059 else
10601060 l = A. ev
10611061 @inbounds begin
1062- for j = 1 : nB
1062+ for j in axes (B, 2 )
10631063 b₀, b₊ = B[1 , j], B[2 , j]
10641064 _modify! (_add, d[1 ]* b₀, C, (1 , j))
10651065 for i = 2 : nA - 1
@@ -1079,7 +1079,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::TriSym, B::AbstractVecOrMat, _ad
10791079 d = _diag (A, 0 )
10801080 u = _diag (A, 1 )
10811081 @inbounds begin
1082- for j = 1 : nB
1082+ for j in axes (B, 2 )
10831083 b₀, b₊ = B[1 , j], B[2 , j]
10841084 _modify! (_add, d[1 ]* b₀ + u[1 ]* b₊, C, (1 , j))
10851085 for i = 2 : nA - 1
@@ -1118,7 +1118,7 @@ function _mul_bitrisym_right!(C::AbstractMatrix, A::AbstractMatrix, B::TriSym, _
11181118 B21 = Bl[1 ]
11191119 Bmm = Bd[m]
11201120 Bm₋1m = Bu[m- 1 ]
1121- for i in 1 : n
1121+ for i in axes (A, 1 )
11221122 _modify! (_add, A[i,1 ] * B11 + A[i, 2 ] * B21, C, (i, 1 ))
11231123 _modify! (_add, A[i, m- 1 ] * Bm₋1m + A[i, m] * Bmm, C, (i, m))
11241124 end
@@ -1127,7 +1127,7 @@ function _mul_bitrisym_right!(C::AbstractMatrix, A::AbstractMatrix, B::TriSym, _
11271127 Bj₋1j = Bu[j- 1 ]
11281128 Bjj = Bd[j]
11291129 Bj₊1j = Bl[j]
1130- for i = 1 : n
1130+ for i in axes (A, 1 )
11311131 _modify! (_add, A[i, j- 1 ] * Bj₋1j + A[i, j]* Bjj + A[i, j+ 1 ] * Bj₊1j, C, (i, j))
11321132 end
11331133 end
@@ -1148,17 +1148,17 @@ end
11481148function _mul_bitrisym_right! (C:: AbstractMatrix , A:: AbstractMatrix , B:: Bidiagonal , _add:: MulAddMul )
11491149 m, n = size (A)
11501150 @inbounds if B. uplo == ' U'
1151- for j in n : - 1 : 2 , i in 1 : m
1151+ for j in reverse ( axes (A, 2 )[ 2 : end ]) , i in axes (A, 1 )
11521152 _modify! (_add, A[i,j] * B. dv[j] + A[i,j- 1 ] * B. ev[j- 1 ], C, (i, j))
11531153 end
1154- for i in 1 : m
1154+ for i in axes (A, 1 )
11551155 _modify! (_add, A[i,1 ] * B. dv[1 ], C, (i, 1 ))
11561156 end
11571157 else # uplo == 'L'
1158- for j in 1 : n - 1 , i in 1 : m
1158+ for j in axes (A, 2 )[ 1 : end - 1 ] , i in axes (A, 1 )
11591159 _modify! (_add, A[i,j] * B. dv[j] + A[i,j+ 1 ] * B. ev[j], C, (i, j))
11601160 end
1161- for i in 1 : m
1161+ for i in axes (A, 1 )
11621162 _modify! (_add, A[i,n] * B. dv[n], C, (i, n))
11631163 end
11641164 end
@@ -1235,7 +1235,7 @@ function _dibimul_nonzeroalpha!(C::AbstractMatrix, A::Diagonal, B::Bidiagonal, _
12351235 if B. uplo == ' L'
12361236 C[2 ,1 ] += _add (Ad[2 ]* Bev[1 ])
12371237 end
1238- for col in 2 : n - 1
1238+ for col in axes (A, 1 )[ 2 : end - 1 ]
12391239 evrow = col+ rowshift
12401240 C[evrow, col] += _add (Ad[evrow]* Bev[col - evshift])
12411241 C[col, col] += _add (Ad[col]* Bdv[col])
@@ -1321,7 +1321,7 @@ function dot(x::AbstractVector, B::Bidiagonal, y::AbstractVector)
13211321 @inbounds if B. uplo == ' U'
13221322 x₀ = x[1 ]
13231323 r = dot (x[1 ], dv[1 ], y[1 ])
1324- for j in 2 : nx - 1
1324+ for j in eachindex (x)[ 2 : end - 1 ]
13251325 x₋, x₀ = x₀, x[j]
13261326 r += dot (adjoint (ev[j- 1 ])* x₋ + adjoint (dv[j])* x₀, y[j])
13271327 end
@@ -1331,7 +1331,7 @@ function dot(x::AbstractVector, B::Bidiagonal, y::AbstractVector)
13311331 x₀ = x[1 ]
13321332 x₊ = x[2 ]
13331333 r = dot (adjoint (dv[1 ])* x₀ + adjoint (ev[1 ])* x₊, y[1 ])
1334- for j in 2 : nx - 1
1334+ for j in eachindex (x)[ 2 : end - 1 ]
13351335 x₀, x₊ = x₊, x[j+ 1 ]
13361336 r += dot (adjoint (dv[j])* x₀ + adjoint (ev[j])* x₊, y[j])
13371337 end
@@ -1362,15 +1362,15 @@ function ldiv!(c::AbstractVecOrMat, A::Bidiagonal, b::AbstractVecOrMat)
13621362 zi = findfirst (iszero, A. dv)
13631363 isnothing (zi) || throw (SingularException (zi))
13641364
1365- @inbounds for j in 1 : nb
1365+ @inbounds for j in axes (b, 2 )
13661366 if A. uplo == ' L' # do colwise forward substitution
13671367 c[1 ,j] = bi1 = A. dv[1 ] \ b[1 ,j]
1368- for i in 2 : N
1368+ for i in eachindex (A . dv)[ 2 : end ]
13691369 c[i,j] = bi1 = A. dv[i] \ (b[i,j] - A. ev[i - 1 ] * bi1)
13701370 end
13711371 else # do colwise backward substitution
13721372 c[N,j] = bi1 = A. dv[N] \ b[N,j]
1373- for i in (N - 1 ) : - 1 : 1
1373+ for i in reverse ( eachindex (A . ev))
13741374 c[i,j] = bi1 = A. dv[i] \ (b[i,j] - A. ev[i] * bi1)
13751375 end
13761376 end
0 commit comments