aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Eigenvalues/ComplexSchur.h
diff options
context:
space:
mode:
authorGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2010-04-26 16:59:18 +0100
committerGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2010-04-26 16:59:18 +0100
commit024995dbcadf4dd8f0f7467bfd0753f34126b863 (patch)
treede53029581c60f5bb7615e3ae7dca90ee8b5b253 /Eigen/src/Eigenvalues/ComplexSchur.h
parent4f83d6ad1959f3c76cd5eb328ec65ced4ca4f339 (diff)
Use topRows() and rightCols() in ComplexSchur and RealSchur.
Diffstat (limited to 'Eigen/src/Eigenvalues/ComplexSchur.h')
-rw-r--r--Eigen/src/Eigenvalues/ComplexSchur.h8
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);
}
}