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 29 of file PolynomialSolver.h.
typedef DenseIndex Eigen::PolynomialSolverBase< _Scalar, _Deg >::Index |
Definition at line 39 of file PolynomialSolver.h.
typedef NumTraits<Scalar>::Real Eigen::PolynomialSolverBase< _Scalar, _Deg >::RealScalar |
Definition at line 35 of file PolynomialSolver.h.
typedef Matrix<RootType,_Deg,1> Eigen::PolynomialSolverBase< _Scalar, _Deg >::RootsType |
Definition at line 37 of file PolynomialSolver.h.
typedef std::complex<RealScalar> Eigen::PolynomialSolverBase< _Scalar, _Deg >::RootType |
Definition at line 36 of file PolynomialSolver.h.
typedef _Scalar Eigen::PolynomialSolverBase< _Scalar, _Deg >::Scalar |
Definition at line 34 of file PolynomialSolver.h.
Eigen::PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase | ( | const OtherPolynomial & | poly | ) | [inline] |
Definition at line 48 of file PolynomialSolver.h.
Eigen::PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase | ( | ) | [inline] |
Definition at line 51 of file PolynomialSolver.h.
const RealScalar& Eigen::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 209 of file PolynomialSolver.h.
const RealScalar& Eigen::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 232 of file PolynomialSolver.h.
const RealScalar& Eigen::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 255 of file PolynomialSolver.h.
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::greatestRoot | ( | ) | const [inline] |
Definition at line 99 of file PolynomialSolver.h.
void Eigen::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 69 of file PolynomialSolver.h.
const RootsType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::roots | ( | ) | const [inline] |
Definition at line 55 of file PolynomialSolver.h.
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectComplexRoot_withRespectToNorm | ( | squaredNormBinaryPredicate & | pred | ) | const [inline, protected] |
Definition at line 82 of file PolynomialSolver.h.
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToAbsRealPart | ( | squaredRealPartBinaryPredicate & | pred, |
bool & | hasArealRoot, | ||
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline, protected] |
Definition at line 116 of file PolynomialSolver.h.
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToRealPart | ( | RealPartBinaryPredicate & | pred, |
bool & | hasArealRoot, | ||
const RealScalar & | absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline, protected] |
Definition at line 156 of file PolynomialSolver.h.
void Eigen::PolynomialSolverBase< _Scalar, _Deg >::setPolynomial | ( | const OtherPolynomial & | poly | ) | [inline, protected] |
Definition at line 43 of file PolynomialSolver.h.
const RealScalar& Eigen::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 278 of file PolynomialSolver.h.
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::smallestRoot | ( | ) | const [inline] |
Definition at line 108 of file PolynomialSolver.h.
RootsType Eigen::PolynomialSolverBase< _Scalar, _Deg >::m_roots [protected] |
Definition at line 287 of file PolynomialSolver.h.