OSVR-Core
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::internal::companion< _Scalar, _Deg > Class Template Reference

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. More...
 

Protected Member Functions

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

Protected Attributes

RightColumn m_monic
 
BottomLeftDiagonal m_bl_diag
 

Member Function Documentation

§ balance()

template<typename _Scalar , int _Deg>
void Eigen::internal::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.

§ balanced()

template<typename _Scalar , int _Deg>
bool Eigen::internal::companion< _Scalar, _Deg >::balanced ( Scalar  colNorm,
Scalar  rowNorm,
bool &  isBalanced,
Scalar &  colB,
Scalar &  rowB 
)
inlineprotected

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.

§ balancedR()

template<typename _Scalar , int _Deg>
bool Eigen::internal::companion< _Scalar, _Deg >::balancedR ( Scalar  colNorm,
Scalar  rowNorm,
bool &  isBalanced,
Scalar &  colB,
Scalar &  rowB 
)
inlineprotected

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


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