From 0b5546d182928acb428daba0787755180da4b3fc Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Thu, 7 Apr 2016 15:49:30 -0700 Subject: [PATCH] Use lpNorm<1>() to compute l1 norms in LLT and LDLT. --- Eigen/src/Cholesky/LDLT.h | 8 ++++---- Eigen/src/Cholesky/LLT.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index 80f18977c..902376fd6 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -459,16 +459,16 @@ LDLT& LDLT::compute(const EigenBase() + + m_matrix.row(col).head(col).template lpNorm<1>(); if (abs_col_sum > m_l1_norm) { m_l1_norm = abs_col_sum; } } } else { for (int col = 0; col < a.cols(); ++col) { - const RealScalar abs_col_sum = m_matrix.col(col).head(col).cwiseAbs().sum() + - m_matrix.row(col).tail(size - col).cwiseAbs().sum(); + const RealScalar abs_col_sum = m_matrix.col(col).head(col).template lpNorm<1>() + + m_matrix.row(col).tail(size - col).template lpNorm<1>(); if (abs_col_sum > m_l1_norm) { m_l1_norm = abs_col_sum; } diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index 94da1d52d..dc2ccd6a4 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -414,16 +414,16 @@ LLT& LLT::compute(const EigenBase m_l1_norm = RealScalar(0); if (_UpLo == Lower) { for (int col = 0; col < size; ++col) { - const RealScalar abs_col_sum = m_matrix.col(col).tail(size - col).cwiseAbs().sum() + - m_matrix.row(col).head(col).cwiseAbs().sum(); + const RealScalar abs_col_sum = m_matrix.col(col).tail(size - col).template lpNorm<1>() + + m_matrix.row(col).head(col).template lpNorm<1>(); if (abs_col_sum > m_l1_norm) { m_l1_norm = abs_col_sum; } } } else { for (int col = 0; col < a.cols(); ++col) { - const RealScalar abs_col_sum = m_matrix.col(col).head(col).cwiseAbs().sum() + - m_matrix.row(col).tail(size - col).cwiseAbs().sum(); + const RealScalar abs_col_sum = m_matrix.col(col).head(col).template lpNorm<1>() + + m_matrix.row(col).tail(size - col).template lpNorm<1>(); if (abs_col_sum > m_l1_norm) { m_l1_norm = abs_col_sum; }