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 |
Class for computing matrix square roots of upper quasi-triangular matrices.
MatrixType | type 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.
Definition at line 27 of file MatrixSquareRoot.h.
|
private |
Definition at line 56 of file MatrixSquareRoot.h.
|
private |
Definition at line 57 of file MatrixSquareRoot.h.
|
inline |
Constructor.
[in] | A | upper 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.
void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute | ( | ResultType & | result | ) |
Compute the matrix square root.
[out] | result | square 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.
|
private |
Definition at line 153 of file MatrixSquareRoot.h.
|
private |
Definition at line 163 of file MatrixSquareRoot.h.
|
private |
Definition at line 177 of file MatrixSquareRoot.h.
|
private |
Definition at line 138 of file MatrixSquareRoot.h.
|
private |
Definition at line 191 of file MatrixSquareRoot.h.
|
private |
Definition at line 90 of file MatrixSquareRoot.h.
|
private |
Definition at line 110 of file MatrixSquareRoot.h.
|
staticprivate |
Definition at line 208 of file MatrixSquareRoot.h.
|
private |
Definition at line 75 of file MatrixSquareRoot.h.