LatNet Builder Manual
2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
|
Inherits LatBuilder::Traversal::Policy< CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV, ORDER >, TRAV >.
Classes | |
struct | RebindTraversal |
Rebinds the traversal type. More... | |
Public Types | |
typedef CyclicGroupTraits< self_type >::size_type | size_type |
typedef CyclicGroupTraits< self_type >::value_type | value_type |
typedef CyclicGroupTraits< self_type >::Modulus | Modulus |
typedef TRAV | Traversal |
Traversal type. | |
Public Member Functions | |
CyclicGroup (Traversal trav=Traversal()) | |
Constructor for an empty group. | |
CyclicGroup (Modulus base, Level power, Traversal trav=Traversal()) | |
Constructor for the cyclic group of integers modulo \(b^m\), where \(b\) is a prime base. More... | |
template<class TRAV2 > | |
CyclicGroup (const CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV2, ORDER > &other, Traversal trav=Traversal()) | |
Cross-traversal copy-constructor. | |
template<class TRAV2 > | |
RebindTraversal< TRAV2 >::Type | rebind (TRAV2 trav) const |
Returns a copy of this object, but using a different traversal policy. | |
Modulus | base () const |
Returns the base of the group modulus. | |
Level | power () const |
Returns the power of the base of the group modulus. | |
size_type | fullSize () const |
Returns the cardinality of the full group. | |
size_type | size () const |
Returns the cardinality of the group part specified by COMPRESS . More... | |
Modulus | modulus () const |
Returns the modulus \(b^m\) of the cyclic group. | |
value_type | generator () const |
Returns the generator \(g\) for the group. | |
value_type | operator[] (size_type i) const |
Returns the element at index i . | |
CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV, !ORDER > | inverse () const |
Returns the group generated by the inverse generator. | |
CyclicGroup | subgroup (Level level) const |
Returns the subgroup at level level . | |
template<Compress COMPRESS, class TRAV , GroupOrder ORDER> | |
CyclicGroup (const CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV, ORDER > &other, Level level) | |
Static Public Member Functions | |
static constexpr LatBuilder::Compress | compress () |
static std::string | name () |
static value_type | smallestGenerator (Modulus base, Level power, bool checkPrime=true) |
Returns the smallest generator for the group of cyclic polynomials modulo \(b^m\). More... | |
Friends | |
template<LatticeType , LatBuilder::Compress , class , GroupOrder > | |
class | CyclicGroup |
class | CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV, !ORDER > |
LatBuilder::GenSeq::CyclicGroup< LatticeType::POLYNOMIAL, COMPRESS, TRAV, ORDER >::CyclicGroup | ( | Modulus | base, |
Level | power, | ||
Traversal | trav = Traversal() |
||
) |
Constructor for the cyclic group of integers modulo \(b^m\), where \(b\) is a prime base.
base | irreductible base \(b\). |
power | Power \(m\) of the base. (if power \(>1\), an exeption is raised) |
trav | Traversal instance. |
References LatBuilder::intPow().
|
inline |
Returns the cardinality of the group part specified by COMPRESS
.
only Compress::NONE is supported in the polynomial case.
|
static |
Returns the smallest generator for the group of cyclic polynomials modulo \(b^m\).
base | \(b\) |
power | \(m\) |
checkPrime | If true , checks if the base is actually prime. |
References LatBuilder::intPow(), LatticeTester::IsZero(), LatBuilder::modularPow(), LatBuilder::PolynomialFromInt(), LatticeTester::power(), and LatBuilder::primeFactors().