Lattice Tester Online Documentation unknown
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
|
Static functions to reduce a lattice basis via LLL and BKZ. More...
Namespaces | |
namespace | LatticeTester |
LatticeTester namespace. | |
Functions | |
template<typename Int , typename Real > | |
static void | LatticeTester::redLLL (IntMat &basis, double delta=0.99999, long dim=0, RealVec *sqlen=0) |
This function uses the NTL implementation of the LLL reduction algorithm with factor delta , presented in [9] (see also [7]). | |
template<typename Int > | |
static void | LatticeTester::redLLLExact (IntMat &basis, double delta=0.99999) |
This static function implements an exact algorithm from NTL to perform the original LLL reduction. | |
template<typename Int , typename Real > | |
static void | LatticeTester::redBKZ (IntMat &basis, double delta=0.99999, int64_t blocksize=10, long prune=0, long dim=0, RealVec *sqlen=0) |
This calls the NTL implementation of the floating point version of the BKZ reduction algorithm presented in [9], with reduction factor delta , block size blocksize , pruning parameter ‘prune’; see [7]. | |
template<typename Int , typename Real > | |
void | LatticeTester::redLLL (IntMat &basis, double delta, long dim, RealVec *sqlen) |
This function uses the NTL implementation of the LLL reduction algorithm with factor delta , presented in [9] (see also [7]). | |
template<> | |
void | LatticeTester::redLLL (NTL::Mat< int64_t > &basis, double delta, long dim, NTL::Vec< double > *sqlen) |
template<> | |
void | LatticeTester::redLLL (NTL::Mat< NTL::ZZ > &basis, double delta, long dim, NTL::Vec< double > *sqlen) |
template<> | |
void | LatticeTester::redLLL (NTL::Mat< NTL::ZZ > &basis, double delta, long dim, NTL::Vec< xdouble > *sqlen) |
template<> | |
void | LatticeTester::redLLL (NTL::Mat< NTL::ZZ > &basis, double delta, long dim, NTL::Vec< quad_float > *sqlen) |
template<> | |
void | LatticeTester::redLLL (NTL::Mat< NTL::ZZ > &basis, double delta, long dim, NTL::Vec< NTL::RR > *sqlen) |
template<typename Int > | |
void | LatticeTester::redLLLExact (IntMat &basis, double delta) |
This static function implements an exact algorithm from NTL to perform the original LLL reduction. | |
template<> | |
void | LatticeTester::redLLLExact (NTL::Mat< NTL::ZZ > &basis, double delta) |
template<typename Int , typename Real > | |
void | LatticeTester::redBKZ (IntMat &basis, double delta, long blocksize, long prune, long dim, RealVec *sqlen) |
template<> | |
void | LatticeTester::redBKZ (NTL::Mat< int64_t > &basis, double delta, long blocksize, long prune, long dim, NTL::Vec< double > *sqlen) |
template<> | |
void | LatticeTester::redBKZ (NTL::Mat< NTL::ZZ > &basis, double delta, long blocksize, long prune, long dim, NTL::Vec< double > *sqlen) |
template<> | |
void | LatticeTester::redBKZ (NTL::Mat< NTL::ZZ > &basis, double delta, long blocksize, long prune, long dim, NTL::Vec< xdouble > *sqlen) |
template<> | |
void | LatticeTester::redBKZ (NTL::Mat< NTL::ZZ > &basis, double delta, long blocksize, long prune, long dim, NTL::Vec< quad_float > *sqlen) |
template<> | |
void | LatticeTester::redBKZ (NTL::Mat< NTL::ZZ > &basis, double delta, long blocksize, long prune, long dim, NTL::Vec< NTL::RR > *sqlen) |
Static functions to reduce a lattice basis via LLL and BKZ.
These functions are wrappers to slightly modified versions of the NTL functions described at https://libntl.org/doc/LLL.cpp.html . They do not require the creation of an object like in ReducerBB
. They take an IntMat
object that contains a basis and return the reduced basis in the same object. In our versions, the basis can occupy only part of the IntMat
object so we can use the same object for several bases of various sizes, the basis entries can be of either ZZ or int64_t
type, the shortest basis vector is always placed in the first row, and the squared vector lengths are also returned in a vector. The norm to measure the vector lengths is always the Euclidean norm. The computations can be done either in double
or in RR
for the real numbers.