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

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

#include <MatrixLogarithm.h>

List of all members.

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.
 MatrixLogarithmAtomic ()
 Constructor.

Private Member Functions

void compute2x2 (const MatrixType &A, MatrixType &result)
 Compute logarithm of 2x2 triangular matrix.
void computeBig (const MatrixType &A, MatrixType &result)
 Compute logarithm of triangular matrices with size > 2.
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 [static, private]
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 [static, private]

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 Sat Jun 8 2019 19:40:49