BKZAutoAbort< ZT, FT > Class Template Reference

Performs a heuristic check if BKZ can be terminated. More...

#include <bkz.h>

Public Member Functions

 BKZAutoAbort (MatGSOInterface< ZT, FT > &m, int num_rows, int start_row=0)
 Create an BKZAutoAbort object. More...
 
bool test_abort (double scale=1.0, int maxNoDec=5)
 Performs the check. More...
 

Detailed Description

template<class ZT, class FT>
class BKZAutoAbort< ZT, FT >

Performs a heuristic check if BKZ can be terminated.

Checks if the slope of the basis hasn't decreased in a while.

Constructor & Destructor Documentation

◆ BKZAutoAbort()

template<class ZT , class FT >
BKZAutoAbort< ZT, FT >::BKZAutoAbort ( MatGSOInterface< ZT, FT > &  m,
int  num_rows,
int  start_row = 0 
)
inline

Create an BKZAutoAbort object.

Parameters
mGSO object of the basis to be tested
num_rowsthe number of vectors to check
start_rowthe starting point of the vectors to check

Member Function Documentation

◆ test_abort()

template<class ZT , class FT >
bool BKZAutoAbort< ZT, FT >::test_abort ( double  scale = 1.0,
int  maxNoDec = 5 
)

Performs the check.

Performs the actual check by computing the new slope and checks if it has decreased. Keeps track of the number of times it has not decreased and returns true if that number is larger than maxNoDec.

Parameters
scaleslack parameter on the slope (i.e. slope has to decrease by at at least a multiplicative factor of scale)
maxNoDecthe number of successive non-decreases in the slope before true is returned
Returns
true, if the slope has not decreased for maxNoDec calls false otherwise

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