@@ -78,7 +78,7 @@ mutable struct LookAheadLanczosDecomp{OpT, OptT, VecT, MatT, ElT, ElRT}
78
78
F:: Matrix{ElT}
79
79
F̃lastcol:: Vector{ElT}
80
80
# Eq. 5.1
81
- G:: Matrix {ElT}
81
+ G:: Vector {ElT}
82
82
# Eq. 3.11
83
83
H:: Vector{ElT}
84
84
@@ -175,7 +175,7 @@ function LookAheadLanczosDecomp(
175
175
176
176
D = Matrix {elT} (undef, 0 , 0 )
177
177
E = Matrix {elT} (undef, 0 , 0 )
178
- G = Matrix {elT} (undef, 0 , 0 )
178
+ G = Vector {elT} ()
179
179
H = Vector {elT} ()
180
180
181
181
F = Matrix {elT} (undef, 0 , 0 )
@@ -488,9 +488,9 @@ function _update_Gnm1!(ld)
488
488
# G_{n-1} = U_n L_{n-1}
489
489
# U is currently U_n and L is currently L_{n-1}
490
490
n, mk, k = ld. n, ld. mk, ld. k
491
- ld. G = fill (0.0 , n- 1 , 1 )
491
+ ld. G = fill (0.0 , n- 1 )
492
492
if ! isone (n)
493
- ld. G[ld. mk[ld. k]: end , end ] = ld. U[mk[k]: end - 1 , mk[k]: end ] * ld. L[mk[k]: end , end ]
493
+ ld. G[ld. mk[ld. k]: end ] . = ld. U[mk[k]: end - 1 , mk[k]: end ] * ld. L[mk[k]: end , end ]
494
494
end
495
495
return ld
496
496
end
@@ -503,7 +503,7 @@ function _update_Gn!(ld)
503
503
if ! isone (ld. n)
504
504
qtAp = fill (zero (eltype (ld. G)), length (ld. G))
505
505
qtAp[end ] = ld. qtAp
506
- ld. G = (ld. E \ qtAp * ld. ρ * ld. γ[n- 1 ] / ld. γ[n])[:, :]
506
+ ld. G = (ld. E \ qtAp * ld. ρ * ld. γ[n- 1 ] / ld. γ[n])
507
507
end
508
508
509
509
return ld
@@ -514,8 +514,8 @@ function _check_G(ld)
514
514
n = ld. n
515
515
if n <= 2 return false end
516
516
return ! (
517
- ld. nA * ld. normp[end ] ≥ sum (abs (ld. G[i, end ]) * ld. normp[i] for i in 1 : length (ld. normp)- 1 ) &&
518
- ld. nA * ld. normq[end ] ≥ sum (ld. γ[n- 1 ]/ ld. γ[i] * abs (ld. G[i, end ]) * ld. normq[i] for i in 1 : length (ld. normq)- 1 )
517
+ ld. nA * ld. normp[end ] ≥ sum (abs (ld. G[i]) * ld. normp[i] for i in 1 : length (ld. normp)- 1 ) &&
518
+ ld. nA * ld. normq[end ] ≥ sum (ld. γ[n- 1 ]/ ld. γ[i] * abs (ld. G[i]) * ld. normq[i] for i in 1 : length (ld. normq)- 1 )
519
519
)
520
520
return false
521
521
end
0 commit comments