mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-10-12 08:01:29 +08:00
Fix real schur exceptional shift
This commit is contained in:
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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user