compbio
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Eigen::StaticSGroup< Gen > Class Template Reference

Static symmetry group. More...

#include <Symmetry.h>

Public Member Functions

constexpr StaticSGroup (const StaticSGroup< Gen... > &)
 
constexpr StaticSGroup (StaticSGroup< Gen... > &&)
 
template<typename Tensor_ , typename... IndexTypes>
internal::tensor_symmetry_value_setter< Tensor_, StaticSGroup< Gen... > > operator() (Tensor_ &tensor, typename Tensor_::Index firstIndex, IndexTypes... otherIndices) const
 
template<typename Tensor_ >
internal::tensor_symmetry_value_setter< Tensor_, StaticSGroup< Gen... > > operator() (Tensor_ &tensor, std::array< typename Tensor_::Index, Tensor_::NumIndices > const &indices) const
 

Static Public Member Functions

template<typename Op , typename RV , typename Index , std::size_t N, typename... Args>
static RV apply (const std::array< Index, N > &idx, RV initial, Args &&... args)
 
template<typename Op , typename RV , typename Index , typename... Args>
static RV apply (const std::vector< Index > &idx, RV initial, Args &&... args)
 
static constexpr std::size_t size ()
 
static constexpr int globalFlags ()
 

Static Public Attributes

static constexpr std::size_t static_size = ge::count
 

Detailed Description

template<typename... Gen>
class Eigen::StaticSGroup< Gen >

Static symmetry group.

This class represents a symmetry group that is known and resolved completely at compile time. Ideally, no run-time penalty is incurred compared to the manual unrolling of the symmetry.

CAUTION:

Do not use this class directly for large symmetry groups. The compiler may run into a limit, or segfault or in the very least will take a very, very, very long time to compile the code. Use the SGroup class instead if you want a static group. That class contains logic that will automatically select the DynamicSGroup class instead if the symmetry group becomes too large. (In that case, unrolling may not even be beneficial.)


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