Blame doc/examples/polyroots.c

Packit 67cb25
#include <stdio.h>
Packit 67cb25
#include <gsl/gsl_poly.h>
Packit 67cb25
Packit 67cb25
int
Packit 67cb25
main (void)
Packit 67cb25
{
Packit 67cb25
  int i;
Packit 67cb25
  /* coefficients of P(x) =  -1 + x^5  */
Packit 67cb25
  double a[6] = { -1, 0, 0, 0, 0, 1 };  
Packit 67cb25
  double z[10];
Packit 67cb25
Packit 67cb25
  gsl_poly_complex_workspace * w 
Packit 67cb25
      = gsl_poly_complex_workspace_alloc (6);
Packit 67cb25
  
Packit 67cb25
  gsl_poly_complex_solve (a, 6, w, z);
Packit 67cb25
Packit 67cb25
  gsl_poly_complex_workspace_free (w);
Packit 67cb25
Packit 67cb25
  for (i = 0; i < 5; i++)
Packit 67cb25
    {
Packit 67cb25
      printf ("z%d = %+.18f %+.18f\n", 
Packit 67cb25
              i, z[2*i], z[2*i+1]);
Packit 67cb25
    }
Packit 67cb25
Packit 67cb25
  return 0;
Packit 67cb25
}