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

Expression object for dense matrix eigenvalue solvers. More...

#include <DMatEigenExpr.h>

Inherits blaze::EigenExpr< DenseVector< DMatEigenExpr< MT, SO >, false > >, and blaze::Computation.

Public Types

using This = DMatEigenExpr< MT, SO >
 Type of this DMatEigenExpr instance.
 
using BaseType = EigenExpr< DenseVector< This, false > >
 Base type of this DMatEigenExpr instance.
 
using ResultType = Rebind_t< VT, ET >
 Result type for expression template evaluations.
 
using TransposeType = TransposeType_t< ResultType >
 Transpose type for expression template evaluations.
 
using ElementType = ElementType_t< ResultType >
 Resulting element type.
 
using ReturnType = ReturnType_t< ResultType >
 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 VectorType = DMatEigenExpr< MT, SO >
 Type of the vector.
 

Public Member Functions

 DMatEigenExpr (const MT &dm) noexcept
 Constructor for the DMatEigenExpr class. More...
 
size_t size () const noexcept
 Returns the current size/dimension of the vector. 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 DMatEigenExpr< MT, SO > & operator~ () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
BLAZE_ALWAYS_INLINE constexpr const DMatEigenExpr< MT, SO > & operator~ () const noexcept
 CRTP-based conversion operation for constant vectors. More...
 
constexpr DMatEigenExpr< MT, SO > & operator* () noexcept
 CRTP-based conversion operation for non-constant vectors. More...
 
constexpr const DMatEigenExpr< MT, SO > & operator* () const noexcept
 CRTP-based conversion operation for constant vectors. 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 transposeFlag
 Transpose flag of the vector.
 

Private Types

using VT = ColumnTrait_t< ResultType_t< MT > >
 Type of the resulting vector.
 
using ET = typename If_t< IsSymmetric_v< MT >||IsHermitian_v< MT >, UnderlyingElement< ElementType_t< MT > >, MakeComplex< ElementType_t< MT > > >::Type
 Element type of the resulting vector.
 

Private Attributes

Operand dm_
 Dense matrix of the eigenvalue expression.
 

Detailed Description

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

Expression object for dense matrix eigenvalue solvers.

The DMatEigenExpr class represents the compile time expression for dense matrix eigenvalue solvers.

Constructor & Destructor Documentation

◆ DMatEigenExpr()

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

Constructor for the DMatEigenExpr class.

Parameters
dmThe dense matrix operand of the eigenvalue expression.

Member Function Documentation

◆ canAlias()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatEigenExpr< 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.

◆ isAliased()

template<typename MT , bool SO>
template<typename T >
bool blaze::DMatEigenExpr< 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::DMatEigenExpr< MT, SO >::operand ( ) const
inlinenoexcept

Returns the dense matrix operand.

Returns
The dense matrix operand.

◆ operator*() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatEigenExpr< MT, SO > & blaze::Vector< DMatEigenExpr< MT, SO > , TF >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for constant vectors.

Returns
Const reference of the actual type of the vector.

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

◆ operator*() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatEigenExpr< MT, SO > & blaze::Vector< DMatEigenExpr< MT, SO > , TF >::operator*
constexprnoexceptinherited

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

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

◆ operator~() [1/2]

BLAZE_ALWAYS_INLINE constexpr const DMatEigenExpr< MT, SO > & blaze::Vector< DMatEigenExpr< MT, SO > , TF >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for constant vectors.

Returns
Constant reference of the actual type of the vector.

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

◆ operator~() [2/2]

BLAZE_ALWAYS_INLINE constexpr DMatEigenExpr< MT, SO > & blaze::Vector< DMatEigenExpr< MT, SO > , TF >::operator~
constexprnoexceptinherited

CRTP-based conversion operation for non-constant vectors.

Returns
Mutable reference of the actual type of the vector.

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

◆ size()

template<typename MT , bool SO>
size_t blaze::DMatEigenExpr< MT, SO >::size ( ) const
inlinenoexcept

Returns the current size/dimension of the vector.

Returns
The size of the vector.

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