Lattice Builder Manual Software Package for Constructing Rank-1 Lattices

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Public Member Functions | List of all members
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:

- latcommon/include/latcommon/NormaBestLat.h