TR-mbed 1.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::internal::companion< _Scalar, _Deg > Class Template Reference

#include <Companion.h>

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, DegDenseCompanionMatrixType
 
typedef Matrix< Scalar, _Deg, Deg_1LeftBlock
 
typedef Matrix< Scalar, Deg_1, Deg_1BottomLeftBlock
 
typedef Matrix< Scalar, 1, Deg_1LeftBlockFirstRow
 
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 ()
 

Protected Member Functions

bool balanced (RealScalar colNorm, RealScalar rowNorm, bool &isBalanced, RealScalar &colB, RealScalar &rowB)
 
bool balancedR (RealScalar colNorm, RealScalar rowNorm, bool &isBalanced, RealScalar &colB, RealScalar &rowB)
 

Protected Attributes

RightColumn m_monic
 
BottomLeftDiagonal m_bl_diag
 

Member Typedef Documentation

◆ BottomLeftBlock

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

◆ BottomLeftDiagonal

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

◆ DenseCompanionMatrixType

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

◆ Index

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

◆ LeftBlock

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

◆ LeftBlockFirstRow

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

◆ RealScalar

◆ RightColumn

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

◆ Scalar

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

Member Enumeration Documentation

◆ anonymous enum

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

Constructor & Destructor Documentation

◆ companion()

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

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 ( RealScalar  colNorm,
RealScalar  rowNorm,
bool isBalanced,
RealScalar colB,
RealScalar 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 respectively 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 ( RealScalar  colNorm,
RealScalar  rowNorm,
bool isBalanced,
RealScalar colB,
RealScalar 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 respectively 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

◆ denseMatrix()

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

◆ operator()()

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

◆ setPolynomial()

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

Member Data Documentation

◆ m_bl_diag

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

◆ m_monic

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

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