Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't subtract N_DEFLATED from istop twice #794

Merged

Conversation

thijssteel
Copy link
Collaborator

Description

closes #793

During AED, eigenvalues of a subblock are calculated, some of these are deflated, others are stored to be used as shifts during the next multishift QZ iteration.

The shifts are stored in the eigenvalue array at an index corresponding to the top of the AED window. This equals istop - nd - ns + 1. However, after the AED call, istop is set to istop - nd to reflect the new active window. This means that the shifts are now stored at index istop - ns + 1.

This issue was not detected before, because usually, when nd is large enough that a significant amount of wrong shifts would be used, we skip the sweep in favor of doing another AED step.

Checklist

  • [ x] If the PR solves a specific issue, it is set to be closed on merge.

@langou langou merged commit b1e25a3 into Reference-LAPACK:master Feb 11, 2023
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.

Possible bug in xlaqz0
2 participants