Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
|
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. | |
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] .
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\).