Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
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 internal::companion< _Scalar, _Deg >

Definition at line 52 of file Companion.h.


Member Typedef Documentation

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

Definition at line 70 of file Companion.h.

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

Definition at line 66 of file Companion.h.

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

Definition at line 68 of file Companion.h.

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

Definition at line 73 of file Companion.h.

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

Definition at line 69 of file Companion.h.

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

Definition at line 71 of file Companion.h.

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

Definition at line 63 of file Companion.h.

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

Definition at line 64 of file Companion.h.

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

Definition at line 62 of file Companion.h.


Member Enumeration Documentation

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

Definition at line 57 of file Companion.h.


Constructor & Destructor Documentation

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

Definition at line 97 of file Companion.h.


Member Function Documentation

template<typename _Scalar , int _Deg>
void 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 224 of file Companion.h.

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

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

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

Definition at line 101 of file Companion.h.

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

Definition at line 76 of file Companion.h.

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

Definition at line 88 of file Companion.h.


Member Data Documentation

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

Definition at line 148 of file Companion.h.

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

Definition at line 147 of file Companion.h.


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


re_vision
Author(s): Dorian Galvez-Lopez
autogenerated on Sun Jan 5 2014 11:34:31