Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "matrix_functions.h"
00011
00012 template<typename MatrixType>
00013 void testMatrixSqrt(const MatrixType& m)
00014 {
00015 MatrixType A;
00016 generateTestMatrix<MatrixType>::run(A, m.rows());
00017 MatrixType sqrtA = A.sqrt();
00018 VERIFY_IS_APPROX(sqrtA * sqrtA, A);
00019 }
00020
00021 void test_matrix_square_root()
00022 {
00023 for (int i = 0; i < g_repeat; i++) {
00024 CALL_SUBTEST_1(testMatrixSqrt(Matrix3cf()));
00025 CALL_SUBTEST_2(testMatrixSqrt(MatrixXcd(12,12)));
00026 CALL_SUBTEST_3(testMatrixSqrt(Matrix4f()));
00027 CALL_SUBTEST_4(testMatrixSqrt(Matrix<double,Dynamic,Dynamic,RowMajor>(9, 9)));
00028 CALL_SUBTEST_5(testMatrixSqrt(Matrix<float,1,1>()));
00029 CALL_SUBTEST_5(testMatrixSqrt(Matrix<std::complex<float>,1,1>()));
00030 }
00031 }