sturm.hpp File Reference

#include "config.hpp"
#include "exception.hpp"
#include "factory.hpp"
#include "vector.hpp"
#include "sturm.cpp"

Go to the source code of this file.

Namespaces

namespace  Arageli

Defines

#define ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_STURM

Functions

template<typename P, typename SS>
void Arageli::sturm_diff_sys (const P &p, SS &ss)
 Builds full Sturm system for polynomial.
template<typename SS, typename T>
SS::size_type Arageli::sturm_sign_changes (const SS &ss, const T &x, int signpx)
 Number of sign changes for Sturm system in point 'x' with precomputed sign.
template<typename SS, typename T>
SS::size_type Arageli::sturm_sign_changes (const SS &ss, const T &x)
 Number of sign changes for Sturm system in point 'x'.
template<typename SS, typename Seg>
SS::size_type Arageli::sturm_number_roots (const SS &ss, const Seg &seg)
 Number of roots of polynomial ss.front() on segment 'seg' by Sturm system 'ss'.
template<typename SS, typename SegT, bool SegREFCNT>
vector< typename SS::size_type > Arageli::sturm_number_roots (const SS &ss, const vector< SegT, SegREFCNT > &lims)
 Vector version of simple sturm_number_roots.
template<typename T, typename P, typename LIMS, typename SegBound>
void Arageli::sturm (const P &p, LIMS &lims, SegBound bs)
 Real root location for polynomial by the Sturm algorithm on segment bs.
template<typename T, typename P, typename LIMS>
void Arageli::sturm (const P &p, LIMS &lims)
 All real root location for polynomial by the Sturm algorithm.
template<typename P, typename Lims>
bool Arageli::interval_root_dichotomy (const P &p, int lsign, Lims &lims)
 Dichotomy of an interval with one root of a polynomial to double precision.
template<typename P, typename Lims, typename T>
bool Arageli::interval_root_precise (const P &p, Lims &lims, const T &e)
 Fits intervals that located the roots to 'e' precision.
template<typename T, typename P, typename Roots, typename Prec>
void Arageli::roots_poly_real (const P &p, Roots &roots, Prec &prec, const T &e=null< T >())
 Computes all real roots of polynomial with precision 'e'.


Detailed Description

This file contains declaration of Sturm algorithm for location of roots. Now the location only real (not complex) roots is implemented. Also the file contains several routines for Sturm system building and precising of found roots.

Definition in file sturm.hpp.


Define Documentation

#define ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_STURM

Definition at line 119 of file sturm.hpp.


Generated on Thu Aug 31 17:38:19 2006 for Arageli by  doxygen 1.4.7