Lattice Tester Online Documentation 0.1.0-861
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
|
This class offers funcitons to calculate the figure of merit (FOM) for the m-dual of any given 'IntLatticeExt' object. More...
#include <latticetester/FigureOfMeritDualM.h>
Public Member Functions | |
FigureOfMeritDualM (const NTL::vector< int64_t > &t, Weights &w, Normalizer &norma, ReducerBB< Int, Real > *red=0, bool includeFirst=false) | |
double | computeMeritSucc (IntLatticeExt< Int, Real > &lat, double minmerit=DBL_MAX) override |
double | computeMeritNonSucc (IntLatticeExt< Int, Real > &lat, IntLattice< Int, Real > &proj, double minmerit=DBL_MAX) override |
Public Member Functions inherited from LatticeTester::FigureOfMeritM< Int, Real > | |
FigureOfMeritM (const NTL::vector< int64_t > &t, Weights &w, Normalizer &norma, ReducerBB< Int, Real > *red=0, bool includeFirst=false) | |
virtual | ~FigureOfMeritM () |
void | setTVector (const NTL::vector< int64_t > &t, bool includeFirst=false) |
void | setWeights (Weights &w) |
void | setNormalizer (Normalizer &norma) |
void | setLLL (double delta=0.99999) |
void | setBKZ (double delta=0.99999, int64_t blocksize=10) |
void | setBB (bool redBB) |
void | setReducerBB (ReducerBB< Int, Real > *red) |
void | setLowBound (double low) |
void | setVerbosity (int64_t verbose) |
void | setCollectLevel (int64_t collect) |
double | getMinMeritSqlen () |
Coordinates | getMinMeritProj () |
double | computeMerit (IntLatticeExt< Int, Real > &lat, IntLattice< Int, Real > &proj, double minmerit=DBL_MAX) |
double | computeMeritOneProj (IntLattice< Int, Real > &proj, const Coordinates &coord, double minmerit=DBL_MAX) |
Additional Inherited Members | |
Public Attributes inherited from LatticeTester::FigureOfMeritM< Int, Real > | |
NTL::vector< int64_t > | m_t |
int64_t | m_tsize = 0 |
Weights * | m_weights |
Normalizer * | m_norma |
double | m_deltaLLL = 0.0 |
double | m_deltaBKZ = 0.99999 |
int64_t | m_blocksizeBKZ = 10 |
bool | m_redBB = true |
CoordinateSets::FromRanges * | m_coordRange |
ReducerBB< Int, Real > * | m_red |
NTL::vector< Real > | m_sqlen |
bool | m_includeFirst = false |
double | m_lowbound = 0.0 |
double | m_minMerit = DBL_MAX |
double | m_minMeritSqlen = 0 |
Coordinates | m_minMeritProj |
Coordinates | m_worstproj |
int64_t | m_verbose = 0 |
int64_t | m_collectLevel = 0 |
This class offers funcitons to calculate the figure of merit (FOM) for the m-dual of any given 'IntLatticeExt' object.
It is implemented as a subclass of 'FigureOfMeritM.h' and thus requires the same input for the constructor. We refer the reader to 'FigureOfMeritM.h' for further details. The main method of this class is 'computeMeritM' which calculates the actual FOM for the m-dual lattice of a given lattice. The computation is stopped (early exit) as soon as we know that the value of the FOM will be outside the interval [low, high]
.
Note: The class works only for the case where "PrecisionType == DOUBLE".
This is a limitation.
LatticeTester::FigureOfMeritDualM< Int, Real >::FigureOfMeritDualM | ( | const NTL::vector< int64_t > & | t, |
Weights & | w, | ||
Normalizer & | norma, | ||
ReducerBB< Int, Real > * | red = 0, | ||
bool | includeFirst = false ) |
|
overridevirtual |
Reimplemented from LatticeTester::FigureOfMeritM< Int, Real >.
|
overridevirtual |
Reimplemented from LatticeTester::FigureOfMeritM< Int, Real >.