BKZParam Class Reference

#include <bkz_param.h>

Public Member Functions

 BKZParam (int block_size, vector< Strategy > &strategies, double delta=LLL_DEF_DELTA, int flags=BKZ_DEFAULT, int max_loops=0, double max_time=0, double auto_abort_scale=BKZ_DEF_AUTO_ABORT_SCALE, int auto_abort_max_no_dec=BKZ_DEF_AUTO_ABORT_MAX_NO_DEC, double gh_factor=BKZ_DEF_GH_FACTOR, double min_success_probability=BKZ_DEF_MIN_SUCCESS_PROBABILITY, int rerandomization_density=BKZ_DEF_RERANDOMIZATION_DENSITY)
 Create BKZ parameters. More...
 

Data Fields

int block_size
 
vector< Strategy > & strategies
 
double delta
 
int flags
 
int max_loops
 
double max_time
 
double auto_abort_scale
 
int auto_abort_max_no_dec
 
double gh_factor
 
string dump_gso_filename
 
double min_success_probability
 
int rerandomization_density
 

Constructor & Destructor Documentation

◆ BKZParam()

BKZParam::BKZParam ( int  block_size,
vector< Strategy > &  strategies,
double  delta = LLL_DEF_DELTA,
int  flags = BKZ_DEFAULT,
int  max_loops = 0,
double  max_time = 0,
double  auto_abort_scale = BKZ_DEF_AUTO_ABORT_SCALE,
int  auto_abort_max_no_dec = BKZ_DEF_AUTO_ABORT_MAX_NO_DEC,
double  gh_factor = BKZ_DEF_GH_FACTOR,
double  min_success_probability = BKZ_DEF_MIN_SUCCESS_PROBABILITY,
int  rerandomization_density = BKZ_DEF_RERANDOMIZATION_DENSITY 
)
inline

Create BKZ parameters.

Parameters
block_sizeblock size for the reduction
strategiesvector of strategies used for pruning and preprocessing
deltaLLL parameter delta
flagsvarious flags that can be arbitrarily combined (using |):
  • BKZ_VERBOSE print additional information during reduction
  • BKZ_NO_LLL do not run LLL before block reduction (use at your own risk)
  • BKZ_MAX_LOOPS terminate after max_loops iterations
  • BKZ_MAX_TIME terminate after max_time time
  • BKZ_BOUNDED_LLL only run LLL in current block during SVP preprocessing (use at your own risk)
  • BKZ_AUTO_ABORT heuristically terminate the reduction if progress stalls
  • BKZ_DUMP_GSO after every iteration write the shape of the current basis to a file
  • BKZ_GH_BND use the Gaussian heuristic to reduce the enumeration bound of possible
  • BKZ_SD_VARIANT run SD-BKZ
  • BKZ_SLD_RED run slide reduction
max_loopsmaximum number of loops (or zero to disable this)
max_timemaximum number of time (or zero to disable this)
auto_abort_scaleauto abort when next tour does not improve slope over scale* previous tour
auto_abort_max_no_decauto abort when next tour does not improve slope no_dec times
gh_factorset enumeration bound to Gaussian heuristic times gh_factor
min_success_probabilityminimum success probability in an SVP reduction (when using pruning)
rerandomization_densitythe heavier rerandomization, the better our guarantees and costs

Field Documentation

◆ auto_abort_max_no_dec

int BKZParam::auto_abort_max_no_dec

◆ auto_abort_scale

double BKZParam::auto_abort_scale

If BKZ_AUTOABORT is set, We abort if new_slope < auto_abort_scale * old_slope is true for auto_abort_max_no_dec loops.

◆ block_size

int BKZParam::block_size

Block size used for enumeration

◆ delta

double BKZParam::delta

LLL parameter delta

◆ dump_gso_filename

string BKZParam::dump_gso_filename

If BKZ_DUMP_GSO is set, the norms of the GSO matrix are written to this file after each complete round.

◆ flags

int BKZParam::flags

See BKZFlags

◆ gh_factor

double BKZParam::gh_factor

If BKZ_GH_BND is set, the enumeration bound will be set to gh_factor times the Gaussian Heuristic

◆ max_loops

int BKZParam::max_loops

Maximum number of loops to execute

◆ max_time

double BKZParam::max_time

Maximum time to spend

◆ min_success_probability

double BKZParam::min_success_probability

minimum success probability when using extreme pruning

◆ rerandomization_density

int BKZParam::rerandomization_density

density of rerandomization operation when using extreme pruning

◆ strategies

vector<Strategy>& BKZParam::strategies

Strategies (pruning coefficients, preprocessing)


The documentation for this class was generated from the following file: