mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fix real schur exceptional shift
This commit is contained in:
committed by
Rasmus Munk Larsen
parent
4ac3e71f77
commit
d38d669fdb
@@ -409,7 +409,7 @@ inline void RealSchur<MatrixType>::computeShift(Index iu, Index iter, Scalar& ex
|
|||||||
shiftInfo.coeffRef(2) = m_matT.coeff(iu, iu - 1) * m_matT.coeff(iu - 1, iu);
|
shiftInfo.coeffRef(2) = m_matT.coeff(iu, iu - 1) * m_matT.coeff(iu - 1, iu);
|
||||||
|
|
||||||
// Alternate exceptional shifting strategy every 16 iterations.
|
// Alternate exceptional shifting strategy every 16 iterations.
|
||||||
if (iter % 16 == 0) {
|
if (iter > 0 && iter % 16 == 0) {
|
||||||
// Wilkinson's original ad hoc shift
|
// Wilkinson's original ad hoc shift
|
||||||
if (iter % 32 != 0) {
|
if (iter % 32 != 0) {
|
||||||
exshift += shiftInfo.coeff(0);
|
exshift += shiftInfo.coeff(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user