Blaze 3.9
Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Attributes | Static Private Attributes | List of all members
blaze::DMatExpExpr< MT, SO > Class Template Reference

Expression object for dense matrix exponential. More...

#include <DMatExpExpr.h>

Inherits blaze::MatExpExpr< DenseMatrix< DMatExpExpr< MT, SO >, SO > >, and blaze::Computation.

Public Types

using This = DMatExpExpr< MT, SO >
 Type of this DMatExpExpr instance.
 
using BaseType = MatExpExpr< DenseMatrix< This, SO > >
 Base type of this DMatExpExpr instance.
 
using ResultType = RemoveAdaptor_t< RT >
 Result type for expression template evaluations.
 
using OppositeType = OppositeType_t< MT >
 Result type with opposite storage order for expression template evaluations.
 
using TransposeType = TransposeType_t< MT >
 Transpose type for expression template evaluations.
 
using ElementType = ElementType_t< MT >
 Resulting element type.
 
using ReturnType = ReturnType_t< MT >
 Return type for expression template evaluations.
 
using CompositeType = const ResultType
 Data type for composite expression templates.
 
using Operand = If_t< IsExpression_v< MT >, const MT, const MT & >
 Composite data type of the dense matrix expression.
 
using MatrixType = DMatExpExpr< MT, SO >
 Type of the matrix.
 

Public Member Functions

 DMatExpExpr (const MT &dm) noexcept
 Constructor for the DMatExpExpr class. More...
 
size_t rows () const noexcept
 Returns the current number of rows of the matrix. More...
 
size_t columns () const noexcept
 Returns the current number of columns of the matrix. More...
 
Operand operand () const noexcept
 Returns the dense matrix operand. More...
 
template<typename T >
bool canAlias (const T *alias) const noexcept
 Returns whether the expression can alias with the given address alias. More...
 
template<typename T >
bool isAliased (const T *alias) const noexcept
 Returns whether the expression is aliased with the given address alias. More...
 
Conversion operators
BLAZE_ALWAYS_INLINE constexpr DMatExpExpr< MT, SO > & operator~ () noexcept
 CRTP-based conversion operation for non-constant matrices. More...
 
BLAZE_ALWAYS_INLINE constexpr const DMatExpExpr< MT, SO > & operator~ () const noexcept
 CRTP-based conversion operation for constant matrices. More...
 
constexpr DMatExpExpr< MT, SO > & operator* () noexcept
 CRTP-based conversion operation for non-constant matrices. More...
 
constexpr const DMatExpExpr< MT, SO > & operator* () const noexcept
 CRTP-based conversion operation for constant matrices. More...
 

Static Public Attributes

static constexpr bool simdEnabled = false
 Compilation switch for the expression template evaluation strategy.
 
static constexpr bool smpAssignable = false
 Compilation switch for the expression template assignment strategy.
 
static constexpr bool storageOrder
 Storage order of the matrix.
 

Private Types

using RT = ResultType_t< MT >
 Result type of the dense matrix expression.
 
using ET = ElementType_t< MT >
 Element type of the dense matrix expression.
 

Private Attributes

Operand dm_
 Dense matrix of the exponential expression.
 

Static Private Attributes

static constexpr size_t K = 18
 The approximation limit for the exponential computation.
 

Detailed Description

template<typename MT, bool SO>
class blaze::DMatExpExpr< MT, SO >

Expression object for dense matrix exponential.

The DMatExpExpr class represents the compile time expression for the dense matrices exponential operation (see https://en.wikipedia.org/wiki/Matrix_exponential).

Constructor & Destructor Documentation

◆ DMatExpExpr()

template<typename MT , bool SO>
blaze::DMatExpExpr< MT, SO >::DMatExpExpr ( const MT &  dm)
inlineexplicitnoexcept

Constructor for the DMatExpExpr class.

Parameters
dmThe dense matrix operand of the exponential expression.

Member Function Documentation

◆ canAlias()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatExpExpr< MT, SO >::canAlias ( const T *  alias) const
inlinenoexcept

Returns whether the expression can alias with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case the expression can alias, false otherwise.

◆ columns()

template<typename MT , bool SO>
size_t blaze::DMatExpExpr< MT, SO >::columns ( ) const
inlinenoexcept

Returns the current number of columns of the matrix.

Returns
The number of columns of the matrix.

◆ isAliased()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatExpExpr< MT, SO >::isAliased ( const T *  alias) const
inlinenoexcept

Returns whether the expression is aliased with the given address alias.

Parameters
aliasThe alias to be checked.
Returns
true in case an alias effect is detected, false otherwise.

◆ operand()

template<typename MT , bool SO>
Operand blaze::DMatExpExpr< MT, SO >::operand ( ) const
inlinenoexcept

Returns the dense matrix operand.

Returns
The dense matrix operand.

◆ operator*() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatExpExpr< MT, SO > & blaze::Matrix< DMatExpExpr< MT, SO > , SO >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for constant matrices.

Returns
Constant reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.

◆ operator*() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatExpExpr< MT, SO > & blaze::Matrix< DMatExpExpr< MT, SO > , SO >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for non-constant matrices.

Returns
Mutable reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.

◆ operator~() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatExpExpr< MT, SO > & blaze::Matrix< DMatExpExpr< MT, SO > , SO >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for constant matrices.

Parameters
matrixThe matrix to be downcast.
Returns
Constant reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.

◆ operator~() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatExpExpr< MT, SO > & blaze::Matrix< DMatExpExpr< MT, SO > , SO >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for non-constant matrices.

Parameters
matrixThe matrix to be downcast.
Returns
Mutable reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.

◆ rows()

template<typename MT , bool SO>
size_t blaze::DMatExpExpr< MT, SO >::rows ( ) const
inlinenoexcept

Returns the current number of rows of the matrix.

Returns
The number of rows of the matrix.

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