Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
Eigen::companion< _Scalar, _Deg > Class Template Reference

Detailed Description

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

Definition at line 53 of file Polynomials.

List of all members.

Public Types

enum  { Deg = _Deg, Deg_1 = decrement_if_fixed_size<Deg>::ret }
typedef _Scalar Scalar
typedef NumTraits< Scalar >::Real RealScalar
typedef Matrix< Scalar, Deg, 1 > RightColumn
typedef Matrix< Scalar, Deg_1, 1 > BottomLeftDiagonal
typedef Matrix< Scalar, Deg, Deg > DenseCompanionMatrixType
typedef Matrix< Scalar, _Deg,
Deg_1 > 
LeftBlock
typedef Matrix< Scalar, Deg_1,
Deg_1 > 
BottomLeftBlock
typedef Matrix< Scalar, 1, Deg_1 > LeftBlockFirstRow
typedef DenseIndex Index

Public Member Functions

EIGEN_STRONG_INLINE const _Scalar operator() (Index row, Index col) const
template<typename VectorType >
void setPolynomial (const VectorType &poly)
template<typename VectorType >
 companion (const VectorType &poly)
DenseCompanionMatrixType denseMatrix () const
void balance ()
 Balancing algorithm from B.

Protected Member Functions

bool balanced (Scalar colNorm, Scalar rowNorm, bool &isBalanced, Scalar &colB, Scalar &rowB)
 Helper function for the balancing algorithm.
bool balancedR (Scalar colNorm, Scalar rowNorm, bool &isBalanced, Scalar &colB, Scalar &rowB)
 Helper function for the balancing algorithm.

Protected Attributes

RightColumn m_monic
BottomLeftDiagonal m_bl_diag

Member Typedef Documentation

template<typename _Scalar , int _Deg>
typedef Matrix< Scalar, Deg_1, Deg_1 > Eigen::companion< _Scalar, _Deg >::BottomLeftBlock

Definition at line 71 of file Polynomials.

template<typename _Scalar , int _Deg>
typedef Matrix<Scalar, Deg_1, 1> Eigen::companion< _Scalar, _Deg >::BottomLeftDiagonal

Definition at line 67 of file Polynomials.

template<typename _Scalar , int _Deg>
typedef Matrix<Scalar, Deg, Deg> Eigen::companion< _Scalar, _Deg >::DenseCompanionMatrixType

Definition at line 69 of file Polynomials.

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

Definition at line 74 of file Polynomials.

template<typename _Scalar , int _Deg>
typedef Matrix< Scalar, _Deg, Deg_1 > Eigen::companion< _Scalar, _Deg >::LeftBlock

Definition at line 70 of file Polynomials.

template<typename _Scalar , int _Deg>
typedef Matrix< Scalar, 1, Deg_1 > Eigen::companion< _Scalar, _Deg >::LeftBlockFirstRow

Definition at line 72 of file Polynomials.

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

Definition at line 64 of file Polynomials.

template<typename _Scalar , int _Deg>
typedef Matrix<Scalar, Deg, 1> Eigen::companion< _Scalar, _Deg >::RightColumn

Definition at line 65 of file Polynomials.

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

Definition at line 63 of file Polynomials.


Member Enumeration Documentation

template<typename _Scalar , int _Deg>
anonymous enum
Enumerator:
Deg 
Deg_1 

Definition at line 58 of file Polynomials.


Constructor & Destructor Documentation

template<typename _Scalar , int _Deg>
template<typename VectorType >
Eigen::companion< _Scalar, _Deg >::companion ( const VectorType &  poly) [inline]

Definition at line 98 of file Polynomials.


Member Function Documentation

template<typename _Scalar , int _Deg>
void Eigen::companion< _Scalar, _Deg >::balance ( )

Balancing algorithm from B.

N. PARLETT and C. REINSCH (1969) "Balancing a matrix for calculation of eigenvalues and eigenvectors" adapted to the case of companion matrices. A matrix with non zero row and non zero column is balanced for a certain norm if the i-th row and the i-th column have same norm for all i.

Definition at line 225 of file Polynomials.

template<typename _Scalar , int _Deg>
bool Eigen::companion< _Scalar, _Deg >::balanced ( Scalar  colNorm,
Scalar  rowNorm,
bool &  isBalanced,
Scalar colB,
Scalar rowB 
) [inline, protected]

Helper function for the balancing algorithm.

Returns:
true if the row and the column, having colNorm and rowNorm as norms, are balanced, false otherwise. colB and rowB are repectively the multipliers for the column and the row in order to balance them.

Definition at line 156 of file Polynomials.

template<typename _Scalar , int _Deg>
bool Eigen::companion< _Scalar, _Deg >::balancedR ( Scalar  colNorm,
Scalar  rowNorm,
bool &  isBalanced,
Scalar colB,
Scalar rowB 
) [inline, protected]

Helper function for the balancing algorithm.

Returns:
true if the row and the column, having colNorm and rowNorm as norms, are balanced, false otherwise. colB and rowB are repectively the multipliers for the column and the row in order to balance them.

Set the norm of the column and the row to the geometric mean of the row and column norm

Definition at line 199 of file Polynomials.

template<typename _Scalar , int _Deg>
DenseCompanionMatrixType Eigen::companion< _Scalar, _Deg >::denseMatrix ( ) const [inline]

Definition at line 102 of file Polynomials.

template<typename _Scalar , int _Deg>
EIGEN_STRONG_INLINE const _Scalar Eigen::companion< _Scalar, _Deg >::operator() ( Index  row,
Index  col 
) const [inline]

Definition at line 77 of file Polynomials.

template<typename _Scalar , int _Deg>
template<typename VectorType >
void Eigen::companion< _Scalar, _Deg >::setPolynomial ( const VectorType &  poly) [inline]

Definition at line 89 of file Polynomials.


Member Data Documentation

template<typename _Scalar , int _Deg>
BottomLeftDiagonal Eigen::companion< _Scalar, _Deg >::m_bl_diag [protected]

Definition at line 149 of file Polynomials.

template<typename _Scalar , int _Deg>
RightColumn Eigen::companion< _Scalar, _Deg >::m_monic [protected]

Definition at line 148 of file Polynomials.




Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 Hosted on:
SourceForge.net Logo