Skip to content

Conversation

@Toucan4Life
Copy link

@Toucan4Life Toucan4Life commented Oct 30, 2025

Fix #1528.
The issue was that, during the deflation step, the diagonal element of the matrix were all zero so the deflation never triggered based on this line :

t[(n, m)].clone().norm1() <= eps.clone() * (t[(n, n)].clone().norm1() + t[(m, m)].clone().norm1())

added a check to compare an off-diag element to an absolute very small value (eps.clone() * eps.clone())

the eigenvalues found are correctly :
Complex { re: -0.8611363115940531, im: 0.0 },
Complex { re: 0.8611363115940531, im: 0.0 },
Complex { re: -0.33998104358485637, im: 0.0 },
Complex { re: 0.33998104358485637, im: 0.0 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Infinite loop when computing eigen values

1 participant