LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
LatBuilder::SizeParam< LR, EmbeddingType::MULTILEVEL > Class Template Reference

Lattice size type for embedded lattices. More...

#include <SizeParam-EMBEDDED.h>

Inherits LatBuilder::BasicSizeParam< SizeParam< LR, EmbeddingType::MULTILEVEL > >.

Public Types

typedef self_type::Modulus Modulus
 
typedef self_type::size_type size_type
 
- Public Types inherited from LatBuilder::BasicSizeParam< SizeParam< LR, EmbeddingType::MULTILEVEL > >
typedef SizeParamTraits< SizeParam< LR, EmbeddingType::MULTILEVEL > >::Modulus Modulus
 
typedef SizeParamTraits< SizeParam< LR, EmbeddingType::MULTILEVEL > >::size_type size_type
 

Public Member Functions

 SizeParam (Modulus primeBase, Level maxLevel)
 Constructor. More...
 
 SizeParam (Modulus modulus=(Modulus)(0))
 Constructor. More...
 
template<class D >
 SizeParam (const BasicSizeParam< D > &other)
 
Modulus base () const
 Returns the prime base for the modulus.
 
Level maxLevel () const
 Returns the maximum embedding level of the base for the last lattice in the sequence.
 
size_type numPointsOnLevel (Level level) const
 Returns the number of points for the lattice at embedding level level in the sequence.
 
size_t totient () const
 
void normalize (Real &merit) const
 
void normalize (RealVector &merit) const
 Divides the merit value at each level in merit by the number of points at that level.
 
std::ostream & format (std::ostream &os) const
 
- Public Member Functions inherited from LatBuilder::BasicSizeParam< SizeParam< LR, EmbeddingType::MULTILEVEL > >
 BasicSizeParam (Modulus modulus)
 
Modulus modulus () const
 
size_type numPoints () const
 
 operator Modulus () const
 
size_t totient () const
 Returns the value of Euler's totient function. More...
 
bool operator== (const BasicSizeParam< D > &other) const
 
bool operator!= (const BasicSizeParam< D > &other) const
 
bool operator< (const BasicSizeParam< D > &other) const
 
void normalize (Real &merit) const
 Divides the merit value merit by the number of points.
 
void normalize (RealVector &merit) const
 Divides the each merit value in merit by the number of points.
 
unsigned int log2NumPoints () const
 

Additional Inherited Members

- Protected Member Functions inherited from LatBuilder::BasicSizeParam< SizeParam< LR, EmbeddingType::MULTILEVEL > >
 BasicSizeParam (const BasicSizeParam &)=default
 

Detailed Description

template<LatticeType LR>
class LatBuilder::SizeParam< LR, EmbeddingType::MULTILEVEL >

Lattice size type for embedded lattices.

Defining parameters:

  • prime base for the modulus (prime integer in the case of lattices rules and an irreductible polynomial in the case of polynomial lattices);
  • maximum embedding level (power of the base for the last lattice in the sequence).
Examples:
tutorial/MeritSeqCoordUniform.cc, and tutorial/MeritSeqFastCBC.cc.

Constructor & Destructor Documentation

◆ SizeParam() [1/2]

template<LatticeType LR>
LatBuilder::SizeParam< LR, EmbeddingType::MULTILEVEL >::SizeParam ( Modulus  primeBase,
Level  maxLevel 
)

Constructor.

Parameters
primeBase(prime integer in the case of lattices rules and an irreductible polynomial in the case of polynomial lattices).
maxLevelThe last lattice in the sequence (the one with the largest number of points) has \(\mathtt{primeBase}^{\mathtt{maxLevel}}\) as modulus.

◆ SizeParam() [2/2]

template<LatticeType LR>
LatBuilder::SizeParam< LR, EmbeddingType::MULTILEVEL >::SizeParam ( Modulus  modulus = (Modulus)(0))

Constructor.

Parameters
modulusmodulus factorizable as an integer power of a prime base.

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