unsigned int Model::check_feedback_matrix(Eigen::MatrixXd &S) { Eigen::VectorXcd eigenvalues = S.eigenvalues(); Eigen::VectorXd real = eigenvalues.real(); Eigen::VectorXd imag = eigenvalues.imag(); double magnitude, max_magnitude = 0; for (unsigned int i = 0; i < n_alternatives; i++) { magnitude = sqrt(real(i) * real(i) + imag(i) * imag(i)); if (magnitude > max_magnitude) { max_magnitude = magnitude; } } // unsigned int res = 1; unsigned int res = 0; if (max_magnitude < 1) { res = 0; } return res; }