Public Types | Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
Eigen::MatrixLogarithmAtomic< MatrixType > Class Template Reference

Helper class for computing matrix logarithm of atomic matrices. More...

#include <MatrixLogarithm.h>

Public Types

typedef NumTraits< Scalar >::Real RealScalar
 
typedef MatrixType::Scalar Scalar
 

Public Member Functions

MatrixType compute (const MatrixType &A)
 Compute matrix logarithm of atomic matrix. More...
 
 MatrixLogarithmAtomic ()
 Constructor. More...
 

Private Member Functions

void compute2x2 (const MatrixType &A, MatrixType &result)
 Compute logarithm of 2x2 triangular matrix. More...
 
void computeBig (const MatrixType &A, MatrixType &result)
 Compute logarithm of triangular matrices with size > 2. More...
 
void computePade (MatrixType &result, const MatrixType &T, int degree)
 
void computePade10 (MatrixType &result, const MatrixType &T)
 
void computePade11 (MatrixType &result, const MatrixType &T)
 
void computePade3 (MatrixType &result, const MatrixType &T)
 
void computePade4 (MatrixType &result, const MatrixType &T)
 
void computePade5 (MatrixType &result, const MatrixType &T)
 
void computePade6 (MatrixType &result, const MatrixType &T)
 
void computePade7 (MatrixType &result, const MatrixType &T)
 
void computePade8 (MatrixType &result, const MatrixType &T)
 
void computePade9 (MatrixType &result, const MatrixType &T)
 
int getPadeDegree (float normTminusI)
 
int getPadeDegree (double normTminusI)
 
int getPadeDegree (long double normTminusI)
 
 MatrixLogarithmAtomic (const MatrixLogarithmAtomic &)
 
MatrixLogarithmAtomicoperator= (const MatrixLogarithmAtomic &)
 

Static Private Attributes

static const int maxPadeDegree
 
static const int minPadeDegree = 3
 

Detailed Description

template<typename MatrixType>
class Eigen::MatrixLogarithmAtomic< MatrixType >

Helper class for computing matrix logarithm of atomic matrices.

Definition at line 31 of file MatrixLogarithm.h.

Member Typedef Documentation

template<typename MatrixType >
typedef NumTraits<Scalar>::Real Eigen::MatrixLogarithmAtomic< MatrixType >::RealScalar

Definition at line 37 of file MatrixLogarithm.h.

template<typename MatrixType >
typedef MatrixType::Scalar Eigen::MatrixLogarithmAtomic< MatrixType >::Scalar

Definition at line 35 of file MatrixLogarithm.h.

Constructor & Destructor Documentation

template<typename MatrixType >
Eigen::MatrixLogarithmAtomic< MatrixType >::MatrixLogarithmAtomic ( )
inline

Constructor.

Definition at line 42 of file MatrixLogarithm.h.

template<typename MatrixType >
Eigen::MatrixLogarithmAtomic< MatrixType >::MatrixLogarithmAtomic ( const MatrixLogarithmAtomic< MatrixType > &  )
private

Member Function Documentation

template<typename MatrixType >
MatrixType Eigen::MatrixLogarithmAtomic< MatrixType >::compute ( const MatrixType &  A)

Compute matrix logarithm of atomic matrix.

Compute logarithm of triangular matrix with clustered eigenvalues.

Parameters
[in]Aargument of matrix logarithm, should be upper triangular and atomic
Returns
The logarithm of A.

Definition at line 82 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::compute2x2 ( const MatrixType &  A,
MatrixType &  result 
)
private

Compute logarithm of 2x2 triangular matrix.

Definition at line 97 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computeBig ( const MatrixType &  A,
MatrixType &  result 
)
private

Compute logarithm of triangular matrices with size > 2.

This uses a inverse scale-and-square algorithm.

Definition at line 126 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade ( MatrixType &  result,
const MatrixType &  T,
int  degree 
)
private

Definition at line 216 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade10 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 363 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade11 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 385 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade3 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 233 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade4 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 249 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade5 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 265 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade6 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 283 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade7 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 301 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade8 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 321 of file MatrixLogarithm.h.

template<typename MatrixType >
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade9 ( MatrixType &  result,
const MatrixType &  T 
)
private

Definition at line 341 of file MatrixLogarithm.h.

template<typename MatrixType >
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree ( float  normTminusI)
private

Definition at line 159 of file MatrixLogarithm.h.

template<typename MatrixType >
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree ( double  normTminusI)
private

Definition at line 172 of file MatrixLogarithm.h.

template<typename MatrixType >
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree ( long double  normTminusI)
private

Definition at line 185 of file MatrixLogarithm.h.

template<typename MatrixType >
MatrixLogarithmAtomic& Eigen::MatrixLogarithmAtomic< MatrixType >::operator= ( const MatrixLogarithmAtomic< MatrixType > &  )
private

Member Data Documentation

template<typename MatrixType >
const int Eigen::MatrixLogarithmAtomic< MatrixType >::maxPadeDegree
staticprivate
Initial value:
= std::numeric_limits<RealScalar>::digits<= 24? 5:
std::numeric_limits<RealScalar>::digits<= 53? 7:
std::numeric_limits<RealScalar>::digits<= 64? 8:
std::numeric_limits<RealScalar>::digits<=106? 10:
11

Definition at line 69 of file MatrixLogarithm.h.

template<typename MatrixType >
const int Eigen::MatrixLogarithmAtomic< MatrixType >::minPadeDegree = 3
staticprivate

Definition at line 68 of file MatrixLogarithm.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:36