Lattice Tester Guide
1.0-9
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
|
This class implements Minkowski’s theoretical LOWER bound on the length of the shortest non-zero vector in a lattice. More...
#include <latticetester/NormaMinkowski.h>
Inherits LatticeTester::Normalizer< RedDbl >.
Public Member Functions | |
NormaMinkowski (RedDbl &logDensity, int t, double beta=1) | |
Constructor for the bounds obtained for Minkowski lattices. More... | |
double | getGamma (int j) const |
Returns the value of the lattice constant \(\gamma_j\) in dimension \(j\). More... | |
Public Member Functions inherited from LatticeTester::Normalizer< RedDbl > | |
Normalizer (RedDbl &logDensity, int t, std::string Name, NormType norm=L2NORM, double beta=1) | |
Complete constructor for a Normalizer . More... | |
Normalizer (int t, std::string Name, NormType norm=L2NORM, double beta=1) | |
Constructor that does not take the density as an argument. More... | |
virtual | ~Normalizer () |
Destructor. More... | |
virtual void | init (RedDbl &logDensity, double beta) |
This is a method that will initialize the bounds this normalizer can return. More... | |
std::string | ToString () const |
Returns a string that describes this object. More... | |
NormType | getNorm () const |
Returns the norm associated with this object. More... | |
void | setLogDensity (RedDbl logDensity) |
Sets the log-density associated with this object to logDensity . More... | |
RedDbl | getLogDensity () const |
Returns the logDensity associated with this object. More... | |
void | setNorm (NormType norm) |
Sets the norm associated with this object to norm . More... | |
int | getDim () const |
Returns the maximal dimension for this object. More... | |
double | getPreComputedBound (int j) const |
Returns the bound for dimension j as computed in Normalizer::init(). More... | |
virtual RedDbl | getBound (int j) const |
Calculates and returns the bound on the length of the shortest nonzero vector in dimension j . More... | |
Additional Inherited Members | |
Static Public Attributes inherited from LatticeTester::Normalizer< RedDbl > | |
static const int | MAX_DIM = 48 |
The maximum dimension of the lattices for which this class can give an upper bound. More... | |
Protected Attributes inherited from LatticeTester::Normalizer< RedDbl > | |
std::string | m_name |
Name of the normalizer. More... | |
NormType | m_norm |
Norm associated with this object. More... | |
RedDbl | m_logDensity |
log of the density, ie log of the number of points of the lattice per unit of volume. More... | |
int | m_maxDim |
Only elements 1 to m_maxDim (inclusive) of m_bounds bellow will be pre-computed. More... | |
double | m_beta |
Beta factor used to give more or less importance to some of the dimensions. More... | |
double * | m_bounds |
Contains the bounds on the length of the shortest nonzero vector in the lattice in each dimension. More... | |
This class implements Minkowski’s theoretical LOWER bound on the length of the shortest non-zero vector in a lattice.
The length of a vector is computed using the \({\mathcal{L}}_2\) norm. The bounding lengths, for a lattice containing \(n\) points per unit volume in dimension \(t\), are given by \(\ell_t^* = \gamma_t^{1/2} n^{-1/t}\), where the \(\gamma_t\) are the Minkowski lattice constants.
LatticeTester::NormaMinkowski< RedDbl >::NormaMinkowski | ( | RedDbl & | logDensity, |
int | t, | ||
double | beta = 1 |
||
) |
Constructor for the bounds obtained for Minkowski lattices.
The lattices have \(n\) points per unit volume, in all dimensions \(\le t\). The bias factor beta
\(= \beta\) gives more weight to some of the dimensions. Note this class stores the log value of the density to handle larger values. Restriction: \(t \le48\).
|
inlinevirtual |
Returns the value of the lattice constant \(\gamma_j\) in dimension \(j\).
Reimplemented from LatticeTester::Normalizer< RedDbl >.