Public Member Functions | Private Member Functions | Private Attributes
vnl_rnpoly_solve Class Reference

Solves for roots of system of real polynomials. More...

#include <vnl_rnpoly_solve.h>

List of all members.

Public Member Functions

 vnl_rnpoly_solve (vcl_vector< vnl_real_npolynomial * > const &ps)
 The constructor already does all the calculations.
 ~vnl_rnpoly_solve ()
vcl_vector< vnl_vector< double > * > real ()
 Array of real parts of roots.
vcl_vector< vnl_vector< double > * > imag ()
 Array of imaginary parts of roots.
vcl_vector< vnl_vector< double > * > realroots (double tol=1e-12)
 Return real roots only.

Private Member Functions

bool compute ()
 Compute roots using continuation algorithm.
void Read_Input (vcl_vector< unsigned int > &ideg, vcl_vector< unsigned int > &terms, vcl_vector< int > &polyn, vcl_vector< double > &coeff)
 This will read the input polynomials from a data file.

Private Attributes

vcl_vector
< vnl_real_npolynomial * > 
ps_
vcl_vector< vnl_vector< double > * > r_
vcl_vector< vnl_vector< double > * > i_

Detailed Description

Solves for roots of system of real polynomials.

Calculates all the roots of a system of N polynomials in N variables through continuation. Adapted from the PARALLEL CONTINUATION algorithm, written by Darrell Stam, 1991, and further improved by Kriegman and Ponce, 1992.

Definition at line 32 of file vnl_rnpoly_solve.h.


Constructor & Destructor Documentation

vnl_rnpoly_solve::vnl_rnpoly_solve ( vcl_vector< vnl_real_npolynomial * > const &  ps) [inline]

The constructor already does all the calculations.

Definition at line 44 of file vnl_rnpoly_solve.h.

vnl_rnpoly_solve::~vnl_rnpoly_solve ( )

Definition at line 763 of file vnl_rnpoly_solve.cxx.


Member Function Documentation

bool vnl_rnpoly_solve::compute ( ) [private]

Compute roots using continuation algorithm.

Definition at line 769 of file vnl_rnpoly_solve.cxx.

vcl_vector<vnl_vector<double>*> vnl_rnpoly_solve::imag ( ) [inline]

Array of imaginary parts of roots.

Definition at line 57 of file vnl_rnpoly_solve.h.

void vnl_rnpoly_solve::Read_Input ( vcl_vector< unsigned int > &  ideg,
vcl_vector< unsigned int > &  terms,
vcl_vector< int > &  polyn,
vcl_vector< double > &  coeff 
) [private]

This will read the input polynomials from a data file.

Definition at line 725 of file vnl_rnpoly_solve.cxx.

vcl_vector<vnl_vector<double>*> vnl_rnpoly_solve::real ( ) [inline]

Array of real parts of roots.

Definition at line 54 of file vnl_rnpoly_solve.h.

vcl_vector< vnl_vector< double > * > vnl_rnpoly_solve::realroots ( double  tol = 1e-12)

Return real roots only.

Roots are real if the absolute value of their imaginary part is less than the optional argument tol, which defaults to 1e-12 [untested]

Definition at line 61 of file vnl_rnpoly_solve.cxx.


Member Data Documentation

vcl_vector<vnl_vector<double>*> vnl_rnpoly_solve::i_ [private]

Definition at line 37 of file vnl_rnpoly_solve.h.

Definition at line 35 of file vnl_rnpoly_solve.h.

vcl_vector<vnl_vector<double>*> vnl_rnpoly_solve::r_ [private]

Definition at line 36 of file vnl_rnpoly_solve.h.


The documentation for this class was generated from the following files: