Xped
Loading...
Searching...
No Matches
Xped::FusionTree< Rank, Symmetry > Struct Template Reference

#include <FusionTree.hpp>

Collaboration diagram for Xped::FusionTree< Rank, Symmetry >:

Public Types

typedef Symmetry::qType qType
 
typedef Symmetry::Scalar Scalar
 

Public Member Functions

template<typename Ar >
void serialize (Ar &ar)
 
void computeDim ()
 
void computeIntermediates ()
 
bool operator< (const FusionTree< Rank, Symmetry > &other) const
 
bool operator> (const FusionTree< Rank, Symmetry > &other) const
 
bool operator== (const FusionTree< Rank, Symmetry > &other) const
 
bool operator!= (const FusionTree< Rank, Symmetry > &other) const
 
std::string printTree (const std::array< std::string, Rank > &s_uncoupled, const std::array< std::string, util::inter_dim(Rank)> &s_intermediates, const std::string &s_coupled, const std::array< std::string, util::mult_dim(Rank)> &s_multiplicities) const
 
std::string draw () const
 
std::string print () const
 
template<typename PlainLib >
PlainLib::template TType< Scalar, Rank+1 > asTensor (const mpi::XpedWorld &world=mpi::getUniverse()) const
 
FusionTree< Rank+1, Symmetry > enlarge (const FusionTree< 1, Symmetry > &other) const
 
std::unordered_map< FusionTree< Rank, Symmetry >, typename Symmetry::Scalar > permute (const util::Permutation &p) const
 
std::unordered_map< FusionTree< Rank, Symmetry >, typename Symmetry::Scalar > swap (const std::size_t &pos) const
 
template<typename PlainLib >
PlainLib::template TType< typename Symmetry::Scalar, Rank+1 > asTensor (const mpi::XpedWorld &world) const
 

Public Attributes

std::array< qType, Rank > q_uncoupled {}
 
qType q_coupled {}
 
std::size_t dim {}
 
std::array< size_t, Rank > dims {}
 
std::array< qType, util::inter_dim(Rank)> q_intermediates {}
 
std::array< size_t, util::mult_dim(Rank)> multiplicities
 
std::array< bool, Rank > IS_DUAL {}
 

Friends

std::size_t hash_value (const FusionTree< Rank, Symmetry > &tree)
 

Member Typedef Documentation

◆ qType

template<std::size_t Rank, typename Symmetry >
typedef Symmetry::qType Xped::FusionTree< Rank, Symmetry >::qType

◆ Scalar

template<std::size_t Rank, typename Symmetry >
typedef Symmetry::Scalar Xped::FusionTree< Rank, Symmetry >::Scalar

Member Function Documentation

◆ asTensor() [1/2]

template<std::size_t Rank, typename Symmetry >
template<typename PlainLib >
PlainLib::template TType< typename Symmetry::Scalar, Rank+1 > Xped::FusionTree< Rank, Symmetry >::asTensor ( const mpi::XpedWorld world) const

◆ asTensor() [2/2]

template<std::size_t Rank, typename Symmetry >
template<typename PlainLib >
PlainLib::template TType< Scalar, Rank+1 > Xped::FusionTree< Rank, Symmetry >::asTensor ( const mpi::XpedWorld world = mpi::getUniverse()) const

◆ computeDim()

template<std::size_t Rank, typename Symmetry >
void Xped::FusionTree< Rank, Symmetry >::computeDim ( )
inline
Here is the caller graph for this function:

◆ computeIntermediates()

template<std::size_t Rank, typename Symmetry >
void Xped::FusionTree< Rank, Symmetry >::computeIntermediates
Here is the caller graph for this function:

◆ draw()

template<std::size_t Rank, typename Symmetry >
std::string Xped::FusionTree< Rank, Symmetry >::draw
Here is the call graph for this function:

◆ enlarge()

template<std::size_t Rank, typename Symmetry >
FusionTree< Rank+1, Symmetry > Xped::FusionTree< Rank, Symmetry >::enlarge ( const FusionTree< 1, Symmetry > &  other) const
Here is the call graph for this function:

◆ operator!=()

template<std::size_t Rank, typename Symmetry >
bool Xped::FusionTree< Rank, Symmetry >::operator!= ( const FusionTree< Rank, Symmetry > &  other) const
inline
Here is the call graph for this function:

◆ operator<()

template<std::size_t Rank, typename Symmetry >
bool Xped::FusionTree< Rank, Symmetry >::operator< ( const FusionTree< Rank, Symmetry > &  other) const

◆ operator==()

template<std::size_t Rank, typename Symmetry >
bool Xped::FusionTree< Rank, Symmetry >::operator== ( const FusionTree< Rank, Symmetry > &  other) const
Here is the caller graph for this function:

◆ operator>()

template<std::size_t Rank, typename Symmetry >
bool Xped::FusionTree< Rank, Symmetry >::operator> ( const FusionTree< Rank, Symmetry > &  other) const
Here is the call graph for this function:

◆ permute()

template<std::size_t Rank, typename Symmetry >
std::unordered_map< FusionTree< Rank, Symmetry >, typename Symmetry::Scalar > Xped::FusionTree< Rank, Symmetry >::permute ( const util::Permutation p) const
Here is the call graph for this function:

◆ print()

template<std::size_t Rank, typename Symmetry >
std::string Xped::FusionTree< Rank, Symmetry >::print
Here is the caller graph for this function:

◆ printTree()

template<std::size_t Rank, typename Symmetry >
std::string Xped::FusionTree< Rank, Symmetry >::printTree ( const std::array< std::string, Rank > &  s_uncoupled,
const std::array< std::string, util::inter_dim(Rank)> &  s_intermediates,
const std::string &  s_coupled,
const std::array< std::string, util::mult_dim(Rank)> &  s_multiplicities 
) const

◆ serialize()

template<std::size_t Rank, typename Symmetry >
template<typename Ar >
void Xped::FusionTree< Rank, Symmetry >::serialize ( Ar &  ar)
inline

◆ swap()

template<std::size_t Rank, typename Symmetry >
std::unordered_map< FusionTree< Rank, Symmetry >, typename Symmetry::Scalar > Xped::FusionTree< Rank, Symmetry >::swap ( const std::size_t &  pos) const

Friends And Related Function Documentation

◆ hash_value

template<std::size_t Rank, typename Symmetry >
std::size_t hash_value ( const FusionTree< Rank, Symmetry > &  tree)
friend

Member Data Documentation

◆ dim

template<std::size_t Rank, typename Symmetry >
std::size_t Xped::FusionTree< Rank, Symmetry >::dim {}

◆ dims

template<std::size_t Rank, typename Symmetry >
std::array<size_t, Rank> Xped::FusionTree< Rank, Symmetry >::dims {}

◆ IS_DUAL

template<std::size_t Rank, typename Symmetry >
std::array<bool, Rank> Xped::FusionTree< Rank, Symmetry >::IS_DUAL {}

◆ multiplicities

template<std::size_t Rank, typename Symmetry >
std::array<size_t, util::mult_dim(Rank)> Xped::FusionTree< Rank, Symmetry >::multiplicities
Initial value:
=
std::array<size_t, util::mult_dim(Rank)>()

◆ q_coupled

template<std::size_t Rank, typename Symmetry >
qType Xped::FusionTree< Rank, Symmetry >::q_coupled {}

◆ q_intermediates

template<std::size_t Rank, typename Symmetry >
std::array<qType, util::inter_dim(Rank)> Xped::FusionTree< Rank, Symmetry >::q_intermediates {}

◆ q_uncoupled

template<std::size_t Rank, typename Symmetry >
std::array<qType, Rank> Xped::FusionTree< Rank, Symmetry >::q_uncoupled {}

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