@@ -963,7 +963,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::Bidiagonal, B::AbstractVecOrMat,
963963 if A. uplo == ' U'
964964 u = A. ev
965965 @inbounds begin
966- for j = 1 : nB
966+ for j in axes (B, 2 )
967967 b₀, b₊ = B[1 , j], B[2 , j]
968968 _modify! (_add, d[1 ]* b₀ + u[1 ]* b₊, C, (1 , j))
969969 for i = 2 : nA - 1
@@ -976,7 +976,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::Bidiagonal, B::AbstractVecOrMat,
976976 else
977977 l = A. ev
978978 @inbounds begin
979- for j = 1 : nB
979+ for j in axes (B, 2 )
980980 b₀, b₊ = B[1 , j], B[2 , j]
981981 _modify! (_add, d[1 ]* b₀, C, (1 , j))
982982 for i = 2 : nA - 1
@@ -996,7 +996,7 @@ function _mul_bitrisym!(C::AbstractVecOrMat, A::TriSym, B::AbstractVecOrMat, _ad
996996 d = _diag (A, 0 )
997997 u = _diag (A, 1 )
998998 @inbounds begin
999- for j = 1 : nB
999+ for j in axes (B, 2 )
10001000 b₀, b₊ = B[1 , j], B[2 , j]
10011001 _modify! (_add, d[1 ]* b₀ + u[1 ]* b₊, C, (1 , j))
10021002 for i = 2 : nA - 1
@@ -1028,7 +1028,7 @@ function _mul!(C::AbstractMatrix, A::AbstractMatrix, B::TriSym, _add::MulAddMul)
10281028 B21 = Bl[1 ]
10291029 Bmm = Bd[m]
10301030 Bm₋1m = Bu[m- 1 ]
1031- for i in 1 : n
1031+ for i in axes (A, 1 )
10321032 _modify! (_add, A[i,1 ] * B11 + A[i, 2 ] * B21, C, (i, 1 ))
10331033 _modify! (_add, A[i, m- 1 ] * Bm₋1m + A[i, m] * Bmm, C, (i, m))
10341034 end
@@ -1037,7 +1037,7 @@ function _mul!(C::AbstractMatrix, A::AbstractMatrix, B::TriSym, _add::MulAddMul)
10371037 Bj₋1j = Bu[j- 1 ]
10381038 Bjj = Bd[j]
10391039 Bj₊1j = Bl[j]
1040- for i = 1 : n
1040+ for i in axes (A, 1 )
10411041 _modify! (_add, A[i, j- 1 ] * Bj₋1j + A[i, j]* Bjj + A[i, j+ 1 ] * Bj₊1j, C, (i, j))
10421042 end
10431043 end
@@ -1052,17 +1052,17 @@ function _mul!(C::AbstractMatrix, A::AbstractMatrix, B::Bidiagonal, _add::MulAdd
10521052 (iszero (m) || iszero (n)) && return C
10531053 iszero (_add. alpha) && return _rmul_or_fill! (C, _add. beta)
10541054 @inbounds if B. uplo == ' U'
1055- for j in n : - 1 : 2 , i in 1 : m
1055+ for j in reverse ( axes (A, 2 )[ 2 : end ]) , i in axes (A, 1 )
10561056 _modify! (_add, A[i,j] * B. dv[j] + A[i,j- 1 ] * B. ev[j- 1 ], C, (i, j))
10571057 end
1058- for i in 1 : m
1058+ for i in axes (A, 1 )
10591059 _modify! (_add, A[i,1 ] * B. dv[1 ], C, (i, 1 ))
10601060 end
10611061 else # uplo == 'L'
1062- for j in 1 : n - 1 , i in 1 : m
1062+ for j in axes (A, 2 )[ 1 : end - 1 ] , i in axes (A, 1 )
10631063 _modify! (_add, A[i,j] * B. dv[j] + A[i,j+ 1 ] * B. ev[j], C, (i, j))
10641064 end
1065- for i in 1 : m
1065+ for i in axes (A, 1 )
10661066 _modify! (_add, A[i,n] * B. dv[n], C, (i, n))
10671067 end
10681068 end
@@ -1138,7 +1138,7 @@ function _dibimul!(C::AbstractMatrix, A::Diagonal, B::Bidiagonal, _add)
11381138 if B. uplo == ' L'
11391139 C[2 ,1 ] += _add (Ad[2 ]* Bev[1 ])
11401140 end
1141- for col in 2 : n - 1
1141+ for col in axes (A, 1 )[ 2 : end - 1 ]
11421142 evrow = col+ rowshift
11431143 C[evrow, col] += _add (Ad[evrow]* Bev[col - evshift])
11441144 C[col, col] += _add (Ad[col]* Bdv[col])
@@ -1219,7 +1219,7 @@ function dot(x::AbstractVector, B::Bidiagonal, y::AbstractVector)
12191219 @inbounds if B. uplo == ' U'
12201220 x₀ = x[1 ]
12211221 r = dot (x[1 ], dv[1 ], y[1 ])
1222- for j in 2 : nx - 1
1222+ for j in eachindex (x)[ 2 : end - 1 ]
12231223 x₋, x₀ = x₀, x[j]
12241224 r += dot (adjoint (ev[j- 1 ])* x₋ + adjoint (dv[j])* x₀, y[j])
12251225 end
@@ -1229,7 +1229,7 @@ function dot(x::AbstractVector, B::Bidiagonal, y::AbstractVector)
12291229 x₀ = x[1 ]
12301230 x₊ = x[2 ]
12311231 r = dot (adjoint (dv[1 ])* x₀ + adjoint (ev[1 ])* x₊, y[1 ])
1232- for j in 2 : nx - 1
1232+ for j in eachindex (x)[ 2 : end - 1 ]
12331233 x₀, x₊ = x₊, x[j+ 1 ]
12341234 r += dot (adjoint (dv[j])* x₀ + adjoint (ev[j])* x₊, y[j])
12351235 end
@@ -1260,15 +1260,15 @@ function ldiv!(c::AbstractVecOrMat, A::Bidiagonal, b::AbstractVecOrMat)
12601260 zi = findfirst (iszero, A. dv)
12611261 isnothing (zi) || throw (SingularException (zi))
12621262
1263- @inbounds for j in 1 : nb
1263+ @inbounds for j in axes (b, 2 )
12641264 if A. uplo == ' L' # do colwise forward substitution
12651265 c[1 ,j] = bi1 = A. dv[1 ] \ b[1 ,j]
1266- for i in 2 : N
1266+ for i in eachindex (A . dv)[ 2 : end ]
12671267 c[i,j] = bi1 = A. dv[i] \ (b[i,j] - A. ev[i - 1 ] * bi1)
12681268 end
12691269 else # do colwise backward substitution
12701270 c[N,j] = bi1 = A. dv[N] \ b[N,j]
1271- for i in (N - 1 ) : - 1 : 1
1271+ for i in reverse ( eachindex (A . ev))
12721272 c[i,j] = bi1 = A. dv[i] \ (b[i,j] - A. ev[i] * bi1)
12731273 end
12741274 end
0 commit comments