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 | |
NormaBestUpBound (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. | |
NormaBestUpBound (double logDensity, int maxDim, NormType norm=L2NORM) | |
Constructs a NormaBestUpBound for up to maxDim dimensions, by assuming that the log density is logDensity in all dimensions and the lattice was not rescaled. | |
~NormaBestUpBound () | |
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) | |
This old (legacy) constructor assumes that the lattice is not rescaled and that the (log)density is the same in all dimensions, which is practically never true when rescaling. | |
Normalizer (int64_t maxDim, NormType norm=L2NORM) | |
This constructor creates a Normalizer object without computing any bounds. | |
virtual | ~Normalizer () |
Destructor. | |
void | computeBounds (double logm, int64_t k) |
This method computes the bounds that this normalizer will return, by assuming that the primal lattice was rescaled by the factor \(m\) and has order \(k\), so its density is \(m^{k-t}\) for \(t\geq k\), and cannot exceed \(m^s\) for projections in \(s < k\) dimensions. | |
virtual void | computeBounds (double logDensity) |
This method computes bounds by assuming that the log density is logDensity for all dimensions up to the maximal dimension maxDim , which is rarely true. | |
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 compute a 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, and 24, the Hermite constant are known exactly. For dimensions 9 through 36, except 24, they are computed using the article [mCOH03a]. For dimensions 37 through 48 we use Rogers's bounds. The values given here are for the L2NORM. For the L1NORM, the bounds must be multiplied by s
in s
dimensions.
LatticeTester::NormaBestUpBound::NormaBestUpBound | ( | 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::NormaBestUpBound::NormaBestUpBound | ( | double | logDensity, |
int | maxDim, | ||
NormType | norm = L2NORM ) |
Constructs a NormaBestUpBound
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::NormaBestUpBound::~NormaBestUpBound | ( | ) |
Destructor.
|
inline |
Returns the value of the bound on the Hermite's constant \(\gamma_j\) in dimension \(j\).