#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();
}