All Classes Namespaces Functions Variables Typedefs Enumerator Groups Pages
MatrixFunction< MatrixType, AtomicType, IsComplex > Class Template Reference

Detailed Description

template<typename MatrixType, typename AtomicType, int IsComplex = NumTraits<typename internal::traits<MatrixType>::Scalar>::IsComplex>
class Eigen::MatrixFunction< MatrixType, AtomicType, IsComplex >

Class for computing matrix functions.

Template Parameters
MatrixTypetype of the argument of the matrix function, expected to be an instantiation of the Matrix class template.
AtomicTypetype for computing matrix function of atomic blocks.
IsComplexused 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.

See Also
class MatrixFunctionAtomic, class MatrixLogarithmAtomic

Public Member Functions

template<typename ResultType >
void compute (ResultType &result)
 Compute the matrix function. More...
 
 MatrixFunction (const MatrixType &A, AtomicType &atomic)
 Constructor. More...
 

Constructor & Destructor Documentation

MatrixFunction ( const MatrixType &  A,
AtomicType &  atomic 
)

Constructor.

Parameters
[in]Aargument of matrix function, should be a square matrix.
[in]atomicclass for computing matrix function of atomic blocks.

The class stores references to A and atomic, so they should not be changed (or destroyed) before compute() is called.

Member Function Documentation

void compute ( ResultType &  result)

Compute the matrix function.

Parameters
[out]resultthe function f applied to A, as specified in the constructor.

See MatrixBase::matrixFunction() for details on how this computation is implemented.

Referenced by MatrixLogarithmReturnValue< Derived >::evalTo().


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