11 #include <unsupported/Eigen/MatrixFunctions> 14 template<typename MatrixType, int IsComplex = NumTraits<typename internal::traits<MatrixType>::Scalar>::IsComplex>
17 static void run(MatrixType&, MatrixType&,
const MatrixType&)
22 template<
typename MatrixType>
25 static void run(MatrixType& m, MatrixType& T,
const MatrixType& U)
30 if (i == size - 1 || T.coeff(i+1,i) == 0)
31 T.coeffRef(i,i) =
std::abs(T.coeff(i,i));
35 m = U * T * U.transpose();
39 template <typename MatrixType, int IsComplex = NumTraits<typename internal::traits<MatrixType>::Scalar>::IsComplex>
42 template <
typename MatrixType>
47 result = MatrixType::Random(size, size);
48 RealSchur<MatrixType> schur(result);
49 MatrixType T = schur.matrixT();
54 template <
typename MatrixType>
59 result = MatrixType::Random(size, size);
63 template <
typename Derived,
typename OtherDerived>
64 typename Derived::RealScalar
relerr(
const MatrixBase<Derived>&
A,
const MatrixBase<OtherDerived>& B)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseAbs2ReturnType cwiseAbs2() const
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
static constexpr size_t size(Tuple< Args... > &)
Provides access to the number of elements in a tuple as a compile-time constant expression.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
static void run(MatrixType &result, typename MatrixType::Index size)
Derived::RealScalar relerr(const MatrixBase< Derived > &A, const MatrixBase< OtherDerived > &B)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
const mpreal sum(const mpreal tab[], const unsigned long int n, int &status, mp_rnd_t mode=mpreal::get_default_rnd())
static void run(MatrixType &, MatrixType &, const MatrixType &)
static void run(MatrixType &result, typename MatrixType::Index size)
static void run(MatrixType &m, MatrixType &T, const MatrixType &U)