Skip to content

Errors for handling breakdowns, or near breakdowns in the lanczos spectrum method. #501

@LynBar

Description

@LynBar

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

δₖ = sqrt(abs(buf))

if abs(δₖ) < breakdown_tol; error("Breakdown: Two basis vectors are orthogonal") end

Alternate Solutions

No response

Additional Context

No response

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions