Eigen::MatrixLogarithmReturnValue< Derived > Class Template Reference

Proxy for the matrix logarithm of some matrix (expression). More...

#include <MatrixLogarithm.h>

+ Inheritance diagram for Eigen::MatrixLogarithmReturnValue< Derived >:

Public Types

typedef Derived::Scalar Scalar
 
typedef Derived::Index Index
 
- Public Types inherited from Eigen::ReturnByValue< MatrixLogarithmReturnValue< Derived > >
typedef internal::traits< MatrixLogarithmReturnValue< Derived > >::ReturnType ReturnType
 
typedef internal::dense_xpr_base< ReturnByValue >::type Base
 

Public Member Functions

 MatrixLogarithmReturnValue (const Derived &A)
 Constructor. More...
 
template<typename ResultType >
void evalTo (ResultType &result) const
 Compute the matrix logarithm. More...
 
Index rows () const
 
Index cols () const
 
- Public Member Functions inherited from Eigen::ReturnByValue< MatrixLogarithmReturnValue< Derived > >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
const Unusablecoeff (Index) const
 
const Unusablecoeff (Index, Index) const
 
UnusablecoeffRef (Index)
 
UnusablecoeffRef (Index, Index)
 

Protected Types

typedef internal::ref_selector< Derived >::type DerivedNested
 

Private Attributes

const DerivedNested m_A
 

Detailed Description

template<typename Derived>
class Eigen::MatrixLogarithmReturnValue< Derived >

Proxy for the matrix logarithm of some matrix (expression).

Template Parameters
DerivedType of the argument to the matrix function.

This class holds the argument to the matrix function until it is assigned or evaluated for some other reason (so the argument should not be changed in the meantime). It is the return type of MatrixBase::log() and most of the time this is the only way it is used.

Member Typedef Documentation

◆ DerivedNested

template<typename Derived >
typedef internal::ref_selector<Derived>::type Eigen::MatrixLogarithmReturnValue< Derived >::DerivedNested
protected

◆ Index

template<typename Derived >
typedef Derived::Index Eigen::MatrixLogarithmReturnValue< Derived >::Index

◆ Scalar

template<typename Derived >
typedef Derived::Scalar Eigen::MatrixLogarithmReturnValue< Derived >::Scalar

Constructor & Destructor Documentation

◆ MatrixLogarithmReturnValue()

template<typename Derived >
Eigen::MatrixLogarithmReturnValue< Derived >::MatrixLogarithmReturnValue ( const Derived &  A)
inlineexplicit

Constructor.

Parameters
[in]AMatrix (expression) forming the argument of the matrix logarithm.
322 : m_A(A) {}
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
const DerivedNested m_A
Definition: MatrixLogarithm.h:346

Member Function Documentation

◆ cols()

◆ evalTo()

template<typename Derived >
template<typename ResultType >
void Eigen::MatrixLogarithmReturnValue< Derived >::evalTo ( ResultType &  result) const
inline

Compute the matrix logarithm.

Parameters
[out]resultLogarithm of A, where A is as specified in the constructor.
329  {
330  typedef typename internal::nested_eval<Derived, 10>::type DerivedEvalType;
331  typedef internal::remove_all_t<DerivedEvalType> DerivedEvalTypeClean;
332  typedef internal::traits<DerivedEvalTypeClean> Traits;
333  typedef std::complex<typename NumTraits<Scalar>::Real> ComplexScalar;
334  typedef Matrix<ComplexScalar, Dynamic, Dynamic, 0, Traits::RowsAtCompileTime, Traits::ColsAtCompileTime>
335  DynMatrixType;
336  typedef internal::MatrixLogarithmAtomic<DynMatrixType> AtomicType;
337  AtomicType atomic;
338 
340  }
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 100 >, boost::multiprecision::et_on > Real
Definition: boostmultiprec.cpp:77
static void run(const MatrixType &A, AtomicType &atomic, ResultType &result)
Compute the matrix function.
std::conditional_t< Evaluate, PlainObject, typename ref_selector< T >::type > type
Definition: XprHelper.h:549

References Eigen::MatrixLogarithmReturnValue< Derived >::m_A, and Eigen::internal::matrix_function_compute< MatrixType, IsComplex >::run().

◆ rows()

Member Data Documentation

◆ m_A


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