compbio
Classes | Public Member Functions | List of all members
Eigen::DynamicSGroup Class Reference

Dynamic symmetry group. More...

#include <Symmetry.h>

Inheritance diagram for Eigen::DynamicSGroup:
Eigen::DynamicSGroupFromTemplateArgs< Gen >

Public Member Functions

 DynamicSGroup (const DynamicSGroup &o)
 
 DynamicSGroup (DynamicSGroup &&o)
 
DynamicSGroupoperator= (const DynamicSGroup &o)
 
DynamicSGroupoperator= (DynamicSGroup &&o)
 
void add (int one, int two, int flags=0)
 
template<typename Gen_ >
void add (Gen_)
 
void addSymmetry (int one, int two)
 
void addAntiSymmetry (int one, int two)
 
void addHermiticity (int one, int two)
 
void addAntiHermiticity (int one, int two)
 
template<typename Op , typename RV , typename Index , std::size_t N, typename... Args>
RV apply (const std::array< Index, N > &idx, RV initial, Args &&... args) const
 
template<typename Op , typename RV , typename Index , typename... Args>
RV apply (const std::vector< Index > &idx, RV initial, Args &&... args) const
 
int globalFlags () const
 
std::size_t size () const
 
template<typename Tensor_ , typename... IndexTypes>
internal::tensor_symmetry_value_setter< Tensor_, DynamicSGroupoperator() (Tensor_ &tensor, typename Tensor_::Index firstIndex, IndexTypes... otherIndices) const
 
template<typename Tensor_ >
internal::tensor_symmetry_value_setter< Tensor_, DynamicSGroupoperator() (Tensor_ &tensor, std::array< typename Tensor_::Index, Tensor_::NumIndices > const &indices) const
 

Detailed Description

Dynamic symmetry group.

The DynamicSGroup class represents a symmetry group that need not be known at compile time. It is useful if one wants to support arbitrary run-time defineable symmetries for tensors, but it is also instantiated if a symmetry group is defined at compile time that would be either too large for the compiler to reasonably generate (using templates to calculate this at compile time is very inefficient) or that the compiler could generate the group but that it wouldn't make sense to unroll the loop for setting coefficients anymore.


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