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
Public Types | Public Member Functions | List of all members
LatBuilder::StorageTraits< Storage< LatType::EMBEDDED, COMPRESS > >::Stride Class Reference

Stride permutation. More...

`#include <Storage-EMBEDDED.h>`

## Public Types
typedef StorageTraits::size_type | size_type

## Public Member Functions
| Stride (Storage< LatType::EMBEDDED, COMPRESS > storage, size_type stride)
size_type | operator() (size_type i) const
size_type | size () const

## Detailed Description

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

Stride permutation.

The elements on each level are visited by jumping across a certain number of elements (the stride length) periodically.

Consider the unpermuted vector \(\boldsymbol v = (v_1, \dots, v_n)\) for some positive integer \(n\). The \(j\)-th component of the vector with stride length \(a\) has value \(v_{j a \bmod n}\).

The stride length \(a\) can be identified to the \(i\)-th element \(g_i\) of the cyclic group \(\{ g_1, \dots, g_p \}\) integers modulo \(n\), with \(g_1 = 1\).

In the multilevel case, we can define a series of per-level vectors that regroup the elements of vector \(\boldsymbol v\) corresponding to distinct levels.

Each per-level vector can be seen a distinct row of an horizontal matrix composed of (square) circulant blocks. A \(n \times n\) circulant matrix \(\boldsymbol C\) with elements \(C_{i,j}\) is completely defined in terms of its first column \(\boldsymbol c = (c_1,\dots,c_s)\), as \(C_{i,j} = c_{(i - j) \bmod n + 1}\).

Reference: http://en.wikipedia.org/wiki/Circulant_matrix

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

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