Problem Description
It would be nice to know when a breakdown occurs in the lanczos method #463 . At the moment it checks for convergence, but the method can suffer a breakdown whenever the two bi-orthogonal basis vectors are orthogonal or nearly orthogonal. Might be a good idea to check if the two initial vectors are orthogonal as well.
Proposed Solution
Check whenever the two basis vectors are orthogonal or nearly orthogonal and either break the for loop, or error.
Just below
if abs(δₖ) < breakdown_tol; error("Breakdown: Two basis vectors are orthogonal") end
Alternate Solutions
No response
Additional Context
No response