ITADN

BiCGStab Fails Silently

#339OpenRaderJason 创建于 2023-05-03
R
RaderJasoncommented
I mentioned here https://github.com/JuliaLinearAlgebra/IterativeSolvers.jl/issues/338 that GMRES was failing silently from stagnation. Turns out BiCGStab is also failing silently from (some form of) breakdown. Not so surprising that this fails given how I'm (mis)using the algorithm, but the failure should not be silent. Reproducing code: ```julia import IterativeSolvers: bicgstabl import LinearAlgebra: cond, norm for problem_dim in [25, 100] succeeded = 0 for i = 1:100 condition_number = Inf matrix = nothing while condition_number > 1000 matrix = randn(Float64, (problem_dim, problem_dim)) condition_number = cond(matrix) end true_vec = randn(Float64, (problem_dim,)) b = matrix * true_vec julia_soln = bicgstabl(matrix, b) residual_norm = norm(julia_soln - true_vec) succeeded += (residual_norm < 1) # very loose tolerance! end println("problem dim: $problem_dim. succeeded: $succeeded") end ```
0 条评论