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 (RealScalar colNorm, RealScalar rowNorm, bool &isBalanced, RealScalar &colB, RealScalar &rowB)
 
bool balancedR (RealScalar colNorm, RealScalar rowNorm, bool &isBalanced, RealScalar &colB, RealScalar &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 33 of file Companion.h.

Member Typedef Documentation

◆ BottomLeftBlock

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

Definition at line 51 of file Companion.h.

◆ BottomLeftDiagonal

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

Definition at line 47 of file Companion.h.

◆ DenseCompanionMatrixType

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

Definition at line 49 of file Companion.h.

◆ Index

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

Definition at line 54 of file Companion.h.

◆ LeftBlock

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

Definition at line 50 of file Companion.h.

◆ LeftBlockFirstRow

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

Definition at line 52 of file Companion.h.

◆ RealScalar

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

Definition at line 44 of file Companion.h.

◆ RightColumn

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

Definition at line 45 of file Companion.h.

◆ Scalar

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

Definition at line 43 of file Companion.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 38 of file Companion.h.

Constructor & Destructor Documentation

◆ companion()

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

Definition at line 77 of file Companion.h.

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.

Definition at line 215 of file Companion.h.

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

Definition at line 135 of file Companion.h.

◆ 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

Definition at line 189 of file Companion.h.

◆ denseMatrix()

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

Definition at line 81 of file Companion.h.

◆ operator()()

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 57 of file Companion.h.

◆ setPolynomial()

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

Definition at line 69 of file Companion.h.

Member Data Documentation

◆ m_bl_diag

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

Definition at line 128 of file Companion.h.

◆ m_monic

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

Definition at line 127 of file Companion.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:44:26