core: add iterations limit check in eigenNonSymmetric()

This commit is contained in:
Alexander Alekhin
2019-03-18 17:47:07 +03:00
parent ec25689b42
commit a7c4ee9ae1
2 changed files with 16 additions and 1 deletions
+11
View File
@@ -519,4 +519,15 @@ TEST_P(Core_EigenZero, double)
}
INSTANTIATE_TEST_CASE_P(/**/, Core_EigenZero, testing::Values(2, 3, 5));
TEST(Core_EigenNonSymmetric, convergence)
{
Matx33d m(
0, -1, 0,
1, 0, 1,
0, -1, 0);
Mat eigenvalues, eigenvectors;
// eigen values are complex, algorithm doesn't converge
EXPECT_THROW(cv::eigenNonSymmetric(m, eigenvalues, eigenvectors), cv::Exception); // exception instead of hang
}
}} // namespace