26 #ifndef EIGEN_MATRIXBASEEIGENVALUES_H
27 #define EIGEN_MATRIXBASEEIGENVALUES_H
33 template<
typename Derived,
bool IsComplex>
34 struct eigenvalues_selector
37 static inline typename MatrixBase<Derived>::EigenvaluesReturnType
const
38 run(
const MatrixBase<Derived>& m)
40 typedef typename Derived::PlainObject PlainObject;
41 PlainObject m_eval(m);
42 return ComplexEigenSolver<PlainObject>(m_eval,
false).eigenvalues();
46 template<
typename Derived>
47 struct eigenvalues_selector<Derived, false>
49 static inline typename MatrixBase<Derived>::EigenvaluesReturnType
const
50 run(
const MatrixBase<Derived>& m)
52 typedef typename Derived::PlainObject PlainObject;
53 PlainObject m_eval(m);
54 return EigenSolver<PlainObject>(m_eval,
false).eigenvalues();
80 template<
typename Derived>
81 inline typename MatrixBase<Derived>::EigenvaluesReturnType
84 typedef typename internal::traits<Derived>::Scalar
Scalar;
102 template<
typename MatrixType,
unsigned int UpLo>
107 PlainObject thisAsMatrix(*
this);
135 template<
typename Derived>
139 typename Derived::PlainObject m_eval(derived());
144 .template selfadjointView<Lower>()
165 template<
typename MatrixType,
unsigned int UpLo>
169 return eigenvalues().cwiseAbs().maxCoeff();