void check_is_diagonal() { Eigen::Matrix<fl::Real, Size, Size> m; m.resize(Dim, Dim); m.setRandom(); EXPECT_FALSE(fl::is_diagonal(m)); m = m.diagonal().asDiagonal(); EXPECT_TRUE(fl::is_diagonal(m)); m.setIdentity(); m *= 3.; EXPECT_TRUE(fl::is_diagonal(m)); m(0, Dim - 1) = 2; EXPECT_FALSE(fl::is_diagonal(m)); }
Eigen::Matrix<double,N,N> randomCovariance() { Eigen::Matrix<double,N,N> U; U.setRandom(); return U.transpose() * U + 5.0 * Eigen::Matrix<double,N,N>::Identity(); }