companion.c

00001 #include "solve_poly_root.h"
00002 
00003 
00004 void
00005 set_companion_matrix (const double *a, size_t nc, double *m)
00006 {
00007   size_t i, j;
00008 
00009   for (i = 0; i < nc; i++)
00010     for (j = 0; j < nc; j++)
00011       MAT (m, i, j, nc) = 0.0;
00012 
00013   for (i = 1; i < nc; i++)
00014     MAT (m, i, i - 1, nc) = 1.0;
00015 
00016   for (i = 0; i < nc; i++)
00017     MAT (m, i, nc - 1, nc) = -a[i] / a[nc];
00018 }

Generated on Wed Oct 26 13:08:51 2005 for SINFONI Pipeline Reference Manual by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001