diff options
author | 2010-04-26 16:59:18 +0100 | |
---|---|---|
committer | 2010-04-26 16:59:18 +0100 | |
commit | 024995dbcadf4dd8f0f7467bfd0753f34126b863 (patch) | |
tree | de53029581c60f5bb7615e3ae7dca90ee8b5b253 /Eigen/src/Eigenvalues/ComplexSchur.h | |
parent | 4f83d6ad1959f3c76cd5eb328ec65ced4ca4f339 (diff) |
Use topRows() and rightCols() in ComplexSchur and RealSchur.
Diffstat (limited to 'Eigen/src/Eigenvalues/ComplexSchur.h')
-rw-r--r-- | Eigen/src/Eigenvalues/ComplexSchur.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Eigenvalues/ComplexSchur.h b/Eigen/src/Eigenvalues/ComplexSchur.h index 8874aa257..52d0fc661 100644 --- a/Eigen/src/Eigenvalues/ComplexSchur.h +++ b/Eigen/src/Eigenvalues/ComplexSchur.h @@ -352,16 +352,16 @@ void ComplexSchur<MatrixType>::compute(const MatrixType& matrix, bool skipU) ComplexScalar shift = computeShift(iu, iter); PlanarRotation<ComplexScalar> rot; rot.makeGivens(m_matT.coeff(il,il) - shift, m_matT.coeff(il+1,il)); - m_matT.block(0,il,n,n-il).applyOnTheLeft(il, il+1, rot.adjoint()); - m_matT.block(0,0,std::min(il+2,iu)+1,n).applyOnTheRight(il, il+1, rot); + m_matT.rightCols(n-il).applyOnTheLeft(il, il+1, rot.adjoint()); + m_matT.topRows(std::min(il+2,iu)+1).applyOnTheRight(il, il+1, rot); if(!skipU) m_matU.applyOnTheRight(il, il+1, rot); for(int i=il+1 ; i<iu ; i++) { rot.makeGivens(m_matT.coeffRef(i,i-1), m_matT.coeffRef(i+1,i-1), &m_matT.coeffRef(i,i-1)); m_matT.coeffRef(i+1,i-1) = ComplexScalar(0); - m_matT.block(0,i,n,n-i).applyOnTheLeft(i, i+1, rot.adjoint()); - m_matT.block(0,0,std::min(i+2,iu)+1,n).applyOnTheRight(i, i+1, rot); + m_matT.rightCols(n-i).applyOnTheLeft(i, i+1, rot.adjoint()); + m_matT.topRows(std::min(i+2,iu)+1).applyOnTheRight(i, i+1, rot); if(!skipU) m_matU.applyOnTheRight(i, i+1, rot); } } |