@@ -498,8 +498,8 @@ function _update_p̂q̂_common!(ld)
498
498
copyto! (ld. q̂, ld. w)
499
499
for i = mk[kstar]: mk[k]- 1 # TODO : OPTIMIZE gemv! (or 5-arg mul!)
500
500
if ld. U[i, end ] != 0
501
- axpy! (- ld. U[i, end ], ld. P[ :, i] , ld. p̂)
502
- axpy! (- ld. U[i, end ] * ld. γ[end ] / ld. γ[i], ld. Q[ :, i] , ld. q̂)
501
+ axpy! (- ld. U[i, end ], view ( ld. P, :, i) , ld. p̂)
502
+ axpy! (- ld. U[i, end ] * ld. γ[end ] / ld. γ[i], view ( ld. Q, :, i) , ld. q̂)
503
503
end
504
504
end
505
505
end
@@ -547,8 +547,8 @@ function _update_pq_regular!(ld)
547
547
copyto! (ld. q, ld. q̂)
548
548
for i = mk[k]: n- 1 # TODO : OPTIMIZE gemv! (or 5-arg mul!)
549
549
if ld. U[i, end ] != 0
550
- axpy! (- ld. U[i, end ], ld. P[ :, i] , ld. p)
551
- axpy! (- ld. U[i, end ] * ld. γ[n] / ld. γ[i], ld. Q[ :, i] , ld. q)
550
+ axpy! (- ld. U[i, end ], view ( ld. P, :, i) , ld. p)
551
+ axpy! (- ld. U[i, end ] * ld. γ[n] / ld. γ[i], view ( ld. Q, :, i) , ld. q)
552
552
end
553
553
end
554
554
return ld
@@ -563,8 +563,8 @@ function _update_pq_inner!(ld)
563
563
u = _u (i, n, mk[k])
564
564
ld. U[i, end ] = u
565
565
if u != 0
566
- axpy! (- u, ld. P[ :, i] , ld. p)
567
- axpy! (- u * ld. γ[n] / ld. γ[i], ld. Q[ :, i] , ld. q)
566
+ axpy! (- u, view ( ld. P, :, i) , ld. p)
567
+ axpy! (- u * ld. γ[n] / ld. γ[i], view ( ld. Q, :, i) , ld. q)
568
568
end
569
569
end
570
570
return ld
@@ -659,8 +659,8 @@ function _update_v̂ŵ_common!(ld)
659
659
660
660
for i = nl[lstar]: nl[l]- 1 # TODO : OPTIMIZE gemv! (or 5-arg mul!)
661
661
if ld. L[i, n] != 0
662
- axpy! (- ld. L[i, n], ld. V[ :, i] , ld. Ap)
663
- axpy! (- ld. L[i, n] * ld. γ[n] / ld. γ[i], ld. W[ :, i] , ld. Atq)
662
+ axpy! (- ld. L[i, n], view ( ld. V, :, i) , ld. Ap)
663
+ axpy! (- ld. L[i, n] * ld. γ[n] / ld. γ[i], view ( ld. W, :, i) , ld. Atq)
664
664
end
665
665
end
666
666
return ld
@@ -703,8 +703,8 @@ function _update_vw_regular!(ld)
703
703
copyto! (ld. w̃, ld. Atq)
704
704
for i = nl[l]: n # TODO : OPTIMIZE gemv! (or 5-arg mul!)
705
705
if ld. L[i, end ] != 0
706
- axpy! (- ld. L[i, end ], ld. V[ :, i] , ld. ṽ)
707
- axpy! (- ld. L[i, end ] * ld. γ[n] / ld. γ[i], ld. W[ :, i] , ld. w̃)
706
+ axpy! (- ld. L[i, end ], view ( ld. V, :, i) , ld. ṽ)
707
+ axpy! (- ld. L[i, end ] * ld. γ[n] / ld. γ[i], view ( ld. W, :, i) , ld. w̃)
708
708
end
709
709
end
710
710
return ld
@@ -719,8 +719,8 @@ function _update_vw_inner!(ld)
719
719
ll = _l (i, n, nl[l])
720
720
ld. L[i, end ] = ll
721
721
if ll != 0
722
- axpy! (- _l (i, n, nl[l]), ld. V[ :, i] , ld. ṽ)
723
- axpy! (- _l (i, n, nl[l]) * ld. γ[n] / ld. γ[i], ld. W[ :, i] , ld. w̃)
722
+ axpy! (- _l (i, n, nl[l]), view ( ld. V, :, i) , ld. ṽ)
723
+ axpy! (- _l (i, n, nl[l]) * ld. γ[n] / ld. γ[i], view ( ld. W, :, i) , ld. w̃)
724
724
end
725
725
end
726
726
return ld
0 commit comments