aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Cholesky
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-05-27 05:47:30 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-05-27 05:47:30 +0000
commit953efdbfe70efcb3f078f19c55baca0b118e683a (patch)
treedece04572c4384687accc008cfe9115cdc2ee6a0 /Eigen/src/Cholesky
parent8f1fc80a77551b26c05669527534aff7b621b86c (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.h6
-rw-r--r--Eigen/src/Cholesky/CholeskyWithoutSquareRoot.h8
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())
);