12 #include <Eigen/Eigenvalues> 38 template<
typename MatrixType>
void schur(
int size = MatrixType::ColsAtCompileTime)
41 for(
int counter = 0; counter <
g_repeat; ++counter) {
74 rs3.setMaxIterations(1).compute(A);
80 Atriangular.template triangularView<StrictlyLower>().
setZero();
81 rs3.setMaxIterations(1).compute(Atriangular);
92 if (size > 2 && size < 20)
95 A(0,0) = std::numeric_limits<typename MatrixType::Scalar>::quiet_NaN();
103 CALL_SUBTEST_1(( schur<Matrix4f>() ));
#define VERIFY_RAISES_ASSERT(a)
cout<< "Here is a random 4x4 matrix, A:"<< endl<< A<< endl<< endl;ComplexSchur< MatrixXcf > schurOfA(A, false)
const MatrixType & matrixU() const
Returns the orthogonal matrix in the Schur decomposition.
Matrix< SCALARA, Dynamic, Dynamic > A
ComputationInfo info() const
Reports whether previous computation was successful.
const MatrixType & matrixT() const
Returns the quasi-triangular matrix in the Schur decomposition.
#define VERIFY_IS_APPROX(a, b)
#define VERIFY_IS_EQUAL(a, b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Eigen::Triplet< double > T
RealSchur & compute(const EigenBase< InputType > &matrix, bool computeU=true)
Computes Schur decomposition of given matrix.
RealSchur & setMaxIterations(Index maxIters)
Sets the maximum number of iterations allowed.
#define EIGEN_TEST_MAX_SIZE
void verifyIsQuasiTriangular(const MatrixType &T)
void schur(int size=MatrixType::ColsAtCompileTime)
The matrix class, also used for vectors and row-vectors.