diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-05-27 05:47:30 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-05-27 05:47:30 +0000 |
commit | 953efdbfe70efcb3f078f19c55baca0b118e683a (patch) | |
tree | dece04572c4384687accc008cfe9115cdc2ee6a0 /Eigen/src/Cholesky | |
parent | 8f1fc80a77551b26c05669527534aff7b621b86c (diff) |
- introduce Part and Extract classes, splitting and extending the former
Triangular class
- full meta-unrolling in Part
- move inverseProduct() to MatrixBase
- compilation fix in ProductWIP: introduce a meta-selector to only do
direct access on types that support it.
- phase out the old Product, remove the WIP_DIRTY stuff.
- misc renaming and fixes
Diffstat (limited to 'Eigen/src/Cholesky')
-rw-r--r-- | Eigen/src/Cholesky/Cholesky.h | 6 | ||||
-rw-r--r-- | Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Eigen/src/Cholesky/Cholesky.h b/Eigen/src/Cholesky/Cholesky.h index 325c9c6fc..8d9b6e8d8 100644 --- a/Eigen/src/Cholesky/Cholesky.h +++ b/Eigen/src/Cholesky/Cholesky.h @@ -58,9 +58,9 @@ template<typename MatrixType> class Cholesky compute(matrix); } - Triangular<Lower, MatrixType> matrixL(void) const + Extract<MatrixType, Lower> matrixL(void) const { - return m_matrix.lower(); + return m_matrix; } bool isPositiveDefinite(void) const { return m_isPositiveDefinite; } @@ -118,7 +118,7 @@ typename Derived::Eval Cholesky<MatrixType>::solve(MatrixBase<Derived> &b) const int size = m_matrix.rows(); ei_assert(size==b.size()); - return m_matrix.adjoint().upper().inverseProduct(m_matrix.lower().inverseProduct(b)); + return m_matrix.adjoint().template extract<Upper>().inverseProduct(matrixL().inverseProduct(b)); } diff --git a/Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h b/Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h index 589dd858d..5ebd04d2c 100644 --- a/Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h +++ b/Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h @@ -58,9 +58,9 @@ template<typename MatrixType> class CholeskyWithoutSquareRoot } /** \returns the lower triangular matrix L */ - Triangular<Lower|UnitDiagBit, MatrixType > matrixL(void) const + Extract<MatrixType, UnitLower> matrixL(void) const { - return m_matrix.lowerWithUnitDiag(); + return m_matrix; } /** \returns the coefficients of the diagonal matrix D */ @@ -131,9 +131,9 @@ typename Derived::Eval CholeskyWithoutSquareRoot<MatrixType>::solve(MatrixBase<D const int size = m_matrix.rows(); ei_assert(size==vecB.size()); - return m_matrix.adjoint().upperWithUnitDiag() + return m_matrix.adjoint().template extract<UnitUpper>() .inverseProduct( - (m_matrix.lowerWithUnitDiag() + (matrixL() .inverseProduct(vecB)) .cwiseQuotient(m_matrix.diagonal()) ); |