@@ -109,23 +109,24 @@ def_args_usymlqr = (:(A ),
109109def_optargs_usymlqr = (:(x0:: AbstractVector ),
110110 :(y0:: AbstractVector ))
111111
112- def_kwargs_usymlqr = (:(; M = I ),
113- :(; N = I ),
114- :(; ldiv:: Bool = false ),
115- :(; atol:: T = √ eps (T) ),
116- :(; rtol:: T = √ eps (T) ),
117- :(; itmax:: Int = 0 ),
118- :(; timemax:: Float64 = Inf ),
119- :(; verbose:: Int = 0 ),
120- :(; history:: Bool = false ),
121- :(; callback = solver -> false ),
122- :(; iostream:: IO = kstdout ))
112+ def_kwargs_usymlqr = (:(; transfer_to_usymcg:: Bool = true ),
113+ :(; M = I ),
114+ :(; N = I ),
115+ :(; ldiv:: Bool = false ),
116+ :(; atol:: T = √ eps (T) ),
117+ :(; rtol:: T = √ eps (T) ),
118+ :(; itmax:: Int = 0 ),
119+ :(; timemax:: Float64 = Inf ),
120+ :(; verbose:: Int = 0 ),
121+ :(; history:: Bool = false ),
122+ :(; callback = solver -> false ),
123+ :(; iostream:: IO = kstdout ))
123124
124125def_kwargs_usymlqr = mapreduce (extract_parameters, vcat, def_kwargs_usymlqr)
125126
126127args_usymlqr = (:A , :b , :c )
127128optargs_usymlqr = (:x0 , :y0 )
128- kwargs_usymlqr = (:M , :N , :ldiv , :atol , :rtol , :itmax , :timemax , :verbose , :history , :callback , :iostream )
129+ kwargs_usymlqr = (:transfer_to_usymcg , : M , :N , :ldiv , :atol , :rtol , :itmax , :timemax , :verbose , :history , :callback , :iostream )
129130
130131@eval begin
131132 function usymlqr! (solver :: UsymlqrSolver{T,FC,S} , $ (def_args_usymlqr... ); $ (def_kwargs_usymlqr... )) where {T <: AbstractFloat , FC <: FloatOrComplex{T} , S <: AbstractVector{FC} }
@@ -277,7 +278,7 @@ kwargs_usymlqr = (:M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
277278 test_LS = ArNorm_qr / (Anorm * max (one (T), rNorm_qr))
278279 solved_lim_LS = test_LS ≤ ls_optimality_tol
279280 solved_mach_LS = one (T) + test_LS ≤ one (T)
280- solved_LS = solved_mach_LS | solved_lim_LS
281+ solved_LS = solved_mach_LS || solved_lim_LS
281282 end
282283 kdisplay (iter, verbose) && @printf (iostream, " %7.1e " , ArNorm_qr)
283284
@@ -309,7 +310,7 @@ kwargs_usymlqr = (:M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
309310 test_LS = rNorm_qr / (one (T) + Anorm * xNorm)
310311 zero_resid_lim_LS = test_LS ≤ ls_zero_resid_tol
311312 zero_resid_mach_LS = one (T) + test_LS ≤ one (T)
312- zero_resid_LS = zero_resid_mach_LS | zero_resid_lim_LS
313+ zero_resid_LS = zero_resid_mach_LS || zero_resid_lim_LS
313314 solved_LS |= zero_resid_LS
314315
315316 end
@@ -388,7 +389,7 @@ kwargs_usymlqr = (:M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
388389 # transition_to_cg = false
389390 # end
390391
391- if transition_to_cg
392+ if transfer_to_usymcg
392393 # @. yC = y + etabar* pbar
393394 # @. zC = z - etabar* wbar
394395 end
0 commit comments