Class for computing matrix functions. More...
#include <MatrixFunction.h>
Static Public Member Functions | |
template<typename AtomicType , typename ResultType > | |
static void | run (const MatrixType &A, AtomicType &atomic, ResultType &result) |
Compute the matrix function. More... | |
Class for computing matrix functions.
MatrixType | type of the argument of the matrix function, expected to be an instantiation of the Matrix class template. |
AtomicType | type for computing matrix function of atomic blocks. |
IsComplex | used internally to select correct specialization. |
This class implements the Schur-Parlett algorithm for computing matrix functions. The spectrum of the matrix is divided in clustered of eigenvalues that lies close together. This class delegates the computation of the matrix function on every block corresponding to these clusters to an object of type AtomicType
and uses these results to compute the matrix function of the whole matrix. The class AtomicType
should have a compute()
member function for computing the matrix function of a block.
Definition at line 376 of file MatrixFunction.h.
|
static |
Compute the matrix function.
[in] | A | argument of matrix function, should be a square matrix. |
[in] | atomic | class for computing matrix function of atomic blocks. |
[out] | result | the function f applied to A , as specified in the constructor. |
See MatrixBase::matrixFunction() for details on how this computation is implemented.