Defined to be inherited by polynomial solvers: it provides convenient methods such as. More...
#include <PolynomialSolver.h>
Public Types | |
typedef DenseIndex | Index |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef Matrix< RootType, _Deg, 1 > | RootsType |
typedef std::complex< RealScalar > | RootType |
typedef _Scalar | Scalar |
Public Member Functions | |
const RealScalar & | absGreatestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
const RealScalar & | absSmallestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
const RealScalar & | greatestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
const RootType & | greatestRoot () const |
template<typename OtherPolynomial > | |
PolynomialSolverBase (const OtherPolynomial &poly) | |
PolynomialSolverBase () | |
template<typename Stl_back_insertion_sequence > | |
void | realRoots (Stl_back_insertion_sequence &bi_seq, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
const RootsType & | roots () const |
const RealScalar & | smallestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
const RootType & | smallestRoot () const |
Protected Member Functions | |
template<typename squaredNormBinaryPredicate > | |
const RootType & | selectComplexRoot_withRespectToNorm (squaredNormBinaryPredicate &pred) const |
template<typename squaredRealPartBinaryPredicate > | |
const RealScalar & | selectRealRoot_withRespectToAbsRealPart (squaredRealPartBinaryPredicate &pred, bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
template<typename RealPartBinaryPredicate > | |
const RealScalar & | selectRealRoot_withRespectToRealPart (RealPartBinaryPredicate &pred, bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherPolynomial > | |
void | setPolynomial (const OtherPolynomial &poly) |
Protected Attributes | |
RootsType | m_roots |
Defined to be inherited by polynomial solvers: it provides convenient methods such as.
It stores the set of roots as a vector of complexes.
Definition at line 42 of file PolynomialSolver.h.
typedef DenseIndex PolynomialSolverBase< _Scalar, _Deg >::Index |
Definition at line 52 of file PolynomialSolver.h.
typedef NumTraits<Scalar>::Real PolynomialSolverBase< _Scalar, _Deg >::RealScalar |
Definition at line 48 of file PolynomialSolver.h.
typedef Matrix<RootType,_Deg,1> PolynomialSolverBase< _Scalar, _Deg >::RootsType |
Definition at line 50 of file PolynomialSolver.h.
typedef std::complex<RealScalar> PolynomialSolverBase< _Scalar, _Deg >::RootType |
Definition at line 49 of file PolynomialSolver.h.
typedef _Scalar PolynomialSolverBase< _Scalar, _Deg >::Scalar |
Definition at line 47 of file PolynomialSolver.h.
PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase | ( | const OtherPolynomial & | poly | ) | [inline] |
Definition at line 61 of file PolynomialSolver.h.
PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase | ( | ) | [inline] |
Definition at line 64 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::absGreatestRealRoot | ( | bool & | hasArealRoot, |
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
[out] | hasArealRoot | : boolean true if a real root is found according to the absImaginaryThreshold criterion, false otherwise. |
[in] | absImaginaryThreshold | : threshold on the absolute imaginary part to decide whether or not a root is real. |
Definition at line 222 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::absSmallestRealRoot | ( | bool & | hasArealRoot, |
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
[out] | hasArealRoot | : boolean true if a real root is found according to the absImaginaryThreshold criterion, false otherwise. |
[in] | absImaginaryThreshold | : threshold on the absolute imaginary part to decide whether or not a root is real. |
Definition at line 245 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::greatestRealRoot | ( | bool & | hasArealRoot, |
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
[out] | hasArealRoot | : boolean true if a real root is found according to the absImaginaryThreshold criterion, false otherwise. |
[in] | absImaginaryThreshold | : threshold on the absolute imaginary part to decide whether or not a root is real. |
Definition at line 268 of file PolynomialSolver.h.
const RootType& PolynomialSolverBase< _Scalar, _Deg >::greatestRoot | ( | ) | const [inline] |
Definition at line 112 of file PolynomialSolver.h.
void PolynomialSolverBase< _Scalar, _Deg >::realRoots | ( | Stl_back_insertion_sequence & | bi_seq, |
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
Clear and fills the back insertion sequence with the real roots of the polynomial i.e. the real part of the complex roots that have an imaginary part which absolute value is smaller than absImaginaryThreshold. absImaginaryThreshold takes the dummy_precision associated with the _Scalar template parameter of the PolynomialSolver class as the default value.
[out] | bi_seq | : the back insertion sequence (stl concept) |
[in] | absImaginaryThreshold | : the maximum bound of the imaginary part of a complex number that is considered as real. |
Definition at line 82 of file PolynomialSolver.h.
const RootsType& PolynomialSolverBase< _Scalar, _Deg >::roots | ( | ) | const [inline] |
Definition at line 68 of file PolynomialSolver.h.
const RootType& PolynomialSolverBase< _Scalar, _Deg >::selectComplexRoot_withRespectToNorm | ( | squaredNormBinaryPredicate & | pred | ) | const [inline, protected] |
Definition at line 95 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToAbsRealPart | ( | squaredRealPartBinaryPredicate & | pred, |
bool & | hasArealRoot, | ||
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline, protected] |
Definition at line 129 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToRealPart | ( | RealPartBinaryPredicate & | pred, |
bool & | hasArealRoot, | ||
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline, protected] |
Definition at line 169 of file PolynomialSolver.h.
void PolynomialSolverBase< _Scalar, _Deg >::setPolynomial | ( | const OtherPolynomial & | poly | ) | [inline, protected] |
Definition at line 56 of file PolynomialSolver.h.
const RealScalar& PolynomialSolverBase< _Scalar, _Deg >::smallestRealRoot | ( | bool & | hasArealRoot, |
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
[out] | hasArealRoot | : boolean true if a real root is found according to the absImaginaryThreshold criterion, false otherwise. |
[in] | absImaginaryThreshold | : threshold on the absolute imaginary part to decide whether or not a root is real. |
Definition at line 291 of file PolynomialSolver.h.
const RootType& PolynomialSolverBase< _Scalar, _Deg >::smallestRoot | ( | ) | const [inline] |
Definition at line 121 of file PolynomialSolver.h.
RootsType PolynomialSolverBase< _Scalar, _Deg >::m_roots [protected] |
Definition at line 300 of file PolynomialSolver.h.