Lattice Builder Manual Software Package for Constructing Rank-1 Lattices

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
LatBuilder::Storage< LatType::EMBEDDED, COMPRESS > Class Template Reference

Vector permutation for embedded lattices. More...

`#include <Storage-EMBEDDED.h>`

Inherits LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >.

## Classes
class | LevelRanges
| Sequence of ranges of indices corresponding to embedded levels. More...

## Public Types
typedef self_type::size_type | size_type
typedef self_type::Compress | Compress
typedef self_type::MeritValue | MeritValue
typedef self_type::SizeParam | SizeParam
Public Types inherited from LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::size_type | size_type
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::MeritValue | MeritValue
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::SizeParam | SizeParam
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::Unpermute | Unpermute
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::Stride | Stride

## Public Member Functions
| Storage (const Storage &other)
| Storage (SizeParam sizeParam)
size_type | virtualSize () const
MeritValue | createMeritValue (Real value) const
const GroupType & | indices () const
const GroupType & | indices (Level i) const
const GenGroupType & | generators () const
LevelRanges | levelRanges () const
| Creates and returns a new instance of LevelRanges.
Public Member Functions inherited from LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >
| BasicStorage (SizeParam sizeParam)
size_type | virtualSize () const
size_type | size () const
const SizeParam & | sizeParam () const
bool | symmetric () const
bool | operator== (const BasicStorage &other) const
bool | operator!= (const BasicStorage &other) const
MeritValue | createMeritValue (Real value) const
boost::numeric::ublas::vector_indirect < V, IndexMap< Unpermute > > | unpermuted (boost::numeric::ublas::vector_container< V > &vec) const
| Returns a vector proxy to access the vector's elements in their natural order.
boost::numeric::ublas::vector_indirect < const V, IndexMap< Stride > > | strided (const boost::numeric::ublas::vector_container< V > &vec, size_type stride) const
| Returns a vector proxy to access the vector's elements with a periodic jump of `stride` across the elements.

## Static Public Member Functions
static std::string | shortname ()
Static Public Member Functions inherited from LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >
static std::string | name ()

## Additional Inherited Members
Protected Types inherited from LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >
typedef StorageTraits< Storage < LatType::EMBEDDED, COMPRESS > >::Compress | Compress
Protected Member Functions inherited from LatBuilder::BasicStorage< Storage< LatType::EMBEDDED, COMPRESS > >
| BasicStorage (const BasicStorage &)=default

## Detailed Description

### template<Compress COMPRESS>
class LatBuilder::Storage< LatType::EMBEDDED, COMPRESS >

Vector permutation for embedded lattices.

The vector embedded at level \(m\) in base \(b\) consists of the first \(b^m\) components of the internal representation of the vector (the lower the level, the deeper the embedding).

The indices are ordered by level. Thus, refining a logical vector by adding a new level op components can be achieved by appending elements at the end of the physical vector. Within each level, a permutation given by the inverse cyclic subgroup corresponding to that level is applied.

Template Parameters

  COMPRESS | Compression type (either None or Symmetric). If Compress::SYMMETRIC, the permuted indices are compressed by assuming that the vector components at unpermuted indices \(i\) and \(b^M - i\) have the same value, for all \(i = 0, \dots, b^M - 1\), where \(M\) is the maximum level of embedding.

See the output of Storage.cc for an illustration of this.

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

- latbuilder/include/latbuilder/Storage-EMBEDDED.h