diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-01-05 15:38:20 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-01-05 15:38:20 +0100 |
commit | 39209edd713a20bfb325796f8eafdc8194eed38e (patch) | |
tree | 97e44663ba5d310af81fadabfa73fbef028487df /unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h | |
parent | cab85218db9d4e22f2940f34f4cb2e5f5032f6a9 (diff) |
port unsupported modules to new API
Diffstat (limited to 'unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h')
-rw-r--r-- | unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h b/unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h index 117ee82d7..a429b3392 100644 --- a/unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h +++ b/unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h @@ -25,7 +25,7 @@ #ifndef EIGEN_MATRIX_FUNCTION_ATOMIC #define EIGEN_MATRIX_FUNCTION_ATOMIC -/** \ingroup MatrixFunctions_Module +/** \ingroup MatrixFunctions_Module * \class MatrixFunctionAtomic * \brief Helper class for computing matrix functions of atomic matrices. * @@ -110,30 +110,30 @@ void MatrixFunctionAtomic<MatrixType>::computeMu() const MatrixType N = MatrixType::Identity(m_Arows, m_Arows) - m_Ashifted; VectorType e = VectorType::Ones(m_Arows); N.template triangularView<UpperTriangular>().solveInPlace(e); - m_mu = e.cwise().abs().maxCoeff(); + m_mu = e.cwiseAbs().maxCoeff(); } /** \brief Determine whether Taylor series has converged */ template <typename MatrixType> -bool MatrixFunctionAtomic<MatrixType>::taylorConverged(int s, const MatrixType& F, +bool MatrixFunctionAtomic<MatrixType>::taylorConverged(int s, const MatrixType& F, const MatrixType& Fincr, const MatrixType& P) { const int n = F.rows(); - const RealScalar F_norm = F.cwise().abs().rowwise().sum().maxCoeff(); - const RealScalar Fincr_norm = Fincr.cwise().abs().rowwise().sum().maxCoeff(); + const RealScalar F_norm = F.cwiseAbs().rowwise().sum().maxCoeff(); + const RealScalar Fincr_norm = Fincr.cwiseAbs().rowwise().sum().maxCoeff(); if (Fincr_norm < epsilon<Scalar>() * F_norm) { RealScalar delta = 0; RealScalar rfactorial = 1; for (int r = 0; r < n; r++) { RealScalar mx = 0; - for (int i = 0; i < n; i++) + for (int i = 0; i < n; i++) mx = std::max(mx, std::abs(m_f(m_Ashifted(i, i) + m_avgEival, s+r))); if (r != 0) rfactorial *= r; delta = std::max(delta, mx / rfactorial); } - const RealScalar P_norm = P.cwise().abs().rowwise().sum().maxCoeff(); - if (m_mu * delta * P_norm < epsilon<Scalar>() * F_norm) + const RealScalar P_norm = P.cwiseAbs().rowwise().sum().maxCoeff(); + if (m_mu * delta * P_norm < epsilon<Scalar>() * F_norm) return true; } return false; |