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 Matrix< Scalar, Deg_1, Deg_1BottomLeftBlock
 
typedef Matrix< Scalar, Deg_1, 1 > BottomLeftDiagonal
 
typedef Matrix< Scalar, Deg, DegDenseCompanionMatrixType
 
typedef DenseIndex Index
 
typedef Matrix< Scalar, _Deg, Deg_1LeftBlock
 
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 
)
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.

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 
)
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

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:


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:31