LatMRG Guide  1.0
A software package to test and search for new linear congruential random number generators
LatMRG::Reductions Namespace Reference

Functions in this namespace perform lattice reductions. More...

Functions

template<typename Int , typename Dbl >
void reduceBKZ (LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &lat)
 This performs the BKZ reduction. More...
 
template void reduceBKZ (LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &lat)
 Instanciation of reduceBKZ(). More...
 
template void reduceBKZ (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &lat)
 Instanciation of reduceBKZ(). More...
 
template void reduceBKZ (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &lat)
 Instanciation of reduceBKZ(). More...
 
template<typename Int , typename Dbl >
void reduceFull (LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &lat, std::int64_t maxNodesBB=100000000000)
 This performs a BKZ reduction and a shortest vector search. More...
 
template void reduceFull (LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &lat, std::int64_t)
 Instanciation of reduceFull(). More...
 
template void reduceFull (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &lat, std::int64_t)
 Instanciation of reduceFull(). More...
 
template void reduceFull (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &lat, std::int64_t)
 Instanciation of reduceFull(). More...
 
template<typename Int , typename Dbl >
void reduceLLL (LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &lat)
 This performs the LLL reduction. More...
 
template void reduceLLL (LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &lat)
 Instanciation of reduceLLL(). More...
 
template void reduceLLL (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &lat)
 Instanciation of reduceLLL(). More...
 
template void reduceLLL (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &lat)
 Instanciation of reduceLLL(). More...
 
template<typename Int , typename Dbl >
void reduceMink (LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &lat)
 This performs the BKZ reduction before launching a search for a Minkowski reduced basis. More...
 
template void reduceMink (LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &lat)
 Instanciation of reduceMink(). More...
 
template void reduceMink (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &lat)
 Instanciation of reduceMink(). More...
 
template void reduceMink (LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &lat)
 Instanciation of reduceMink(). More...
 

Detailed Description

Functions in this namespace perform lattice reductions.

Todo:
have more flexibility in the reduction parameters so that LLL and BKZ floating point numbers precision can be changed if needed.

Function Documentation

◆ reduceBKZ() [1/4]

template<typename Int , typename Dbl >
void LatMRG::Reductions::reduceBKZ ( LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &  lat)

This performs the BKZ reduction.

◆ reduceBKZ() [2/4]

template void LatMRG::Reductions::reduceBKZ ( LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &  lat)

Instanciation of reduceBKZ().

◆ reduceBKZ() [3/4]

template void LatMRG::Reductions::reduceBKZ ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &  lat)

Instanciation of reduceBKZ().

◆ reduceBKZ() [4/4]

template void LatMRG::Reductions::reduceBKZ ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &  lat)

Instanciation of reduceBKZ().

◆ reduceFull() [1/4]

template<typename Int , typename Dbl >
void LatMRG::Reductions::reduceFull ( LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &  lat,
std::int64_t  maxNodesBB = 100000000000 
)

This performs a BKZ reduction and a shortest vector search.

◆ reduceFull() [2/4]

template void LatMRG::Reductions::reduceFull ( LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &  lat,
std::int64_t   
)

Instanciation of reduceFull().

◆ reduceFull() [3/4]

template void LatMRG::Reductions::reduceFull ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &  lat,
std::int64_t   
)

Instanciation of reduceFull().

◆ reduceFull() [4/4]

template void LatMRG::Reductions::reduceFull ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &  lat,
std::int64_t   
)

Instanciation of reduceFull().

◆ reduceLLL() [1/4]

template<typename Int , typename Dbl >
void LatMRG::Reductions::reduceLLL ( LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &  lat)

This performs the LLL reduction.

◆ reduceLLL() [2/4]

template void LatMRG::Reductions::reduceLLL ( LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &  lat)

Instanciation of reduceLLL().

◆ reduceLLL() [3/4]

template void LatMRG::Reductions::reduceLLL ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &  lat)

Instanciation of reduceLLL().

◆ reduceLLL() [4/4]

template void LatMRG::Reductions::reduceLLL ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &  lat)

Instanciation of reduceLLL().

◆ reduceMink() [1/4]

template<typename Int , typename Dbl >
void LatMRG::Reductions::reduceMink ( LatticeTester::IntLattice< Int, Int, Dbl, Dbl > &  lat)

This performs the BKZ reduction before launching a search for a Minkowski reduced basis.

◆ reduceMink() [2/4]

template void LatMRG::Reductions::reduceMink ( LatticeTester::IntLattice< std::int64_t, std::int64_t, double, double > &  lat)

Instanciation of reduceMink().

◆ reduceMink() [3/4]

template void LatMRG::Reductions::reduceMink ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, double, double > &  lat)

Instanciation of reduceMink().

◆ reduceMink() [4/4]

template void LatMRG::Reductions::reduceMink ( LatticeTester::IntLattice< NTL::ZZ, NTL::ZZ, NTL::RR, NTL::RR > &  lat)

Instanciation of reduceMink().