Skip to content

Commit 2558bfe

Browse files
committed
Restore the alignment of comments
1 parent 0e62593 commit 2558bfe

29 files changed

+190
-190
lines changed

src/bicgstab.jl

+24-24
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,15 @@ kwargs_bicgstab = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose,
154154
kcopy!(n, r₀, b) # r₀ ← b
155155
end
156156

157-
kfill!(x, zero(FC)) # x₀
158-
kfill!(s, zero(FC)) # s₀
159-
kfill!(v, zero(FC)) # v₀
157+
kfill!(x, zero(FC)) # x₀
158+
kfill!(s, zero(FC)) # s₀
159+
kfill!(v, zero(FC)) # v₀
160160
MisI || mulorldiv!(r, M, r₀, ldiv) # r₀
161-
kcopy!(n, p, r) # p₁
161+
kcopy!(n, p, r) # p₁
162162

163-
α = one(FC) # α₀
164-
ω = one(FC) # ω₀
165-
ρ = one(FC) # ρ₀
163+
α = one(FC) # α₀
164+
ω = one(FC) # ω₀
165+
ρ = one(FC) # ρ₀
166166

167167
# Compute residual norm ‖r₀‖₂.
168168
rNorm = knorm(n, r)
@@ -206,24 +206,24 @@ kwargs_bicgstab = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose,
206206
iter = iter + 1
207207
ρ = next_ρ
208208

209-
NisI || mulorldiv!(y, N, p, ldiv) # yₖ = N⁻¹pₖ
210-
mul!(q, A, y) # qₖ = Ayₖ
211-
mulorldiv!(v, M, q, ldiv) # vₖ = M⁻¹qₖ
212-
α = ρ / kdot(n, c, v) # αₖ = ⟨r̅₀,rₖ₋₁⟩ / ⟨r̅₀,vₖ⟩
213-
kcopy!(n, s, r) # sₖ = rₖ₋₁
214-
kaxpy!(n, -α, v, s) # sₖ = sₖ - αₖvₖ
215-
kaxpy!(n, α, y, x) # xₐᵤₓ = xₖ₋₁ + αₖyₖ
216-
NisI || mulorldiv!(z, N, s, ldiv) # zₖ = N⁻¹sₖ
217-
mul!(d, A, z) # dₖ = Azₖ
218-
MisI || mulorldiv!(t, M, d, ldiv) # tₖ = M⁻¹dₖ
209+
NisI || mulorldiv!(y, N, p, ldiv) # yₖ = N⁻¹pₖ
210+
mul!(q, A, y) # qₖ = Ayₖ
211+
mulorldiv!(v, M, q, ldiv) # vₖ = M⁻¹qₖ
212+
α = ρ / kdot(n, c, v) # αₖ = ⟨r̅₀,rₖ₋₁⟩ / ⟨r̅₀,vₖ⟩
213+
kcopy!(n, s, r) # sₖ = rₖ₋₁
214+
kaxpy!(n, -α, v, s) # sₖ = sₖ - αₖvₖ
215+
kaxpy!(n, α, y, x) # xₐᵤₓ = xₖ₋₁ + αₖyₖ
216+
NisI || mulorldiv!(z, N, s, ldiv) # zₖ = N⁻¹sₖ
217+
mul!(d, A, z) # dₖ = Azₖ
218+
MisI || mulorldiv!(t, M, d, ldiv) # tₖ = M⁻¹dₖ
219219
ω = kdot(n, t, s) / kdot(n, t, t) # ⟨tₖ,sₖ⟩ / ⟨tₖ,tₖ⟩
220-
kaxpy!(n, ω, z, x) # xₖ = xₐᵤₓ + ωₖzₖ
221-
kcopy!(n, r, s) # rₖ = sₖ
222-
kaxpy!(n, -ω, t, r) # rₖ = rₖ - ωₖtₖ
223-
next_ρ = kdot(n, c, r) # ρₖ₊₁ = ⟨r̅₀,rₖ⟩
224-
β = (next_ρ / ρ) */ ω) # βₖ₊₁ = (ρₖ₊₁ / ρₖ) * (αₖ / ωₖ)
225-
kaxpy!(n, -ω, v, p) # pₐᵤₓ = pₖ - ωₖvₖ
226-
kaxpby!(n, one(FC), r, β, p) # pₖ₊₁ = rₖ₊₁ + βₖ₊₁pₐᵤₓ
220+
kaxpy!(n, ω, z, x) # xₖ = xₐᵤₓ + ωₖzₖ
221+
kcopy!(n, r, s) # rₖ = sₖ
222+
kaxpy!(n, -ω, t, r) # rₖ = rₖ - ωₖtₖ
223+
next_ρ = kdot(n, c, r) # ρₖ₊₁ = ⟨r̅₀,rₖ⟩
224+
β = (next_ρ / ρ) */ ω) # βₖ₊₁ = (ρₖ₊₁ / ρₖ) * (αₖ / ωₖ)
225+
kaxpy!(n, -ω, v, p) # pₐᵤₓ = pₖ - ωₖvₖ
226+
kaxpby!(n, one(FC), r, β, p) # pₖ₊₁ = rₖ₊₁ + βₖ₊₁pₐᵤₓ
227227

228228
# Compute residual norm ‖rₖ‖₂.
229229
rNorm = knorm(n, r)

src/bilq.jl

+5-5
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,13 @@ kwargs_bilq = (:c, :transfer_to_bicg, :M, :N, :ldiv, :atol, :rtol, :itmax, :time
191191

192192
βₖ = (abs(cᴴb)) # β₁γ₁ = cᴴ(b - Ax₀)
193193
γₖ = cᴴb / βₖ # β₁γ₁ = cᴴ(b - Ax₀)
194-
kfill!(vₖ₋₁, zero(FC)) # v₀ = 0
195-
kfill!(uₖ₋₁, zero(FC)) # u₀ = 0
194+
kfill!(vₖ₋₁, zero(FC)) # v₀ = 0
195+
kfill!(uₖ₋₁, zero(FC)) # u₀ = 0
196196
vₖ .= r₀ ./ βₖ # v₁ = (b - Ax₀) / β₁
197197
uₖ .= c ./ conj(γₖ) # u₁ = c / γ̄₁
198198
cₖ₋₁ = cₖ = -one(T) # Givens cosines used for the LQ factorization of Tₖ
199199
sₖ₋₁ = sₖ = zero(FC) # Givens sines used for the LQ factorization of Tₖ
200-
kfill!(d̅, zero(FC)) # Last column of D̅ₖ = Vₖ(Qₖ)ᴴ
200+
kfill!(d̅, zero(FC)) # Last column of D̅ₖ = Vₖ(Qₖ)ᴴ
201201
ζₖ₋₁ = ζbarₖ = zero(FC) # ζₖ₋₁ and ζbarₖ are the last components of z̅ₖ = (L̅ₖ)⁻¹β₁e₁
202202
ζₖ₋₂ = ηₖ = zero(FC) # ζₖ₋₂ and ηₖ are used to update ζₖ₋₁ and ζbarₖ
203203
δbarₖ₋₁ = δbarₖ = zero(FC) # Coefficients of Lₖ₋₁ and L̅ₖ modified over the course of two iterations
@@ -239,8 +239,8 @@ kwargs_bilq = (:c, :transfer_to_bicg, :M, :N, :ldiv, :atol, :rtol, :itmax, :time
239239
kaxpy!(n, -conj(αₖ), uₖ, p) # p ← p - ᾱₖ * uₖ
240240

241241
pᴴq = kdot(n, p, q) # pᴴq = ⟨p,q⟩
242-
βₖ₊₁ = (abs(pᴴq)) # βₖ₊₁ = √(|pᴴq|)
243-
γₖ₊₁ = pᴴq / βₖ₊₁ # γₖ₊₁ = pᴴq / βₖ₊₁
242+
βₖ₊₁ = (abs(pᴴq)) # βₖ₊₁ = √(|pᴴq|)
243+
γₖ₊₁ = pᴴq / βₖ₊₁ # γₖ₊₁ = pᴴq / βₖ₊₁
244244

245245
# Update the LQ factorization of Tₖ = L̅ₖQₖ.
246246
# [ α₁ γ₂ 0 • • • 0 ] [ δ₁ 0 • • • • 0 ]

src/bilqr.jl

+7-7
Original file line numberDiff line numberDiff line change
@@ -175,21 +175,21 @@ kwargs_bilqr = (:transfer_to_bicg, :atol, :rtol, :itmax, :timemax, :verbose, :hi
175175
# Set up workspace.
176176
βₖ = (abs(cᴴb)) # β₁γ₁ = (c - Aᴴy₀)ᴴ(b - Ax₀)
177177
γₖ = cᴴb / βₖ # β₁γ₁ = (c - Aᴴy₀)ᴴ(b - Ax₀)
178-
kfill!(vₖ₋₁, zero(FC)) # v₀ = 0
179-
kfill!(uₖ₋₁, zero(FC)) # u₀ = 0
178+
kfill!(vₖ₋₁, zero(FC)) # v₀ = 0
179+
kfill!(uₖ₋₁, zero(FC)) # u₀ = 0
180180
vₖ .= r₀ ./ βₖ # v₁ = (b - Ax₀) / β₁
181181
uₖ .= s₀ ./ conj(γₖ) # u₁ = (c - Aᴴy₀) / γ̄₁
182182
cₖ₋₁ = cₖ = -one(T) # Givens cosines used for the LQ factorization of Tₖ
183183
sₖ₋₁ = sₖ = zero(FC) # Givens sines used for the LQ factorization of Tₖ
184-
kfill!(d̅, zero(FC)) # Last column of D̅ₖ = Vₖ(Qₖ)ᴴ
184+
kfill!(d̅, zero(FC)) # Last column of D̅ₖ = Vₖ(Qₖ)ᴴ
185185
ζₖ₋₁ = ζbarₖ = zero(FC) # ζₖ₋₁ and ζbarₖ are the last components of z̅ₖ = (L̅ₖ)⁻¹β₁e₁
186186
ζₖ₋₂ = ηₖ = zero(FC) # ζₖ₋₂ and ηₖ are used to update ζₖ₋₁ and ζbarₖ
187187
δbarₖ₋₁ = δbarₖ = zero(FC) # Coefficients of Lₖ₋₁ and L̅ₖ modified over the course of two iterations
188188
ψbarₖ₋₁ = ψₖ₋₁ = zero(FC) # ψₖ₋₁ and ψbarₖ are the last components of h̅ₖ = Qₖγ̄₁e₁
189189
norm_vₖ = bNorm / βₖ # ‖vₖ‖ is used for residual norm estimates
190190
ϵₖ₋₃ = λₖ₋₂ = zero(FC) # Components of Lₖ₋₁
191-
kfill!(wₖ₋₃, zero(FC)) # Column k-3 of Wₖ = Uₖ(Lₖ)⁻ᴴ
192-
kfill!(wₖ₋₂, zero(FC)) # Column k-2 of Wₖ = Uₖ(Lₖ)⁻ᴴ
191+
kfill!(wₖ₋₃, zero(FC)) # Column k-3 of Wₖ = Uₖ(Lₖ)⁻ᴴ
192+
kfill!(wₖ₋₂, zero(FC)) # Column k-2 of Wₖ = Uₖ(Lₖ)⁻ᴴ
193193
τₖ = zero(T) # τₖ is used for the dual residual norm estimate
194194

195195
# Stopping criterion.
@@ -225,8 +225,8 @@ kwargs_bilqr = (:transfer_to_bicg, :atol, :rtol, :itmax, :timemax, :verbose, :hi
225225
kaxpy!(n, -conj(αₖ), uₖ, p) # p ← p - ᾱₖ * uₖ
226226

227227
pᴴq = kdot(n, p, q) # pᴴq = ⟨p,q⟩
228-
βₖ₊₁ = (abs(pᴴq)) # βₖ₊₁ = √(|pᴴq|)
229-
γₖ₊₁ = pᴴq / βₖ₊₁ # γₖ₊₁ = pᴴq / βₖ₊₁
228+
βₖ₊₁ = (abs(pᴴq)) # βₖ₊₁ = √(|pᴴq|)
229+
γₖ₊₁ = pᴴq / βₖ₊₁ # γₖ₊₁ = pᴴq / βₖ₊₁
230230

231231
# Update the LQ factorization of Tₖ = L̅ₖQₖ.
232232
# [ α₁ γ₂ 0 • • • 0 ] [ δ₁ 0 • • • • 0 ]

src/car.jl

+3-3
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ kwargs_car = (:M, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :history, :ca
148148
kcopy!(n, s, q) # s ← q
149149
end
150150

151-
mul!(t, A, s) # t₀ = As₀
151+
mul!(t, A, s) # t₀ = As₀
152152
kcopy!(n, u, t) # u₀ = Aq₀
153153
ρ = kdotr(n, t, s) # ρ₀ = ⟨t₀ , s₀⟩
154154

@@ -201,9 +201,9 @@ kwargs_car = (:M, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :history, :ca
201201
solved = resid_decrease_lim || resid_decrease_mach
202202

203203
if !solved
204-
mul!(t, A, s) # tₖ₊₁ = A * sₖ₊₁
204+
mul!(t, A, s) # tₖ₊₁ = A * sₖ₊₁
205205
ρ_next = kdotr(n, t, s) # ρₖ₊₁ = ⟨tₖ₊₁ , sₖ₊₁⟩
206-
β = ρ_next / ρ # βₖ = ρₖ₊₁ / ρₖ
206+
β = ρ_next / ρ # βₖ = ρₖ₊₁ / ρₖ
207207
ρ = ρ_next
208208
kaxpby!(n, one(FC), r, β, p) # pₖ₊₁ = rₖ₊₁ + βₖ * pₖ
209209
kaxpby!(n, one(FC), s, β, q) # qₖ₊₁ = sₖ₊₁ + βₖ * qₖ

src/cg_lanczos.jl

+9-9
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ kwargs_cg_lanczos = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :timemax
138138
kcopy!(n, Mv, b) # Mv ← b
139139
end
140140
MisI || mulorldiv!(v, M, Mv, ldiv) # v₁ = M⁻¹r₀
141-
β = sqrt(kdotr(n, v, Mv)) # β₁ = v₁ᴴ M v₁
141+
β = sqrt(kdotr(n, v, Mv)) # β₁ = v₁ᴴ M v₁
142142
σ = β
143143
rNorm = σ
144144
history && push!(rNorms, rNorm)
@@ -185,7 +185,7 @@ kwargs_cg_lanczos = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :timemax
185185
while ! (solved || tired || (check_curvature & indefinite) || user_requested_exit || overtimed)
186186
# Form next Lanczos vector.
187187
# βₖ₊₁Mvₖ₊₁ = Avₖ - δₖMvₖ - βₖMvₖ₋₁
188-
mul!(Mv_next, A, v) # Mvₖ₊₁ ← Avₖ
188+
mul!(Mv_next, A, v) # Mvₖ₊₁ ← Avₖ
189189
δ = kdotr(n, v, Mv_next) # δₖ = vₖᴴ A vₖ
190190

191191
# Check curvature. Exit fast if requested.
@@ -194,25 +194,25 @@ kwargs_cg_lanczos = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :timemax
194194
indefinite |= 0)
195195
(check_curvature & indefinite) && continue
196196

197-
kaxpy!(n, -δ, Mv, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - δₖMvₖ
197+
kaxpy!(n, -δ, Mv, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - δₖMvₖ
198198
if iter > 0
199-
kaxpy!(n, -β, Mv_prev, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - βₖMvₖ₋₁
200-
kcopy!(n, Mv_prev, Mv) # Mvₖ₋₁ ← Mvₖ
199+
kaxpy!(n, -β, Mv_prev, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - βₖMvₖ₋₁
200+
kcopy!(n, Mv_prev, Mv) # Mvₖ₋₁ ← Mvₖ
201201
end
202202
kcopy!(n, Mv, Mv_next) # Mvₖ ← Mvₖ₊₁
203-
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
203+
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
204204
β = sqrt(kdotr(n, v, Mv)) # βₖ₊₁ = vₖ₊₁ᴴ M vₖ₊₁
205205
kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁
206206
MisI || kscal!(n, one(FC) / β, Mv) # Mvₖ₊₁ ← Mvₖ₊₁ / βₖ₊₁
207-
Anorm2 += β_prev^2 + β^2 + δ^2 # Use ‖Tₖ₊₁‖₂ as increasing approximation of ‖A‖₂.
207+
Anorm2 += β_prev^2 + β^2 + δ^2 # Use ‖Tₖ₊₁‖₂ as increasing approximation of ‖A‖₂.
208208
β_prev = β
209209

210210
# Compute next CG iterate.
211-
kaxpy!(n, γ, p, x) # xₖ₊₁ = xₖ + γₖ * pₖ
211+
kaxpy!(n, γ, p, x) # xₖ₊₁ = xₖ + γₖ * pₖ
212212
ω = β * γ
213213
σ = -ω * σ # σₖ₊₁ = - βₖ₊₁ * γₖ * σₖ
214214
ω = ω * ω # ωₖ = (βₖ₊₁ * γₖ)²
215-
kaxpby!(n, σ, v, ω, p) # pₖ₊₁ = σₖ₊₁ * vₖ₊₁ + ωₖ * pₖ
215+
kaxpby!(n, σ, v, ω, p) # pₖ₊₁ = σₖ₊₁ * vₖ₊₁ + ωₖ * pₖ
216216
rNorm = abs(σ) # ‖rₖ₊₁‖_M = |σₖ₊₁| because rₖ₊₁ = σₖ₊₁ * vₖ₊₁ and ‖vₖ₊₁‖_M = 1
217217
history && push!(rNorms, rNorm)
218218
iter = iter + 1

src/cg_lanczos_shift.jl

+4-4
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,9 @@ kwargs_cg_lanczos_shift = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :t
131131
for i = 1 : nshifts
132132
kfill!(x[i], zero(FC)) # x₀
133133
end
134-
kcopy!(n, Mv, b) # Mv₁ ← b
134+
kcopy!(n, Mv, b) # Mv₁ ← b
135135
MisI || mulorldiv!(v, M, Mv, ldiv) # v₁ = M⁻¹ * Mv₁
136-
β = sqrt(kdotr(n, v, Mv)) # β₁ = v₁ᴴ M v₁
136+
β = sqrt(kdotr(n, v, Mv)) # β₁ = v₁ᴴ M v₁
137137
kfill!(rNorms, β)
138138
if history
139139
for i = 1 : nshifts
@@ -196,15 +196,15 @@ kwargs_cg_lanczos_shift = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :t
196196
while ! (solved || tired || user_requested_exit || overtimed)
197197
# Form next Lanczos vector.
198198
# βₖ₊₁Mvₖ₊₁ = Avₖ - δₖMvₖ - βₖMvₖ₋₁
199-
mul!(Mv_next, A, v) # Mvₖ₊₁ ← Avₖ
199+
mul!(Mv_next, A, v) # Mvₖ₊₁ ← Avₖ
200200
δ = kdotr(n, v, Mv_next) # δₖ = vₖᴴ A vₖ
201201
kaxpy!(n, -δ, Mv, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - δₖMvₖ
202202
if iter > 0
203203
kaxpy!(n, -β, Mv_prev, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - βₖMvₖ₋₁
204204
kcopy!(n, Mv_prev, Mv) # Mvₖ₋₁ ← Mvₖ
205205
end
206206
kcopy!(n, Mv, Mv_next) # Mvₖ ← Mvₖ₊₁
207-
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
207+
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
208208
β = sqrt(kdotr(n, v, Mv)) # βₖ₊₁ = vₖ₊₁ᴴ M vₖ₊₁
209209
kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁
210210
MisI || kscal!(n, one(FC) / β, Mv) # Mvₖ₊₁ ← Mvₖ₊₁ / βₖ₊₁

src/cgls.jl

+7-7
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@ kwargs_cgls = (:M, :ldiv, :radius, :λ, :atol, :rtol, :itmax, :timemax, :verbose
147147
Mq = MisI ? q : solver.Mr
148148

149149
kfill!(x, zero(FC))
150-
kcopy!(m, r, b) # r ← b
151-
bNorm = knorm(m, r) # Marginally faster than norm(b)
150+
kcopy!(m, r, b) # r ← b
151+
bNorm = knorm(m, r) # Marginally faster than norm(b)
152152
if bNorm == 0
153153
stats.niter = 0
154154
stats.solved, stats.inconsistent = true, false
@@ -160,7 +160,7 @@ kwargs_cgls = (:M, :ldiv, :radius, :λ, :atol, :rtol, :itmax, :timemax, :verbose
160160
end
161161
MisI || mulorldiv!(Mr, M, r, ldiv)
162162
mul!(s, Aᴴ, Mr)
163-
kcopy!(n, p, s) # p ← s
163+
kcopy!(n, p, s) # p ← s
164164
γ = kdotr(n, s, s) # γ = sᴴs
165165
iter = 0
166166
itmax == 0 && (itmax = m + n)
@@ -194,12 +194,12 @@ kwargs_cgls = (:M, :ldiv, :radius, :λ, :atol, :rtol, :itmax, :timemax, :verbose
194194
on_boundary = true
195195
end
196196

197-
kaxpy!(n, α, p, x) # Faster than x = x + α * p
198-
kaxpy!(m, -α, q, r) # Faster than r = r - α * q
197+
kaxpy!(n, α, p, x) # Faster than x = x + α * p
198+
kaxpy!(m, -α, q, r) # Faster than r = r - α * q
199199
MisI || mulorldiv!(Mr, M, r, ldiv)
200200
mul!(s, Aᴴ, Mr)
201-
λ > 0 && kaxpy!(n, -λ, x, s) # s = A' * r - λ * x
202-
γ_next = kdotr(n, s, s) # γ_next = sᴴs
201+
λ > 0 && kaxpy!(n, -λ, x, s) # s = A' * r - λ * x
202+
γ_next = kdotr(n, s, s) # γ_next = sᴴs
203203
β = γ_next / γ
204204
kaxpby!(n, one(FC), s, β, p) # p = s + βp
205205
γ = γ_next

src/cgls_lanczos_shift.jl

+12-12
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,10 @@ kwargs_cgls_lanczos_shift = (:M, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose
137137
kfill!(x[i], zero(FC)) # x₀
138138
end
139139

140-
kcopy!(m, u, b) # u ← b
140+
kcopy!(m, u, b) # u ← b
141141
kfill!(u_prev, zero(FC))
142-
mul!(v, Aᴴ, u) # v₁ ← Aᴴ * b
143-
β = sqrt(kdotr(n, v, v)) # β₁ = v₁ᵀ M v₁
142+
mul!(v, Aᴴ, u) # v₁ ← Aᴴ * b
143+
β = sqrt(kdotr(n, v, v)) # β₁ = v₁ᵀ M v₁
144144
kfill!(rNorms, β)
145145
if history
146146
for i = 1 : nshifts
@@ -198,16 +198,16 @@ kwargs_cgls_lanczos_shift = (:M, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose
198198
while ! (solved || tired || user_requested_exit || overtimed)
199199

200200
# Form next Lanczos vector.
201-
mul!(utilde, A, v) # utildeₖ ← Avₖ
202-
δ = kdotr(m, utilde, utilde) # δₖ = vₖᵀAᴴAvₖ
203-
kaxpy!(m, -δ, u, utilde) # uₖ₊₁ = utildeₖ - δₖuₖ - βₖuₖ₋₁
201+
mul!(utilde, A, v) # utildeₖ ← Avₖ
202+
δ = kdotr(m, utilde, utilde) # δₖ = vₖᵀAᴴAvₖ
203+
kaxpy!(m, -δ, u, utilde) # uₖ₊₁ = utildeₖ - δₖuₖ - βₖuₖ₋₁
204204
kaxpy!(m, -β, u_prev, utilde)
205-
mul!(v, Aᴴ, utilde) # vₖ₊₁ = Aᴴuₖ₊₁
206-
β = sqrt(kdotr(n, v, v)) # βₖ₊₁ = vₖ₊₁ᵀ M vₖ₊₁
207-
kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁
208-
kscal!(m, one(FC) / β, utilde) # uₖ₊₁ = uₖ₊₁ / βₖ₊₁
209-
kcopy!(m, u_prev, u) # u_prev ← u
210-
kcopy!(m, u, utilde) # u ← utilde
205+
mul!(v, Aᴴ, utilde) # vₖ₊₁ = Aᴴuₖ₊₁
206+
β = sqrt(kdotr(n, v, v)) # βₖ₊₁ = vₖ₊₁ᵀ M vₖ₊₁
207+
kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁
208+
kscal!(m, one(FC) / β, utilde) # uₖ₊₁ = uₖ₊₁ / βₖ₊₁
209+
kcopy!(m, u_prev, u) # u_prev ← u
210+
kcopy!(m, u, utilde) # u ← utilde
211211

212212
MisI ||= kdotr(n, v, v))
213213
for i = 1 : nshifts

src/cgne.jl

+3-3
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ kwargs_cgne = (:N, :ldiv, :λ, :atol, :rtol, :itmax, :timemax, :verbose, :histor
154154
kfill!(x, zero(FC))
155155
kcopy!(m, r, b) # r ← b
156156
NisI || mulorldiv!(z, N, r, ldiv)
157-
rNorm = knorm(m, r) # Marginally faster than norm(r)
157+
rNorm = knorm(m, r) # Marginally faster than norm(r)
158158
history && push!(rNorms, rNorm)
159159
if rNorm == 0
160160
stats.niter = 0
@@ -195,8 +195,8 @@ kwargs_cgne = (:N, :ldiv, :λ, :atol, :rtol, :itmax, :timemax, :verbose, :histor
195195
δ = kdotr(n, p, p) # Faster than dot(p, p)
196196
λ > 0 &&+= λ * kdotr(m, s, s))
197197
α = γ / δ
198-
kaxpy!(n, α, p, x) # Faster than x = x + α * p
199-
kaxpy!(m, -α, q, r) # Faster than r = r - α * q
198+
kaxpy!(n, α, p, x) # Faster than x = x + α * p
199+
kaxpy!(m, -α, q, r) # Faster than r = r - α * q
200200
NisI || mulorldiv!(z, N, r, ldiv)
201201
γ_next = kdotr(m, r, z) # Faster than γ_next = dot(r, z)
202202
β = γ_next / γ

0 commit comments

Comments
 (0)