diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index a1706e53e..ad737aaeb 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -224,18 +224,18 @@ template<> struct ei_llt_inplace template struct LLT_Traits { typedef TriangularView MatrixL; - typedef TriangularView, UpperTriangular> MatrixU; + typedef TriangularView MatrixU; inline static MatrixL getL(const MatrixType& m) { return m; } - inline static MatrixU getU(const MatrixType& m) { return m.adjoint().nestByValue(); } + inline static MatrixU getU(const MatrixType& m) { return m.adjoint(); } static bool inplace_decomposition(MatrixType& m) { return ei_llt_inplace::blocked(m); } }; template struct LLT_Traits { - typedef TriangularView, LowerTriangular> MatrixL; + typedef TriangularView MatrixL; typedef TriangularView MatrixU; - inline static MatrixL getL(const MatrixType& m) { return m.adjoint().nestByValue(); } + inline static MatrixL getL(const MatrixType& m) { return m.adjoint(); } inline static MatrixU getU(const MatrixType& m) { return m; } static bool inplace_decomposition(MatrixType& m) { return ei_llt_inplace::blocked(m); } diff --git a/Eigen/src/Eigenvalues/HessenbergDecomposition.h b/Eigen/src/Eigenvalues/HessenbergDecomposition.h index cce76b288..9f7df49bc 100644 --- a/Eigen/src/Eigenvalues/HessenbergDecomposition.h +++ b/Eigen/src/Eigenvalues/HessenbergDecomposition.h @@ -58,10 +58,10 @@ template class HessenbergDecomposition typedef Matrix DiagonalType; typedef Matrix SubDiagonalType; - typedef typename NestByValue >::RealReturnType DiagonalReturnType; + typedef typename Diagonal::RealReturnType DiagonalReturnType; - typedef typename NestByValue >,0 > >::RealReturnType SubDiagonalReturnType; + typedef typename Diagonal< + Block,0 >::RealReturnType SubDiagonalReturnType; /** This constructor initializes a HessenbergDecomposition object for * further use with HessenbergDecomposition::compute() diff --git a/Eigen/src/Eigenvalues/Tridiagonalization.h b/Eigen/src/Eigenvalues/Tridiagonalization.h index 04b9f72d7..d8dcfb047 100644 --- a/Eigen/src/Eigenvalues/Tridiagonalization.h +++ b/Eigen/src/Eigenvalues/Tridiagonalization.h @@ -61,15 +61,15 @@ template class Tridiagonalization typedef Matrix SubDiagonalType; typedef typename ei_meta_if::IsComplex, - typename NestByValue >::RealReturnType, + typename Diagonal::RealReturnType, Diagonal >::ret DiagonalReturnType; typedef typename ei_meta_if::IsComplex, - typename NestByValue >,0 > >::RealReturnType, + typename Diagonal< + Block,0 >::RealReturnType, Diagonal< - NestByValue >,0 > + Block,0 > >::ret SubDiagonalReturnType; /** This constructor initializes a Tridiagonalization object for @@ -144,7 +144,7 @@ template const typename Tridiagonalization::DiagonalReturnType Tridiagonalization::diagonal(void) const { - return m_matrix.diagonal().nestByValue(); + return m_matrix.diagonal(); } /** \returns an expression of the sub-diagonal vector */ @@ -153,8 +153,7 @@ const typename Tridiagonalization::SubDiagonalReturnType Tridiagonalization::subDiagonal(void) const { int n = m_matrix.rows(); - return Block(m_matrix, 1, 0, n-1,n-1) - .nestByValue().diagonal().nestByValue(); + return Block(m_matrix, 1, 0, n-1,n-1).diagonal(); } /** constructs and returns the tridiagonal matrix T. diff --git a/Eigen/src/LU/FullPivLU.h b/Eigen/src/LU/FullPivLU.h index 28dc0cd47..8d18e65f7 100644 --- a/Eigen/src/LU/FullPivLU.h +++ b/Eigen/src/LU/FullPivLU.h @@ -351,11 +351,11 @@ template class FullPivLU * * \sa MatrixBase::inverse() */ - inline const ei_solve_retval > inverse() const + inline const ei_solve_retval inverse() const { ei_assert(m_isInitialized && "LU is not initialized."); ei_assert(m_lu.rows() == m_lu.cols() && "You can't take the inverse of a non-square matrix!"); - return ei_solve_retval > + return ei_solve_retval (*this, MatrixType::Identity(m_lu.rows(), m_lu.cols()).nestByValue()); } diff --git a/Eigen/src/LU/PartialPivLU.h b/Eigen/src/LU/PartialPivLU.h index 975f79287..84bc165df 100644 --- a/Eigen/src/LU/PartialPivLU.h +++ b/Eigen/src/LU/PartialPivLU.h @@ -143,10 +143,10 @@ template class PartialPivLU * * \sa MatrixBase::inverse(), LU::inverse() */ - inline const ei_solve_retval > inverse() const + inline const ei_solve_retval inverse() const { ei_assert(m_isInitialized && "PartialPivLU is not initialized."); - return ei_solve_retval > + return ei_solve_retval (*this, MatrixType::Identity(m_lu.rows(), m_lu.cols()).nestByValue()); } diff --git a/Eigen/src/QR/ColPivHouseholderQR.h b/Eigen/src/QR/ColPivHouseholderQR.h index e59ecac66..614aa0295 100644 --- a/Eigen/src/QR/ColPivHouseholderQR.h +++ b/Eigen/src/QR/ColPivHouseholderQR.h @@ -214,11 +214,11 @@ template class ColPivHouseholderQR * Use isInvertible() to first determine whether this matrix is invertible. */ inline const - ei_solve_retval > + ei_solve_retval inverse() const { ei_assert(m_isInitialized && "ColPivHouseholderQR is not initialized."); - return ei_solve_retval > + return ei_solve_retval (*this, MatrixType::Identity(m_qr.rows(), m_qr.cols()).nestByValue()); } diff --git a/Eigen/src/QR/FullPivHouseholderQR.h b/Eigen/src/QR/FullPivHouseholderQR.h index ac0108046..db57ba088 100644 --- a/Eigen/src/QR/FullPivHouseholderQR.h +++ b/Eigen/src/QR/FullPivHouseholderQR.h @@ -216,11 +216,11 @@ template class FullPivHouseholderQR * \note If this matrix is not invertible, the returned matrix has undefined coefficients. * Use isInvertible() to first determine whether this matrix is invertible. */ inline const - ei_solve_retval > + ei_solve_retval inverse() const { ei_assert(m_isInitialized && "FullPivHouseholderQR is not initialized."); - return ei_solve_retval > + return ei_solve_retval (*this, MatrixType::Identity(m_qr.rows(), m_qr.cols()).nestByValue()); }