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

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

#include <NormaLaminated.h>

Inherits LatCommon::Normalizer.

Public Member Functions

 NormaLaminated (const MScal &m, int k, int t, double beta=1)
 Constructor for the bounds obtained for laminated 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 theoretical bounds on the length of the shortest nonzero vector in a lattice, based on the densest sphere packing in laminated lattices.

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 lattice constants for the best laminated lattices [3] .

Constructor & Destructor Documentation

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

Constructor for the bounds obtained for laminated lattices.

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. %: 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: