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

Class for computing matrix square roots of upper quasi-triangular matrices. More...

#include <MatrixSquareRoot.h>

Public Member Functions

template<typename ResultType >
void compute (ResultType &result)
 Compute the matrix square root. More...
 
 MatrixSquareRootQuasiTriangular (const MatrixType &A)
 Constructor. More...
 

Private Types

typedef MatrixType::Index Index
 
typedef MatrixType::Scalar Scalar
 

Private Member Functions

void compute1x1offDiagonalBlock (MatrixType &sqrtT, const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j)
 
void compute1x2offDiagonalBlock (MatrixType &sqrtT, const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j)
 
void compute2x1offDiagonalBlock (MatrixType &sqrtT, const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j)
 
void compute2x2diagonalBlock (MatrixType &sqrtT, const MatrixType &T, typename MatrixType::Index i)
 
void compute2x2offDiagonalBlock (MatrixType &sqrtT, const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j)
 
void computeDiagonalPartOfSqrt (MatrixType &sqrtT, const MatrixType &T)
 
void computeOffDiagonalPartOfSqrt (MatrixType &sqrtT, const MatrixType &T)
 

Static Private Member Functions

template<typename SmallMatrixType >
static void solveAuxiliaryEquation (SmallMatrixType &X, const SmallMatrixType &A, const SmallMatrixType &B, const SmallMatrixType &C)
 

Private Attributes

const MatrixType & m_A
 

Detailed Description

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

Class for computing matrix square roots of upper quasi-triangular matrices.

Template Parameters
MatrixTypetype of the argument of the matrix square root, expected to be an instantiation of the Matrix class template.

This class computes the square root of the upper quasi-triangular matrix stored in the upper Hessenberg part of the matrix passed to the constructor.

See also
MatrixSquareRoot, MatrixSquareRootTriangular

Definition at line 27 of file MatrixSquareRoot.h.

Member Typedef Documentation

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

Definition at line 56 of file MatrixSquareRoot.h.

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

Definition at line 57 of file MatrixSquareRoot.h.

Constructor & Destructor Documentation

template<typename MatrixType >
Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::MatrixSquareRootQuasiTriangular ( const MatrixType &  A)
inline

Constructor.

Parameters
[in]Aupper quasi-triangular matrix whose square root is to be computed.

The class stores a reference to A, so it should not be changed (or destroyed) before compute() is called.

Definition at line 39 of file MatrixSquareRoot.h.

Member Function Documentation

template<typename MatrixType >
template<typename ResultType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute ( ResultType &  result)

Compute the matrix square root.

Parameters
[out]resultsquare root of A, as specified in the constructor.

Only the upper Hessenberg part of result is updated, the rest is not touched. See MatrixBase::sqrt() for details on how this computation is implemented.

Definition at line 80 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute1x1offDiagonalBlock ( MatrixType &  sqrtT,
const MatrixType &  T,
typename MatrixType::Index  i,
typename MatrixType::Index  j 
)
private

Definition at line 153 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute1x2offDiagonalBlock ( MatrixType &  sqrtT,
const MatrixType &  T,
typename MatrixType::Index  i,
typename MatrixType::Index  j 
)
private

Definition at line 163 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x1offDiagonalBlock ( MatrixType &  sqrtT,
const MatrixType &  T,
typename MatrixType::Index  i,
typename MatrixType::Index  j 
)
private

Definition at line 177 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x2diagonalBlock ( MatrixType &  sqrtT,
const MatrixType &  T,
typename MatrixType::Index  i 
)
private

Definition at line 138 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x2offDiagonalBlock ( MatrixType &  sqrtT,
const MatrixType &  T,
typename MatrixType::Index  i,
typename MatrixType::Index  j 
)
private

Definition at line 191 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::computeDiagonalPartOfSqrt ( MatrixType &  sqrtT,
const MatrixType &  T 
)
private

Definition at line 90 of file MatrixSquareRoot.h.

template<typename MatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::computeOffDiagonalPartOfSqrt ( MatrixType &  sqrtT,
const MatrixType &  T 
)
private

Definition at line 110 of file MatrixSquareRoot.h.

template<typename MatrixType >
template<typename SmallMatrixType >
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::solveAuxiliaryEquation ( SmallMatrixType &  X,
const SmallMatrixType &  A,
const SmallMatrixType &  B,
const SmallMatrixType &  C 
)
staticprivate

Definition at line 208 of file MatrixSquareRoot.h.

Member Data Documentation

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

Definition at line 75 of file MatrixSquareRoot.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:36