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. | |
| MatrixSquareRootQuasiTriangular (const MatrixType &A) | |
| Constructor. | |
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.
typedef MatrixType::Index Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::Index [private] |
Definition at line 56 of file MatrixSquareRoot.h.
typedef MatrixType::Scalar Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::Scalar [private] |
Definition at line 57 of file MatrixSquareRoot.h.
| Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::MatrixSquareRootQuasiTriangular | ( | const MatrixType & | A | ) | [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.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute1x1offDiagonalBlock | ( | MatrixType & | sqrtT, |
| const MatrixType & | T, | ||
| typename MatrixType::Index | i, | ||
| typename MatrixType::Index | j | ||
| ) | [private] |
Definition at line 161 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute1x2offDiagonalBlock | ( | MatrixType & | sqrtT, |
| const MatrixType & | T, | ||
| typename MatrixType::Index | i, | ||
| typename MatrixType::Index | j | ||
| ) | [private] |
Definition at line 171 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x1offDiagonalBlock | ( | MatrixType & | sqrtT, |
| const MatrixType & | T, | ||
| typename MatrixType::Index | i, | ||
| typename MatrixType::Index | j | ||
| ) | [private] |
Definition at line 185 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x2diagonalBlock | ( | MatrixType & | sqrtT, |
| const MatrixType & | T, | ||
| typename MatrixType::Index | i | ||
| ) | [private] |
Definition at line 146 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::compute2x2offDiagonalBlock | ( | MatrixType & | sqrtT, |
| const MatrixType & | T, | ||
| typename MatrixType::Index | i, | ||
| typename MatrixType::Index | j | ||
| ) | [private] |
Definition at line 199 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::computeDiagonalPartOfSqrt | ( | MatrixType & | sqrtT, |
| const MatrixType & | T | ||
| ) | [private] |
Definition at line 99 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::computeOffDiagonalPartOfSqrt | ( | MatrixType & | sqrtT, |
| const MatrixType & | T | ||
| ) | [private] |
Definition at line 118 of file MatrixSquareRoot.h.
| void Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::solveAuxiliaryEquation | ( | SmallMatrixType & | X, |
| const SmallMatrixType & | A, | ||
| const SmallMatrixType & | B, | ||
| const SmallMatrixType & | C | ||
| ) | [static, private] |
Definition at line 216 of file MatrixSquareRoot.h.
const MatrixType& Eigen::MatrixSquareRootQuasiTriangular< MatrixType >::m_A [private] |
Definition at line 75 of file MatrixSquareRoot.h.