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 |
}
|