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. | |
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 &) | |
MatrixLogarithmAtomic & | operator= (const MatrixLogarithmAtomic &) |
Static Private Member Functions | |
static Scalar | atanh (Scalar x) |
Compute atanh (inverse hyperbolic tangent). | |
Static Private Attributes | |
static const int | maxPadeDegree |
static const int | minPadeDegree = 3 |
Helper class for computing matrix logarithm of atomic matrices.
Definition at line 31 of file MatrixLogarithm.h.
typedef NumTraits<Scalar>::Real Eigen::MatrixLogarithmAtomic< MatrixType >::RealScalar |
Definition at line 37 of file MatrixLogarithm.h.
typedef MatrixType::Scalar Eigen::MatrixLogarithmAtomic< MatrixType >::Scalar |
Definition at line 35 of file MatrixLogarithm.h.
Eigen::MatrixLogarithmAtomic< MatrixType >::MatrixLogarithmAtomic | ( | ) | [inline] |
Constructor.
Definition at line 42 of file MatrixLogarithm.h.
Eigen::MatrixLogarithmAtomic< MatrixType >::MatrixLogarithmAtomic | ( | const MatrixLogarithmAtomic< MatrixType > & | ) | [private] |
MatrixType::Scalar Eigen::MatrixLogarithmAtomic< MatrixType >::atanh | ( | typename MatrixType::Scalar | x | ) | [static, private] |
Compute atanh (inverse hyperbolic tangent).
Definition at line 97 of file MatrixLogarithm.h.
MatrixType Eigen::MatrixLogarithmAtomic< MatrixType >::compute | ( | const MatrixType & | A | ) |
Compute matrix logarithm of atomic matrix.
Compute logarithm of triangular matrix with clustered eigenvalues.
[in] | A | argument of matrix logarithm, should be upper triangular and atomic |
A
. Definition at line 82 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::compute2x2 | ( | const MatrixType & | A, |
MatrixType & | result | ||
) | [private] |
Compute logarithm of 2x2 triangular matrix.
Definition at line 109 of file MatrixLogarithm.h.
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 138 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade | ( | MatrixType & | result, |
const MatrixType & | T, | ||
int | degree | ||
) | [private] |
Definition at line 225 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade10 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 372 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade11 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 394 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade3 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 242 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade4 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 258 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade5 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 274 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade6 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 292 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade7 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 310 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade8 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 330 of file MatrixLogarithm.h.
void Eigen::MatrixLogarithmAtomic< MatrixType >::computePade9 | ( | MatrixType & | result, |
const MatrixType & | T | ||
) | [private] |
Definition at line 350 of file MatrixLogarithm.h.
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree | ( | float | normTminusI | ) | [private] |
Definition at line 171 of file MatrixLogarithm.h.
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree | ( | double | normTminusI | ) | [private] |
Definition at line 183 of file MatrixLogarithm.h.
int Eigen::MatrixLogarithmAtomic< MatrixType >::getPadeDegree | ( | long double | normTminusI | ) | [private] |
Definition at line 195 of file MatrixLogarithm.h.
MatrixLogarithmAtomic& Eigen::MatrixLogarithmAtomic< MatrixType >::operator= | ( | const MatrixLogarithmAtomic< MatrixType > & | ) | [private] |
const int Eigen::MatrixLogarithmAtomic< MatrixType >::maxPadeDegree [static, private] |
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 70 of file MatrixLogarithm.h.
const int Eigen::MatrixLogarithmAtomic< MatrixType >::minPadeDegree = 3 [static, private] |
Definition at line 69 of file MatrixLogarithm.h.