![]() |
|
Class for computing matrix powers. More...
#include <MatrixPower.h>
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 |
![]() | |
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 |