Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Eigen::MatrixPowerAtomic< MatrixType > Class Template Reference

Class for computing matrix powers. More...

#include <MatrixPower.h>

Inheritance diagram for Eigen::MatrixPowerAtomic< MatrixType >:
Inheritance graph
[legend]

Public Member Functions

void compute (ResultType &res) const
 Compute the matrix power. More...
 
 MatrixPowerAtomic (const MatrixType &T, RealScalar p)
 Constructor. More...
 

Private Types

enum  { RowsAtCompileTime = MatrixType::RowsAtCompileTime, MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime }
 
typedef std::complex< RealScalarComplexScalar
 
typedef MatrixType::Index Index
 
typedef MatrixType::RealScalar RealScalar
 
typedef Block< MatrixType, Dynamic, DynamicResultType
 
typedef MatrixType::Scalar Scalar
 

Private Member Functions

void compute2x2 (ResultType &res, RealScalar p) const
 
void computeBig (ResultType &res) const
 
void computePade (int degree, const MatrixType &IminusT, ResultType &res) const
 
- Private Member Functions inherited from Eigen::internal::noncopyable
EIGEN_DEVICE_FUNC noncopyable ()
 
EIGEN_DEVICE_FUNC ~noncopyable ()
 

Static Private Member Functions

static ComplexScalar computeSuperDiag (const ComplexScalar &, const ComplexScalar &, RealScalar p)
 
static RealScalar computeSuperDiag (RealScalar, RealScalar, RealScalar p)
 
static int getPadeDegree (float normIminusT)
 
static int getPadeDegree (double normIminusT)
 
static int getPadeDegree (long double normIminusT)
 

Private Attributes

const MatrixType & m_A
 
RealScalar m_p
 

Detailed Description

template<typename MatrixType>
class Eigen::MatrixPowerAtomic< MatrixType >

Class for computing matrix powers.

Template Parameters
MatrixTypetype 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) $.

Note
Currently this class is only used by MatrixPower. One may insist that this be nested into MatrixPower. This class is here to faciliate future development of triangular matrix functions.

Definition at line 87 of file MatrixPower.h.

Member Typedef Documentation

template<typename MatrixType>
typedef std::complex<RealScalar> Eigen::MatrixPowerAtomic< MatrixType >::ComplexScalar
private

Definition at line 96 of file MatrixPower.h.

template<typename MatrixType>
typedef MatrixType::Index Eigen::MatrixPowerAtomic< MatrixType >::Index
private

Definition at line 97 of file MatrixPower.h.

template<typename MatrixType>
typedef MatrixType::RealScalar Eigen::MatrixPowerAtomic< MatrixType >::RealScalar
private

Definition at line 95 of file MatrixPower.h.

template<typename MatrixType>
typedef Block<MatrixType,Dynamic,Dynamic> Eigen::MatrixPowerAtomic< MatrixType >::ResultType
private

Definition at line 98 of file MatrixPower.h.

template<typename MatrixType>
typedef MatrixType::Scalar Eigen::MatrixPowerAtomic< MatrixType >::Scalar
private

Definition at line 94 of file MatrixPower.h.

Member Enumeration Documentation

template<typename MatrixType>
anonymous enum
private
Enumerator
RowsAtCompileTime 
MaxRowsAtCompileTime 

Definition at line 90 of file MatrixPower.h.

Constructor & Destructor Documentation

template<typename MatrixType >
Eigen::MatrixPowerAtomic< MatrixType >::MatrixPowerAtomic ( const MatrixType &  T,
RealScalar  p 
)

Constructor.

Parameters
[in]Tthe base of the matrix power.
[in]pthe 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.

Definition at line 136 of file MatrixPower.h.

Member Function Documentation

template<typename MatrixType >
void Eigen::MatrixPowerAtomic< MatrixType >::compute ( ResultType res) const

Compute the matrix power.

Parameters
[out]res$ A^p $ where A and p are specified in the constructor.

Definition at line 144 of file MatrixPower.h.

template<typename MatrixType >
void Eigen::MatrixPowerAtomic< MatrixType >::compute2x2 ( ResultType res,
RealScalar  p 
) const
private

Definition at line 176 of file MatrixPower.h.

template<typename MatrixType >
void Eigen::MatrixPowerAtomic< MatrixType >::computeBig ( ResultType res) const
private

Definition at line 195 of file MatrixPower.h.

template<typename MatrixType >
void Eigen::MatrixPowerAtomic< MatrixType >::computePade ( int  degree,
const MatrixType &  IminusT,
ResultType res 
) const
private

Definition at line 162 of file MatrixPower.h.

template<typename MatrixType >
MatrixPowerAtomic< MatrixType >::ComplexScalar Eigen::MatrixPowerAtomic< MatrixType >::computeSuperDiag ( const ComplexScalar curr,
const ComplexScalar prev,
RealScalar  p 
)
inlinestaticprivate

Definition at line 292 of file MatrixPower.h.

template<typename MatrixType >
MatrixPowerAtomic< MatrixType >::RealScalar Eigen::MatrixPowerAtomic< MatrixType >::computeSuperDiag ( RealScalar  curr,
RealScalar  prev,
RealScalar  p 
)
inlinestaticprivate

Definition at line 308 of file MatrixPower.h.

template<typename MatrixType >
int Eigen::MatrixPowerAtomic< MatrixType >::getPadeDegree ( float  normIminusT)
inlinestaticprivate

Definition at line 236 of file MatrixPower.h.

template<typename MatrixType >
int Eigen::MatrixPowerAtomic< MatrixType >::getPadeDegree ( double  normIminusT)
inlinestaticprivate

Definition at line 247 of file MatrixPower.h.

template<typename MatrixType >
int Eigen::MatrixPowerAtomic< MatrixType >::getPadeDegree ( long double  normIminusT)
inlinestaticprivate

Definition at line 259 of file MatrixPower.h.

Member Data Documentation

template<typename MatrixType>
const MatrixType& Eigen::MatrixPowerAtomic< MatrixType >::m_A
private

Definition at line 100 of file MatrixPower.h.

template<typename MatrixType>
RealScalar Eigen::MatrixPowerAtomic< MatrixType >::m_p
private

Definition at line 101 of file MatrixPower.h.


The documentation for this class was generated from the following file:


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:10