LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
LatBuilder::GenSeq::CyclicGroup< LR, COMPRESS, TRAV, ORDER > Class Template Reference

Cyclic group. More...

#include <CyclicGroup.h>

Detailed Description

template<LatticeType LR, Compress COMPRESS = Compress::NONE, class TRAV = CyclicGroupTraversal<LR>, GroupOrder ORDER = GroupOrder::DIRECT>
class LatBuilder::GenSeq::CyclicGroup< LR, COMPRESS, TRAV, ORDER >

Cyclic group.

Cyclic group \(\{ 1, g, g^2, \dots, g^{\varphi(b^m) - 1} \}\) of integers modulo \(b^m\) (respectively polynomials modulo \(b^m\)), where \(b\) is a prime base (respectively an irreductible polynomial), \(g\) is the generator of the group, and \(\varphi\) is Euler's totient function.

The generator of the group is computed by the class constructor.

Template Parameters
COMPRESSCompression type. If Compress::SYMMETRIC, only the first half of the group is considered and an element value of \(a\) is mapped to \(\min(a, b^m - a)\). (available only in the integer case)
Remarks
-For the integer case, and in base 2, the group is the union of two cyclic groups rather than a single cyclic group.
  • In the polynomial case, the power must be set to 1 otherwise the group does not have a cyclic stucture
Examples:
tutorial/GenSeqCyclicGroup.cc, and tutorial/MeritSeqFastCBC.cc.

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