| #include <unsupported/Eigen/Polynomials> |
| #include <iostream> |
| |
| using namespace Eigen; |
| using namespace std; |
| |
| int main() { |
| Vector4d roots = Vector4d::Random(); |
| cout << "Roots: " << roots.transpose() << endl; |
| Eigen::Matrix<double, 5, 1> polynomial; |
| roots_to_monicPolynomial(roots, polynomial); |
| cout << "Polynomial: "; |
| for (int i = 0; i < 4; ++i) { |
| cout << polynomial[i] << ".x^" << i << "+ "; |
| } |
| cout << polynomial[4] << ".x^4" << endl; |
| Vector4d evaluation; |
| for (int i = 0; i < 4; ++i) { |
| evaluation[i] = poly_eval(polynomial, roots[i]); |
| } |
| cout << "Evaluation of the polynomial at the roots: " << evaluation.transpose(); |
| } |