![]() |
|
Class for computing matrix powers. More...
#include <MatrixPower.h>
Inheritance diagram for Eigen::MatrixPowerAtomic< MatrixType >:Public Member Functions | |
| MatrixPowerAtomic (const MatrixType &T, RealScalar p) | |
| Constructor. More... | |
| void | compute (ResultType &res) const |
| Compute the matrix power. More... | |
Private Types | |
| enum | { RowsAtCompileTime = MatrixType::RowsAtCompileTime , MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime } |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef std::complex< RealScalar > | ComplexScalar |
| typedef Block< MatrixType, Dynamic, Dynamic > | ResultType |
Private Member Functions | |
| void | computePade (int degree, const MatrixType &IminusT, ResultType &res) const |
| void | compute2x2 (ResultType &res, RealScalar p) const |
| void | computeBig (ResultType &res) const |
Private Member Functions inherited from Eigen::internal::noncopyable | |
| EIGEN_DEVICE_FUNC | noncopyable () |
| EIGEN_DEVICE_FUNC | ~noncopyable () |
Static Private Member Functions | |
| static int | getPadeDegree (float normIminusT) |
| static int | getPadeDegree (double normIminusT) |
| static int | getPadeDegree (long double normIminusT) |
| static ComplexScalar | computeSuperDiag (const ComplexScalar &, const ComplexScalar &, RealScalar p) |
| static RealScalar | computeSuperDiag (RealScalar, RealScalar, RealScalar p) |
Private Attributes | |
| const MatrixType & | m_A |
| RealScalar | m_p |
Class for computing matrix powers.
| MatrixType | type of the base, expected to be an instantiation of the Matrix class template. |
This class is capable of computing triangular real/complex matrices raised to a power in the interval \( (-1, 1) \).
|
private |
|
private |
|
private |
|
private |
|
private |
| Enumerator | |
|---|---|
| RowsAtCompileTime | |
| MaxRowsAtCompileTime | |
| Eigen::MatrixPowerAtomic< MatrixType >::MatrixPowerAtomic | ( | const MatrixType & | T, |
| RealScalar | p | ||
| ) |
Constructor.
| [in] | T | the base of the matrix power. |
| [in] | p | the exponent of the matrix power, should be in \( (-1, 1) \). |
The class stores a reference to T, so it should not be changed (or destroyed) before evaluation. Only the upper triangular part of T is read.
References eigen_assert, and p.
| void Eigen::MatrixPowerAtomic< MatrixType >::compute | ( | ResultType & | res | ) | const |
Compute the matrix power.
| [out] | res | \( A^p \) where A and p are specified in the constructor. |
References Eigen::bfloat16_impl::pow(), and res.
Referenced by Eigen::MatrixPower< MatrixType >::computeFracPower().
|
private |
References abs(), i, p, Eigen::bfloat16_impl::pow(), and res.
|
private |
References constants::degree, eigen_assert, i, Eigen::matrix_sqrt_triangular(), and res.
|
private |
References constants::degree, eval(), i, and res.
|
inlinestaticprivate |
References Eigen::bfloat16_impl::ceil(), EIGEN_PI, Eigen::bfloat16_impl::exp(), imag(), Eigen::bfloat16_impl::log(), Eigen::bfloat16_impl::log1p(), p, Eigen::bfloat16_impl::sinh(), and w.
|
inlinestaticprivate |
|
inlinestaticprivate |
References constants::degree.
|
inlinestaticprivate |
|
inlinestaticprivate |
References constants::degree.
|
private |
|
private |