Lattice Tester Online Documentation unknown
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
|
In this normalizer, the Hermite constants \(\gamma_s\) are approximated using the best upper bounds that are available. More...
Public Member Functions | |
NormaBestBound (double logm, int k, int maxDim, NormType norm=L2NORM) | |
This constructor assumes that the rescaled primal lattice has scaling factor \(m\) and order \(k\), so its density is \(m^{k-t}\) for \(t\geq k\), and cannot exceed 1 for projections in \(s < k\) dimensions. | |
NormaBestBound (double logDensity, int maxDim, NormType norm=L2NORM) | |
Constructs a NormaBestBound for up to maxDim dimensions, by assuming that the log density is logDensity in all dimensions and the lattice was not rescaled. | |
~NormaBestBound () | |
Destructor. | |
double | getGamma (int j) const |
Returns the value of the bound on the Hermite's constant \(\gamma_j\) in dimension \(j\). | |
![]() | |
Normalizer (double logm, int64_t k, int64_t maxDim, NormType norm=L2NORM) | |
This is the preferred constructor in all the subclasses. | |
Normalizer (double logDensity, int64_t maxDim, NormType norm=L2NORM) | |
***** DEPRECATED ***** | |
Normalizer (int64_t maxDim, NormType norm=L2NORM) | |
This constructor creates a Normalizer object without computing any bounds. | |
virtual | ~Normalizer () |
Destructor. | |
virtual void | computeBounds (double logDensity) |
This method is rarely applicable! It computes bounds by assuming that the log density is logDensity for all dimensions up to the maximal dimension maxDim . | |
void | computeBounds (double logm, int64_t k) |
This method is called by the constructors of subclasses, in which the constants gamma_t are known. | |
std::string | toString () const |
Returns a string that describes this object. | |
NormType | getNorm () const |
Returns the norm associated with this object. | |
int64_t | getMaxDim () const |
Returns the maximal dimension for this object. | |
virtual double * | getBounds () const |
Returns the array that contains the bounds on the lengths of the shortest nonzero vectors. | |
virtual double | getBound (int64_t j) const |
Returns the bound on the length of the shortest nonzero vector in j dimensions. | |
virtual double | getGamma (int64_t j) const |
This virtual function must be implemented in subclasses. | |
Additional Inherited Members | |
![]() | |
static const int64_t | MAX_DIM = 48 |
The maximum dimension of the lattices for which this class can give an upper bound. | |
![]() | |
std::string | m_name |
Name of the normalizer. | |
NormType | m_norm |
Norm type associated with this object. | |
int64_t | m_maxDim |
Maximum dimension. | |
double * | m_bounds |
Contains the bounds on the length of the shortest nonzero vector in the lattice in each dimension up to maxDim . | |
In this normalizer, the Hermite constants \(\gamma_s\) are approximated using the best upper bounds that are available.
For dimensions 0 through 8, the Hermite constant are known exactly. For dimensions 9 through 36, they are computed using the article "A Conceptual breakthrough in sphere packing" from Henry Cohn (2016). see https://doi.org/10.4007/annals.2003.157.689. For dimensions 37 through 48 we use Rogers's bound. This values given here are for the L2NORM. For the L1NORM, the bounds must be multiplied by s
in s
dimensions.
LatticeTester::NormaBestBound::NormaBestBound | ( | double | logm, |
int | k, | ||
int | maxDim, | ||
NormType | norm = L2NORM ) |
This constructor assumes that the rescaled primal lattice has scaling factor \(m\) and order \(k\), so its density is \(m^{k-t}\) for \(t\geq k\), and cannot exceed 1 for projections in \(s < k\) dimensions.
LatticeTester::NormaBestBound::NormaBestBound | ( | double | logDensity, |
int | maxDim, | ||
NormType | norm = L2NORM ) |
Constructs a NormaBestBound
for up to maxDim
dimensions, by assuming that the log density is logDensity
in all dimensions and the lattice was not rescaled.
Restriction: maxDim
\( \le 48\).
LatticeTester::NormaBestBound::~NormaBestBound | ( | ) |
Destructor.
|
inline |
Returns the value of the bound on the Hermite's constant \(\gamma_j\) in dimension \(j\).