Xped
Loading...
Searching...
No Matches
Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight > Class Template Reference

#include <CoeffBinaryOp.hpp>

Inheritance diagram for Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >:
Collaboration diagram for Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >:

Public Types

typedef XprTypeLeft::Scalar Scalar
 
typedef XprTypeLeft::Symmetry Symmetry
 
using AllocationPolicy = typename XprTypeLeft::AllocationPolicy
 
typedef Symmetry::qType qType
 
- Public Types inherited from Xped::TensorBase< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >
typedef TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::Scalar Scalar
 
typedef TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::Symmetry Symmetry
 
using AllocationPolicy = typename TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::AllocationPolicy
 
using MatrixType = PlainInterface::MType< Scalar >
 

Public Member Functions

 CoeffBinaryOp (XPED_CONST XprTypeLeft &xpr_l, XPED_CONST XprTypeRight &xpr_r, const std::function< Scalar(Scalar, 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< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >
XPED_CONST AdjointOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > adjoint () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, ReturnScalar > unaryExpr (const std::function< ReturnScalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > unaryExpr (const std::function< MatrixType(const MatrixType &)> &coeff_func) XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, Scalarsqrt () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, Scalarinv () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, Scalarsquare () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, typename ScalarTraits< Scalar >::Real > abs () XPED_CONST
 
XPED_CONST CoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, OtherScalar > cast () XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > msqrt () XPED_CONST
 
XPED_CONST BlockUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > mexp (Scalar factor) XPED_CONST
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator+= (const Scalar offset)
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator+= (XPED_CONST TensorBase< OtherDerived > &other)
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator-= (const Scalar offset)
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator-= (XPED_CONST TensorBase< OtherDerived > &other)
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator*= (const Scalar factor)
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & operator/= (const Scalar divisor)
 
XPED_CONST DiagCoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > diagUnaryExpr (const std::function< Scalar(Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > diag_inv () XPED_CONST
 
XPED_CONST DiagCoeffUnaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight > > diag_sqrt () XPED_CONST
 
XPED_CONST DiagCoeffBinaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, OtherDerived > diagBinaryExpr (XPED_CONST TensorBase< OtherDerived > &other, const std::function< Scalar(Scalar, Scalar)> &coeff_func) XPED_CONST
 
XPED_CONST CoeffBinaryOp< CoeffBinaryOp< XprTypeLeft, XprTypeRight >, 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< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::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< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::Scalar, typename TensorTraits< OtherDerived >::Scalar >, TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::Rank, TensorTraits< typename std::remove_const< std::remove_reference_t< OtherDerived > >::type >::CoRank, typename TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::Symmetry, false, typename TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::AllocationPolicy > operator* (XPED_CONST TensorBase< OtherDerived > &other) XPED_CONST
 
Scalar trace () XPED_CONST
 
TensorTraits< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >::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 CoeffBinaryOp< XprTypeLeft, XprTypeRight > & derived () const
 
CoeffBinaryOp< XprTypeLeft, XprTypeRight > & derived ()
 

Static Public Attributes

static constexpr std::size_t Rank = XprTypeLeft::Rank
 
static constexpr std::size_t CoRank = XprTypeLeft::CoRank
 
- Static Public Attributes inherited from Xped::TensorBase< CoeffBinaryOp< XprTypeLeft, XprTypeRight > >
static constexpr std::size_t Rank
 
static constexpr std::size_t CoRank
 

Protected Attributes

XPED_CONST XprTypeLeft & refxpr_l_
 
XPED_CONST XprTypeRight & refxpr_r_
 
const std::function< Scalar(Scalar, Scalar)> coeff_func_
 

Member Typedef Documentation

◆ AllocationPolicy

template<typename XprTypeLeft , typename XprTypeRight >
using Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::AllocationPolicy = typename XprTypeLeft::AllocationPolicy

◆ qType

template<typename XprTypeLeft , typename XprTypeRight >
typedef Symmetry::qType Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::qType

◆ Scalar

template<typename XprTypeLeft , typename XprTypeRight >
typedef XprTypeLeft::Scalar Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::Scalar

◆ Symmetry

template<typename XprTypeLeft , typename XprTypeRight >
typedef XprTypeLeft::Symmetry Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::Symmetry

Constructor & Destructor Documentation

◆ CoeffBinaryOp()

template<typename XprTypeLeft , typename XprTypeRight >
Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::CoeffBinaryOp ( XPED_CONST XprTypeLeft &  xpr_l,
XPED_CONST XprTypeRight &  xpr_r,
const std::function< Scalar(Scalar, Scalar)> &  coeff_func 
)
inline

Member Function Documentation

◆ block() [1/2]

template<typename XprTypeLeft , typename XprTypeRight >
auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::block ( std::size_t  i)
inline
Here is the call graph for this function:

◆ block() [2/2]

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::block ( std::size_t  i) const
inline
Here is the call graph for this function:

◆ codomainTrees()

template<typename XprTypeLeft , typename XprTypeRight >
auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::codomainTrees ( const qType q) const
inline

◆ corank()

template<typename XprTypeLeft , typename XprTypeRight >
constexpr std::size_t Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::corank ( ) const
inlineconstexpr

◆ coupledCodomain()

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::coupledCodomain ( ) const
inline

◆ coupledDomain()

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::coupledDomain ( ) const
inline

◆ dict()

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::dict ( ) const
inline

◆ domainTrees()

template<typename XprTypeLeft , typename XprTypeRight >
auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::domainTrees ( const qType q) const
inline

◆ name()

template<typename XprTypeLeft , typename XprTypeRight >
const std::string Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::name ( ) const
inline

◆ rank()

template<typename XprTypeLeft , typename XprTypeRight >
constexpr std::size_t Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::rank ( ) const
inlineconstexpr

◆ sector() [1/2]

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::sector ( ) const
inline

◆ sector() [2/2]

template<typename XprTypeLeft , typename XprTypeRight >
const qType Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::sector ( std::size_t  i) const
inline

◆ uncoupledCodomain()

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::uncoupledCodomain ( ) const
inline

◆ uncoupledDomain()

template<typename XprTypeLeft , typename XprTypeRight >
const auto Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::uncoupledDomain ( ) const
inline

◆ world()

template<typename XprTypeLeft , typename XprTypeRight >
const mpi::XpedWorld & Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::world ( ) const
inline

Member Data Documentation

◆ coeff_func_

template<typename XprTypeLeft , typename XprTypeRight >
const std::function<Scalar(Scalar, Scalar)> Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::coeff_func_
protected

◆ CoRank

template<typename XprTypeLeft , typename XprTypeRight >
constexpr std::size_t Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::CoRank = XprTypeLeft::CoRank
inlinestaticconstexpr

◆ Rank

template<typename XprTypeLeft , typename XprTypeRight >
constexpr std::size_t Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::Rank = XprTypeLeft::Rank
inlinestaticconstexpr

◆ refxpr_l_

template<typename XprTypeLeft , typename XprTypeRight >
XPED_CONST XprTypeLeft& Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::refxpr_l_
protected

◆ refxpr_r_

template<typename XprTypeLeft , typename XprTypeRight >
XPED_CONST XprTypeRight& Xped::CoeffBinaryOp< XprTypeLeft, XprTypeRight >::refxpr_r_
protected

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