Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
LatCommon::NormaRogers Class Reference

This class implements the Rogers bounds on the density of sphere packing. More...

#include <NormaRogers.h>

Inherits LatCommon::Normalizer.

Public Member Functions

 NormaRogers (const MScal &m, int k, int t, double beta=1)
 Constructor for the Rogers bounds. More...
 
 ~NormaRogers ()
 Destructor.
 
double getGamma (int j) const throw (std::out_of_range)
 Returns the value of the Rogers lattice constant \(\gamma_j\) in dimension \(j\).
 
- Public Member Functions inherited from LatCommon::Normalizer
 Normalizer (const MScal &m, int k, int t, std::string Name, NormType norm=L2NORM, double beta=1)
 
virtual ~Normalizer ()
 Destructor.
 
void init (const MScal &m, int k, double beta)
 Initializes the bounds on the length of the shortest vector. More...
 
std::string ToString () const
 Returns this object as a string.
 
NormType getNorm () const
 Returns the norm associated with this object.
 
void setNorm (NormType norm)
 Sets the norm associated with this object to norm.
 
int getDim () const
 Returns the maximal dimension for this object.
 
double & getCst (int j)
 Returns the bound on the length of the shortest nonzero vector in dimension \(j\). More...
 

Additional Inherited Members

- Static Public Attributes inherited from LatCommon::Normalizer
static const int MAX_DIM = 48
 Constructor for the bounds. More...
 
- Protected Attributes inherited from LatCommon::Normalizer
std::string m_name
 Name of the normalizer.
 
NormType m_norm
 Norm associated with this object.
 
MScal m_m
 Number of points of the lattice per unit volume.
 
int m_rank
 Rank of the lattice.
 
int m_maxDim
 Only elements 1 to m_maxDim (inclusive) of arrays are defined.
 
double m_beta
 Beta factor.
 
double * m_cst
 Contains the bounds on the length of the shortest nonzero vector in the lattice in each dimension.
 

Detailed Description

This class implements the Rogers bounds on the density of sphere packing.

The length of vectors is computed using the \({\cal L}_2\) norm. The bounding lengths, for a lattice of rank \(k\) containing \(m\) points per unit volume in dimension \(t\), are given by \(\ell_t^* = \gamma_t m^{k/t}\) for \(t \ge k\), where the \(\gamma_t\) are the Rogers lattice constants.

Constructor & Destructor Documentation

LatCommon::NormaRogers::NormaRogers ( const MScal &  m,
int  k,
int  t,
double  beta = 1 
)

Constructor for the Rogers bounds.

The lattices are those of rank \(k\), with \(m\) points per unit volume, in all dimensions \(\le t\). The bias factor beta \(= \beta\) gives more weight to some of the dimensions. There is no restriction on the dimension \(t\) which can be larger than 48.


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