Find all the roots of a univariate polynomial with complex coefficients. More...
#include <vnl_cpoly_roots.h>
Public Member Functions | |
vnl_cpoly_roots (vnl_vector< vcl_complex< double > > const &a) | |
vnl_cpoly_roots (vnl_vector< double > const &a_real, vnl_vector< double > const &a_imag) | |
Public Attributes | |
vnl_vector< vcl_complex< double > > | solns |
Private Member Functions | |
void | compute (vnl_vector< vcl_complex< double > > const &a) |
does the actual work. | |
Private Attributes | |
unsigned | N |
Find all the roots of a univariate polynomial with complex coefficients.
Class to find all the roots of a univariate polynomial f with complex coefficients. Currently works by computing the eigenvalues of the companion matrix of f.
The input vector a of coefficients are given to the constructor. The polynomial is f = t^N + a[0] t^{N-1} + ... + a[N-1] The roots can then be found in the 'solns' member.
Definition at line 26 of file vnl_cpoly_roots.h.
vnl_cpoly_roots::vnl_cpoly_roots | ( | vnl_vector< vcl_complex< double > > const & | a | ) |
Definition at line 27 of file vnl_cpoly_roots.cxx.
vnl_cpoly_roots::vnl_cpoly_roots | ( | vnl_vector< double > const & | a_real, |
vnl_vector< double > const & | a_imag | ||
) |
Definition at line 34 of file vnl_cpoly_roots.cxx.
void vnl_cpoly_roots::compute | ( | vnl_vector< vcl_complex< double > > const & | a | ) | [private] |
does the actual work.
Definition at line 8 of file vnl_cpoly_roots.cxx.
unsigned vnl_cpoly_roots::N [private] |
Definition at line 37 of file vnl_cpoly_roots.h.
vnl_vector<vcl_complex<double> > vnl_cpoly_roots::solns |
Definition at line 34 of file vnl_cpoly_roots.h.