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.