Skip to content

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