Xped
Loading...
Searching...
No Matches
Xped::CoeffUnaryOp< XprType, ReturnScalar > Class Template Reference

#include <CoeffUnaryOp.hpp>

Inheritance diagram for Xped::CoeffUnaryOp< XprType, ReturnScalar >:
Collaboration diagram for Xped::CoeffUnaryOp< XprType, ReturnScalar >:

Public Types

using Scalar = ReturnScalar
 
typedef XprType::Symmetry Symmetry
 
using AllocationPolicy = typename XprType::AllocationPolicy
 
typedef Symmetry::qType qType
 
- Public Types inherited from Xped::TensorBase< CoeffUnaryOp< XprType, ReturnScalar > >
typedef TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Scalar Scalar
 
typedef TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Symmetry Symmetry
 
using AllocationPolicy = typename TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::AllocationPolicy
 
using MatrixType = PlainInterface::MType< Scalar >
 

Public Member Functions

 CoeffUnaryOp (XPED_CONST XprType &xpr, const std::function< ReturnScalar(typename XprType::Scalar)> &coeff_func)
 
const std::string name () const
 
constexpr std::size_t rank () const
 
constexpr std::size_t corank () const
 
const auto sector () const
 
const qType sector (std::size_t i) const
 
const auto block (std::size_t i) const
 
auto block (std::size_t i)
 
const auto dict () const
 
const mpi::XpedWorldworld () const
 
const auto uncoupledDomain () const
 
const auto uncoupledCodomain () const
 
const auto coupledDomain () const
 
const auto coupledCodomain () const
 
auto domainTrees (const qType &q) const
 
auto codomainTrees (const qType &q) const
 
- Public Member Functions inherited from Xped::TensorBase< CoeffUnaryOp< XprType, ReturnScalar > >
XPED_CONST AdjointOp< CoeffUnaryOp< XprType, ReturnScalar > > adjoint () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, ReturnScalar > unaryExpr (const std::function< ReturnScalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > unaryExpr (const std::function< MatrixType(const MatrixType &)> &coeff_func) XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, Scalarsqrt () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, Scalarinv () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, Scalarsquare () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, typename ScalarTraits< Scalar >::Real > abs () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar >, OtherScalar > cast () XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > msqrt () XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > mexp (Scalar factor) XPED_CONST
 
CoeffUnaryOp< XprType, ReturnScalar > & operator+= (const Scalar offset)
 
CoeffUnaryOp< XprType, ReturnScalar > & operator+= (XPED_CONST TensorBase< OtherDerived > &other)
 
CoeffUnaryOp< XprType, ReturnScalar > & operator-= (const Scalar offset)
 
CoeffUnaryOp< XprType, ReturnScalar > & operator-= (XPED_CONST TensorBase< OtherDerived > &other)
 
CoeffUnaryOp< XprType, ReturnScalar > & operator*= (const Scalar factor)
 
CoeffUnaryOp< XprType, ReturnScalar > & operator/= (const Scalar divisor)
 
XPED_CONST DiagCoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > diagUnaryExpr (const std::function< Scalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > diag_inv () XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< CoeffUnaryOp< XprType, ReturnScalar > > diag_sqrt () XPED_CONST
 
XPED_CONST DiagCoeffBinaryOp< CoeffUnaryOp< XprType, ReturnScalar >, OtherDerived > diagBinaryExpr (XPED_CONST TensorBase< OtherDerived > &other, const std::function< Scalar(Scalar, Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST CoeffBinaryOp< CoeffUnaryOp< XprType, ReturnScalar >, OtherDerived > binaryExpr (XPED_CONST TensorBase< OtherDerived > &other, const std::function< Scalar(Scalar, Scalar)> &coeff_func) XPED_CONST
 
Tensor< std::common_type_t< Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, Symmetry, false, AllocationPolicyoperator* (XPED_CONST TensorBase< OtherDerived > &other) XPED_CONST
 
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
 
Tensor< std::common_type_t< typename TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, typename TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::Symmetry, false, typename TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::AllocationPolicy > operator* (XPED_CONST TensorBase< OtherDerived > &other) XPED_CONST
 
Scalar trace () XPED_CONST
 
TensorTraits< CoeffUnaryOp< XprType, ReturnScalar > >::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 CoeffUnaryOp< XprType, ReturnScalar > & derived () const
 
CoeffUnaryOp< XprType, ReturnScalar > & derived ()
 

Static Public Attributes

static constexpr std::size_t Rank = XprType::Rank
 
static constexpr std::size_t CoRank = XprType::CoRank
 
- Static Public Attributes inherited from Xped::TensorBase< CoeffUnaryOp< XprType, ReturnScalar > >
static constexpr std::size_t Rank
 
static constexpr std::size_t CoRank
 

Protected Attributes

XPED_CONST XprType & refxpr_
 
const std::function< ReturnScalar(typename XprType::Scalar)> coeff_func_
 

Member Typedef Documentation

◆ AllocationPolicy

template<typename XprType , typename ReturnScalar >
using Xped::CoeffUnaryOp< XprType, ReturnScalar >::AllocationPolicy = typename XprType::AllocationPolicy

◆ qType

template<typename XprType , typename ReturnScalar >
typedef Symmetry::qType Xped::CoeffUnaryOp< XprType, ReturnScalar >::qType

◆ Scalar

template<typename XprType , typename ReturnScalar >
using Xped::CoeffUnaryOp< XprType, ReturnScalar >::Scalar = ReturnScalar

◆ Symmetry

template<typename XprType , typename ReturnScalar >
typedef XprType::Symmetry Xped::CoeffUnaryOp< XprType, ReturnScalar >::Symmetry

Constructor & Destructor Documentation

◆ CoeffUnaryOp()

template<typename XprType , typename ReturnScalar >
Xped::CoeffUnaryOp< XprType, ReturnScalar >::CoeffUnaryOp ( XPED_CONST XprType &  xpr,
const std::function< ReturnScalar(typename XprType::Scalar)> &  coeff_func 
)
inline

Member Function Documentation

◆ block() [1/2]

template<typename XprType , typename ReturnScalar >
auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::block ( std::size_t  i)
inline

◆ block() [2/2]

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::block ( std::size_t  i) const
inline

◆ codomainTrees()

template<typename XprType , typename ReturnScalar >
auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::codomainTrees ( const qType q) const
inline

◆ corank()

template<typename XprType , typename ReturnScalar >
constexpr std::size_t Xped::CoeffUnaryOp< XprType, ReturnScalar >::corank ( ) const
inlineconstexpr

◆ coupledCodomain()

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::coupledCodomain ( ) const
inline

◆ coupledDomain()

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::coupledDomain ( ) const
inline

◆ dict()

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::dict ( ) const
inline

◆ domainTrees()

template<typename XprType , typename ReturnScalar >
auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::domainTrees ( const qType q) const
inline

◆ name()

template<typename XprType , typename ReturnScalar >
const std::string Xped::CoeffUnaryOp< XprType, ReturnScalar >::name ( ) const
inline

◆ rank()

template<typename XprType , typename ReturnScalar >
constexpr std::size_t Xped::CoeffUnaryOp< XprType, ReturnScalar >::rank ( ) const
inlineconstexpr

◆ sector() [1/2]

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::sector ( ) const
inline

◆ sector() [2/2]

template<typename XprType , typename ReturnScalar >
const qType Xped::CoeffUnaryOp< XprType, ReturnScalar >::sector ( std::size_t  i) const
inline

◆ uncoupledCodomain()

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::uncoupledCodomain ( ) const
inline

◆ uncoupledDomain()

template<typename XprType , typename ReturnScalar >
const auto Xped::CoeffUnaryOp< XprType, ReturnScalar >::uncoupledDomain ( ) const
inline

◆ world()

template<typename XprType , typename ReturnScalar >
const mpi::XpedWorld & Xped::CoeffUnaryOp< XprType, ReturnScalar >::world ( ) const
inline

Member Data Documentation

◆ coeff_func_

template<typename XprType , typename ReturnScalar >
const std::function<ReturnScalar(typename XprType::Scalar)> Xped::CoeffUnaryOp< XprType, ReturnScalar >::coeff_func_
protected

◆ CoRank

template<typename XprType , typename ReturnScalar >
constexpr std::size_t Xped::CoeffUnaryOp< XprType, ReturnScalar >::CoRank = XprType::CoRank
inlinestaticconstexpr

◆ Rank

template<typename XprType , typename ReturnScalar >
constexpr std::size_t Xped::CoeffUnaryOp< XprType, ReturnScalar >::Rank = XprType::Rank
inlinestaticconstexpr

◆ refxpr_

template<typename XprType , typename ReturnScalar >
XPED_CONST XprType& Xped::CoeffUnaryOp< XprType, ReturnScalar >::refxpr_
protected

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