From e3545e4fbe2d5d240c2da3a6b215c9d7c25c19cd Mon Sep 17 00:00:00 2001 From: Nuwan Yapa Date: Thu, 7 May 2026 12:43:44 -0400 Subject: [PATCH] Increase maximum iterations --- Hamiltonian.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Hamiltonian.jl b/Hamiltonian.jl index e09cafa..4e18862 100644 --- a/Hamiltonian.jl +++ b/Hamiltonian.jl @@ -125,6 +125,7 @@ function (H::Hamiltonian)(v) end tolerance = 1e-6 +max_iterations = 500 "Wrapper for KrylovKit.eigsolve" function eig(H::Hamiltonian{T}, levels::Int; resonances = !H.hermitian)::Tuple{Vector,Vector,KrylovKit.ConvergenceInfo} where {T<:Float} @@ -134,7 +135,7 @@ function eig(H::Hamiltonian{T}, levels::Int; resonances = !H.hermitian)::Tuple{V x₀ = CUDA.rand(Complex{T}, vectorDims(H)...) synchronize() end - evals, evecs, info = eigsolve(H, x₀, levels, resonances ? :LI : :SR; ishermitian = H.hermitian, tol = tolerance, krylovdim = levels * 8) + evals, evecs, info = eigsolve(H, x₀, levels, resonances ? :LI : :SR; ishermitian = H.hermitian, tol = tolerance, krylovdim = levels * 8, maxiter = max_iterations) info.converged < levels && throw(error("Not enough convergence")) if H.hermitian evals = real.(evals) end if H.mode == gpu_cutensor # to avoid possible GPU memory leak