Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
Eigen::internal::companion< _Scalar, _Deg > Class Template Reference

#include <Companion.h>

List of all members.

Public Types

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

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

BottomLeftDiagonal m_bl_diag
RightColumn m_monic

Detailed Description

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

Definition at line 39 of file Companion.h.


Member Typedef Documentation

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

Definition at line 57 of file Companion.h.

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

Definition at line 53 of file Companion.h.

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

Definition at line 55 of file Companion.h.

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

Definition at line 60 of file Companion.h.

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

Definition at line 56 of file Companion.h.

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

Definition at line 58 of file Companion.h.

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

Definition at line 50 of file Companion.h.

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

Definition at line 51 of file Companion.h.

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

Definition at line 49 of file Companion.h.


Member Enumeration Documentation

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

Definition at line 44 of file Companion.h.


Constructor & Destructor Documentation

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

Definition at line 84 of file Companion.h.


Member Function Documentation

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.

Definition at line 211 of file Companion.h.

template<typename _Scalar , int _Deg>
bool Eigen::internal::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 142 of file Companion.h.

template<typename _Scalar , int _Deg>
bool Eigen::internal::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 185 of file Companion.h.

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

Definition at line 88 of file Companion.h.

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

Definition at line 63 of file Companion.h.

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

Definition at line 75 of file Companion.h.


Member Data Documentation

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

Definition at line 135 of file Companion.h.

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

Definition at line 134 of file Companion.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:55