Skip to content

Commit 113b436

Browse files
author
Pawel Latawiec
committed
G as Vector
1 parent a084156 commit 113b436

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/lal.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ mutable struct LookAheadLanczosDecomp{OpT, OptT, VecT, MatT, ElT, ElRT}
7878
F::Matrix{ElT}
7979
F̃lastcol::Vector{ElT}
8080
# Eq. 5.1
81-
G::Matrix{ElT}
81+
G::Vector{ElT}
8282
# Eq. 3.11
8383
H::Vector{ElT}
8484

@@ -175,7 +175,7 @@ function LookAheadLanczosDecomp(
175175

176176
D = Matrix{elT}(undef, 0, 0)
177177
E = Matrix{elT}(undef, 0, 0)
178-
G = Matrix{elT}(undef, 0, 0)
178+
G = Vector{elT}()
179179
H = Vector{elT}()
180180

181181
F = Matrix{elT}(undef, 0, 0)
@@ -488,9 +488,9 @@ function _update_Gnm1!(ld)
488488
# G_{n-1} = U_n L_{n-1}
489489
# U is currently U_n and L is currently L_{n-1}
490490
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)
492492
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]
494494
end
495495
return ld
496496
end
@@ -503,7 +503,7 @@ function _update_Gn!(ld)
503503
if !isone(ld.n)
504504
qtAp = fill(zero(eltype(ld.G)), length(ld.G))
505505
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])
507507
end
508508

509509
return ld
@@ -514,8 +514,8 @@ function _check_G(ld)
514514
n = ld.n
515515
if n <= 2 return false end
516516
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)
519519
)
520520
return false
521521
end

0 commit comments

Comments
 (0)