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.