Xped
Loading...
Searching...
No Matches
Xped::TensorBase< Derived > Class Template Reference

#include <TensorBase.hpp>

Public Types

typedef TensorTraits< Derived >::Scalar Scalar
 
typedef TensorTraits< Derived >::Symmetry Symmetry
 
using AllocationPolicy = typename TensorTraits< Derived >::AllocationPolicy
 
using MatrixType = PlainInterface::MType< Scalar >
 

Public Member Functions

XPED_CONST AdjointOp< Derived > adjoint () XPED_CONST
 
template<typename ReturnScalar >
XPED_CONST CoeffUnaryOp< Derived, ReturnScalar > unaryExpr (const std::function< ReturnScalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST BlockUnaryOp< Derived > unaryExpr (const std::function< MatrixType(const MatrixType &)> &coeff_func) XPED_CONST
 
XPED_CONST CoeffUnaryOp< Derived, Scalarsqrt () XPED_CONST
 
XPED_CONST CoeffUnaryOp< Derived, Scalarinv () XPED_CONST
 
XPED_CONST CoeffUnaryOp< Derived, Scalarsquare () XPED_CONST
 
XPED_CONST CoeffUnaryOp< Derived, typename ScalarTraits< Scalar >::Real > abs () XPED_CONST
 
template<typename OtherScalar >
XPED_CONST CoeffUnaryOp< Derived, OtherScalar > cast () XPED_CONST
 
XPED_CONST BlockUnaryOp< Derived > msqrt () XPED_CONST
 
XPED_CONST BlockUnaryOp< Derived > mexp (Scalar factor) XPED_CONST
 
Derived & operator+= (const Scalar offset)
 
Derived & operator-= (const Scalar offset)
 
Derived & operator*= (const Scalar factor)
 
Derived & operator/= (const Scalar divisor)
 
XPED_CONST DiagCoeffUnaryOp< Derived > diagUnaryExpr (const std::function< Scalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< Derived > diag_inv () XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< Derived > diag_sqrt () XPED_CONST
 
template<typename OtherDerived >
XPED_CONST DiagCoeffBinaryOp< Derived, OtherDerived > diagBinaryExpr (XPED_CONST TensorBase< OtherDerived > &other, const std::function< Scalar(Scalar, Scalar)> &coeff_func) XPED_CONST
 
template<typename OtherDerived >
XPED_CONST CoeffBinaryOp< Derived, OtherDerived > binaryExpr (XPED_CONST TensorBase< OtherDerived > &other, const std::function< Scalar(Scalar, Scalar)> &coeff_func) XPED_CONST
 
template<typename OtherDerived >
Derived & operator+= (XPED_CONST TensorBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator-= (XPED_CONST TensorBase< OtherDerived > &other)
 
template<bool = false, typename OtherDerived >
Tensor< std::common_type_t< Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< Derived >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, Symmetry, false, AllocationPolicyoperator* (XPED_CONST TensorBase< OtherDerived > &other) XPED_CONST
 
template<bool TRACK = false, typename OtherDerived >
Tensor< std::common_type_t< Scalar, typename TensorTraits< OtherDerived >::Scalar >, Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, Symmetry, false, AllocationPolicyoperator* (TensorBase< OtherDerived > &&other) XPED_CONST
 
template<bool = false>
Scalar trace () XPED_CONST
 
ScalarTraits< Scalar >::Real maxNorm () XPED_CONST
 
ScalarTraits< Scalar >::Real squaredNorm () XPED_CONST
 
ScalarTraits< Scalar >::Real norm () XPED_CONST
 
ScalarTraits< Scalar >::Real maxCoeff (std::size_t &max_block, PlainInterface::MIndextype &max_row, PlainInterface::MIndextype &max_col) XPED_CONST
 
Tensor< Scalar, Rank, CoRank, Symmetry, false, AllocationPolicyeval () const
 
const Derived & derived () const
 
Derived & derived ()
 
template<bool >
TensorTraits< Derived >::Scalar trace () XPED_CONST
 
template<bool , typename OtherDerived >
Tensor< std::common_type_t< typename TensorTraits< Derived >::Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< Derived >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, typename TensorTraits< Derived >::Symmetry, false, typename TensorTraits< Derived >::AllocationPolicyoperator* (XPED_CONST TensorBase< OtherDerived > &other) XPED_CONST
 

Static Public Attributes

static constexpr std::size_t Rank = TensorTraits<Derived>::Rank
 
static constexpr std::size_t CoRank = TensorTraits<Derived>::CoRank
 

Friends

template<typename , std::size_t , std::size_t , typename , bool , typename >
class Tensor
 
template<typename OtherDerived >
class TensorBase
 

Member Typedef Documentation

◆ AllocationPolicy

template<typename Derived >
using Xped::TensorBase< Derived >::AllocationPolicy = typename TensorTraits<Derived>::AllocationPolicy

◆ MatrixType

template<typename Derived >
using Xped::TensorBase< Derived >::MatrixType = PlainInterface::MType<Scalar>

◆ Scalar

template<typename Derived >
typedef TensorTraits<Derived>::Scalar Xped::TensorBase< Derived >::Scalar

◆ Symmetry

template<typename Derived >
typedef TensorTraits<Derived>::Symmetry Xped::TensorBase< Derived >::Symmetry

Member Function Documentation

◆ abs()

template<typename Derived >
XPED_CONST CoeffUnaryOp< Derived, typename ScalarTraits< typename TensorTraits< Derived >::Scalar >::Real > Xped::TensorBase< Derived >::abs

◆ adjoint()

template<typename Derived >
XPED_CONST AdjointOp< Derived > Xped::TensorBase< Derived >::adjoint

◆ binaryExpr()

template<typename Derived >
template<typename OtherDerived >
XPED_CONST CoeffBinaryOp< Derived, OtherDerived > Xped::TensorBase< Derived >::binaryExpr ( XPED_CONST TensorBase< OtherDerived > &  other,
const std::function< Scalar(Scalar, Scalar)> &  coeff_func 
)
Here is the caller graph for this function:

◆ cast()

template<typename Derived >
template<typename OtherScalar >
XPED_CONST CoeffUnaryOp< Derived, OtherScalar > Xped::TensorBase< Derived >::cast

◆ derived() [1/2]

template<typename Derived >
Derived & Xped::TensorBase< Derived >::derived ( )
inline

◆ derived() [2/2]

template<typename Derived >
const Derived & Xped::TensorBase< Derived >::derived ( ) const
inline
Here is the caller graph for this function:

◆ diag_inv()

template<typename Derived >
XPED_CONST DiagCoeffUnaryOp< Derived > Xped::TensorBase< Derived >::diag_inv

◆ diag_sqrt()

template<typename Derived >
XPED_CONST DiagCoeffUnaryOp< Derived > Xped::TensorBase< Derived >::diag_sqrt

◆ diagBinaryExpr()

template<typename Derived >
template<typename OtherDerived >
XPED_CONST DiagCoeffBinaryOp< Derived, OtherDerived > Xped::TensorBase< Derived >::diagBinaryExpr ( XPED_CONST TensorBase< OtherDerived > &  other,
const std::function< Scalar(Scalar, Scalar)> &  coeff_func 
)

◆ diagUnaryExpr()

template<typename Derived >
XPED_CONST DiagCoeffUnaryOp< Derived > Xped::TensorBase< Derived >::diagUnaryExpr ( const std::function< Scalar(Scalar)> &  coeff_func)

◆ eval()

template<typename Derived >
Tensor< Scalar, Rank, CoRank, Symmetry, false, AllocationPolicy > Xped::TensorBase< Derived >::eval ( ) const
inline
Here is the call graph for this function:

◆ inv()

template<typename Derived >
XPED_CONST CoeffUnaryOp< Derived, typename TensorTraits< Derived >::Scalar > Xped::TensorBase< Derived >::inv

◆ maxCoeff()

template<typename Derived >
ScalarTraits< typenameTensorTraits< Derived >::Scalar >::Real Xped::TensorBase< Derived >::maxCoeff ( std::size_t &  max_block,
PlainInterface::MIndextype max_row,
PlainInterface::MIndextype max_col 
)

◆ maxNorm()

template<typename Derived >
ScalarTraits< typenameTensorTraits< Derived >::Scalar >::Real Xped::TensorBase< Derived >::maxNorm
Here is the call graph for this function:

◆ mexp()

template<typename Derived >
XPED_CONST BlockUnaryOp< Derived > Xped::TensorBase< Derived >::mexp ( Scalar  factor)
Here is the call graph for this function:

◆ msqrt()

template<typename Derived >
XPED_CONST BlockUnaryOp< Derived > Xped::TensorBase< Derived >::msqrt
Here is the call graph for this function:

◆ norm()

template<typename Derived >
ScalarTraits< Scalar >::Real Xped::TensorBase< Derived >::norm ( )
inline
Here is the call graph for this function:

◆ operator*() [1/3]

template<typename Derived >
template<bool TRACK = false, typename OtherDerived >
Tensor< std::common_type_t< Scalar, typename TensorTraits< OtherDerived >::Scalar >, Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, Symmetry, false, AllocationPolicy > Xped::TensorBase< Derived >::operator* ( TensorBase< OtherDerived > &&  other)
inline

◆ operator*() [2/3]

template<typename Derived >
template<bool = false, typename OtherDerived >
Tensor< std::common_type_t< Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< Derived >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, Symmetry, false, AllocationPolicy > Xped::TensorBase< Derived >::operator* ( XPED_CONST TensorBase< OtherDerived > &  other)

◆ operator*() [3/3]

template<typename Derived >
template<bool , typename OtherDerived >
Tensor< std::common_type_t< typename TensorTraits< Derived >::Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< Derived >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, typename TensorTraits< Derived >::Symmetry, false, typename TensorTraits< Derived >::AllocationPolicy > Xped::TensorBase< Derived >::operator* ( XPED_CONST TensorBase< OtherDerived > &  other)
Here is the call graph for this function:

◆ operator*=()

template<typename Derived >
Derived & Xped::TensorBase< Derived >::operator*= ( const Scalar  factor)

◆ operator+=() [1/2]

template<typename Derived >
Derived & Xped::TensorBase< Derived >::operator+= ( const Scalar  offset)

◆ operator+=() [2/2]

template<typename Derived >
template<typename OtherDerived >
Derived & Xped::TensorBase< Derived >::operator+= ( XPED_CONST TensorBase< OtherDerived > &  other)

◆ operator-=() [1/2]

template<typename Derived >
Derived & Xped::TensorBase< Derived >::operator-= ( const Scalar  offset)

◆ operator-=() [2/2]

template<typename Derived >
template<typename OtherDerived >
Derived & Xped::TensorBase< Derived >::operator-= ( XPED_CONST TensorBase< OtherDerived > &  other)

◆ operator/=()

template<typename Derived >
Derived & Xped::TensorBase< Derived >::operator/= ( const Scalar  divisor)

◆ sqrt()

template<typename Derived >
XPED_CONST CoeffUnaryOp< Derived, typename TensorTraits< Derived >::Scalar > Xped::TensorBase< Derived >::sqrt

◆ square()

template<typename Derived >
XPED_CONST CoeffUnaryOp< Derived, typename TensorTraits< Derived >::Scalar > Xped::TensorBase< Derived >::square

◆ squaredNorm()

template<typename Derived >
ScalarTraits< typenameTensorTraits< Derived >::Scalar >::Real Xped::TensorBase< Derived >::squaredNorm
Here is the caller graph for this function:

◆ trace() [1/2]

template<typename Derived >
template<bool = false>
Scalar Xped::TensorBase< Derived >::trace ( )

◆ trace() [2/2]

template<typename Derived >
template<bool >
TensorTraits< Derived >::Scalar Xped::TensorBase< Derived >::trace ( )
Here is the call graph for this function:

◆ unaryExpr() [1/2]

template<typename Derived >
XPED_CONST BlockUnaryOp< Derived > Xped::TensorBase< Derived >::unaryExpr ( const std::function< MatrixType(const MatrixType &)> &  coeff_func)

◆ unaryExpr() [2/2]

template<typename Derived >
template<typename ReturnScalar >
XPED_CONST CoeffUnaryOp< Derived, ReturnScalar > Xped::TensorBase< Derived >::unaryExpr ( const std::function< ReturnScalar(Scalar)> &  coeff_func)

Friends And Related Function Documentation

◆ Tensor

template<typename Derived >
template<typename , std::size_t , std::size_t , typename , bool , typename >
friend class Tensor
friend

◆ TensorBase

template<typename Derived >
template<typename OtherDerived >
friend class TensorBase
friend

Member Data Documentation

◆ CoRank

template<typename Derived >
constexpr std::size_t Xped::TensorBase< Derived >::CoRank = TensorTraits<Derived>::CoRank
staticconstexpr

◆ Rank

template<typename Derived >
constexpr std::size_t Xped::TensorBase< Derived >::Rank = TensorTraits<Derived>::Rank
staticconstexpr

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