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

This class implements the best theoretical bounds on the length of the shortest nonzero vector in a lattice, based on the densest sphere packing in lattices. More...

#include <NormaBestLat.h>

Inherits LatCommon::Normalizer.

Public Member Functions

 NormaBestLat (const MScal &m, int k, int t, double beta=1)
 Constructor for the best bounds obtained for lattices. More...
 
double getGamma (int j) const throw (std::out_of_range)
 Returns the value of the 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 best theoretical bounds on the length of the shortest nonzero vector in a lattice, based on the densest sphere packing in lattices.

The length of a vector 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 lattice constants for the best known lattices [3] .

Constructor & Destructor Documentation

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

Constructor for the best bounds obtained for lattices.

The lattices are those of rank \(k\), with \(m\) points per unit volume, for all dimensions \(\le t\). The bias factor beta \(= \beta\) gives more weight to some of the dimensions. %: taking \(\beta < 1\) inflates the figure of merit by % \((1/\beta)^t\), thus weakening the requirements for large \(t\) in a % worst-case figure of merit. Restriction: \(t \le 48\).


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