Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::PolynomialSolverBase< _Scalar, _Deg > Class Template Reference

Defined to be inherited by polynomial solvers: it provides convenient methods such as. More...

#include <PolynomialSolver.h>

Inheritance diagram for Eigen::PolynomialSolverBase< _Scalar, _Deg >:
Inheritance graph
[legend]

Public Types

typedef DenseIndex Index
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef Matrix< RootType, _Deg, 1 > RootsType
 
typedef std::complex< RealScalarRootType
 
typedef _Scalar Scalar
 

Public Member Functions

const RealScalarabsGreatestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const
 
const RealScalarabsSmallestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const
 
const RealScalargreatestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const
 
const RootTypegreatestRoot () 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 RootsTyperoots () const
 
const RealScalarsmallestRealRoot (bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const
 
const RootTypesmallestRoot () const
 

Protected Member Functions

template<typename squaredNormBinaryPredicate >
const RootTypeselectComplexRoot_withRespectToNorm (squaredNormBinaryPredicate &pred) const
 
template<typename squaredRealPartBinaryPredicate >
const RealScalarselectRealRoot_withRespectToAbsRealPart (squaredRealPartBinaryPredicate &pred, bool &hasArealRoot, const RealScalar &absImaginaryThreshold=NumTraits< Scalar >::dummy_precision()) const
 
template<typename RealPartBinaryPredicate >
const RealScalarselectRealRoot_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
 

Detailed Description

template<typename _Scalar, int _Deg>
class Eigen::PolynomialSolverBase< _Scalar, _Deg >

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.

Member Typedef Documentation

◆ Index

template<typename _Scalar, int _Deg>
typedef DenseIndex Eigen::PolynomialSolverBase< _Scalar, _Deg >::Index

Definition at line 39 of file PolynomialSolver.h.

◆ RealScalar

template<typename _Scalar, int _Deg>
typedef NumTraits<Scalar>::Real Eigen::PolynomialSolverBase< _Scalar, _Deg >::RealScalar

Definition at line 35 of file PolynomialSolver.h.

◆ RootsType

template<typename _Scalar, int _Deg>
typedef Matrix<RootType,_Deg,1> Eigen::PolynomialSolverBase< _Scalar, _Deg >::RootsType

Definition at line 37 of file PolynomialSolver.h.

◆ RootType

template<typename _Scalar, int _Deg>
typedef std::complex<RealScalar> Eigen::PolynomialSolverBase< _Scalar, _Deg >::RootType

Definition at line 36 of file PolynomialSolver.h.

◆ Scalar

template<typename _Scalar, int _Deg>
typedef _Scalar Eigen::PolynomialSolverBase< _Scalar, _Deg >::Scalar

Definition at line 34 of file PolynomialSolver.h.

Constructor & Destructor Documentation

◆ PolynomialSolverBase() [1/2]

template<typename _Scalar, int _Deg>
template<typename OtherPolynomial >
Eigen::PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase ( const OtherPolynomial &  poly)
inline

Definition at line 48 of file PolynomialSolver.h.

◆ PolynomialSolverBase() [2/2]

template<typename _Scalar, int _Deg>
Eigen::PolynomialSolverBase< _Scalar, _Deg >::PolynomialSolverBase ( )
inline

Definition at line 51 of file PolynomialSolver.h.

Member Function Documentation

◆ absGreatestRealRoot()

template<typename _Scalar, int _Deg>
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::absGreatestRealRoot ( bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
a real root with greatest absolute magnitude. A real root is defined as the real part of a complex root with absolute imaginary part smallest than absImaginaryThreshold. absImaginaryThreshold takes the dummy_precision associated with the _Scalar template parameter of the PolynomialSolver class as the default value. If no real root is found the boolean hasArealRoot is set to false and the real part of the root with smallest absolute imaginary part is returned instead.
Parameters
[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 212 of file PolynomialSolver.h.

◆ absSmallestRealRoot()

template<typename _Scalar, int _Deg>
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::absSmallestRealRoot ( bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
a real root with smallest absolute magnitude. A real root is defined as the real part of a complex root with absolute imaginary part smallest than absImaginaryThreshold. absImaginaryThreshold takes the dummy_precision associated with the _Scalar template parameter of the PolynomialSolver class as the default value. If no real root is found the boolean hasArealRoot is set to false and the real part of the root with smallest absolute imaginary part is returned instead.
Parameters
[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 235 of file PolynomialSolver.h.

◆ greatestRealRoot()

template<typename _Scalar, int _Deg>
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::greatestRealRoot ( bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
the real root with greatest value. A real root is defined as the real part of a complex root with absolute imaginary part smallest than absImaginaryThreshold. absImaginaryThreshold takes the dummy_precision associated with the _Scalar template parameter of the PolynomialSolver class as the default value. If no real root is found the boolean hasArealRoot is set to false and the real part of the root with smallest absolute imaginary part is returned instead.
Parameters
[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 258 of file PolynomialSolver.h.

◆ greatestRoot()

template<typename _Scalar, int _Deg>
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::greatestRoot ( ) const
inline
Returns
the complex root with greatest norm.

Definition at line 100 of file PolynomialSolver.h.

◆ realRoots()

template<typename _Scalar, int _Deg>
template<typename Stl_back_insertion_sequence >
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.

Parameters
[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.

◆ roots()

template<typename _Scalar, int _Deg>
const RootsType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::roots ( ) const
inline
Returns
the complex roots of the polynomial

Definition at line 55 of file PolynomialSolver.h.

◆ selectComplexRoot_withRespectToNorm()

template<typename _Scalar, int _Deg>
template<typename squaredNormBinaryPredicate >
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectComplexRoot_withRespectToNorm ( squaredNormBinaryPredicate &  pred) const
inlineprotected

Definition at line 83 of file PolynomialSolver.h.

◆ selectRealRoot_withRespectToAbsRealPart()

template<typename _Scalar, int _Deg>
template<typename squaredRealPartBinaryPredicate >
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToAbsRealPart ( squaredRealPartBinaryPredicate &  pred,
bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inlineprotected

Definition at line 117 of file PolynomialSolver.h.

◆ selectRealRoot_withRespectToRealPart()

template<typename _Scalar, int _Deg>
template<typename RealPartBinaryPredicate >
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::selectRealRoot_withRespectToRealPart ( RealPartBinaryPredicate &  pred,
bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inlineprotected

Definition at line 158 of file PolynomialSolver.h.

◆ setPolynomial()

template<typename _Scalar, int _Deg>
template<typename OtherPolynomial >
void Eigen::PolynomialSolverBase< _Scalar, _Deg >::setPolynomial ( const OtherPolynomial &  poly)
inlineprotected

Definition at line 43 of file PolynomialSolver.h.

◆ smallestRealRoot()

template<typename _Scalar, int _Deg>
const RealScalar& Eigen::PolynomialSolverBase< _Scalar, _Deg >::smallestRealRoot ( bool &  hasArealRoot,
const RealScalar absImaginaryThreshold = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
the real root with smallest value. A real root is defined as the real part of a complex root with absolute imaginary part smallest than absImaginaryThreshold. absImaginaryThreshold takes the dummy_precision associated with the _Scalar template parameter of the PolynomialSolver class as the default value. If no real root is found the boolean hasArealRoot is set to false and the real part of the root with smallest absolute imaginary part is returned instead.
Parameters
[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 281 of file PolynomialSolver.h.

◆ smallestRoot()

template<typename _Scalar, int _Deg>
const RootType& Eigen::PolynomialSolverBase< _Scalar, _Deg >::smallestRoot ( ) const
inline
Returns
the complex root with smallest norm.

Definition at line 109 of file PolynomialSolver.h.

Member Data Documentation

◆ m_roots

template<typename _Scalar, int _Deg>
RootsType Eigen::PolynomialSolverBase< _Scalar, _Deg >::m_roots
protected

Definition at line 290 of file PolynomialSolver.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:43:03