ErrorBoundedEvaluator Class Referenceabstract
#include <evaluator.h>
Public Member Functions | |
ErrorBoundedEvaluator (int dim, const Matrix< FP_NR< mpfr_t > > &mmu, const Matrix< FP_NR< mpfr_t > > &mr, EvaluatorMode evalmode, size_t nr_solutions=1, EvaluatorStrategy update_strategy=EVALSTRATEGY_BEST_N_SOLUTIONS, bool find_subsolutions=false) | |
virtual | ~ErrorBoundedEvaluator () |
void | init_delta_def (int prec, double rho, bool withRoundingToEnumf) |
virtual bool | get_max_error (FP_NR< mpfr_t > &max_error, const FP_NR< mpfr_t > &sol_dist)=0 |
bool | get_max_error_aux (const FP_NR< mpfr_t > &max_dist, bool boundOnExactVal, FP_NR< mpfr_t > &maxDE) |
Public Member Functions inherited from Evaluator< FP_NR< mpfr_t > > | |
Evaluator (size_t nr_solutions=1, EvaluatorStrategy update_strategy=EVALSTRATEGY_BEST_N_SOLUTIONS, bool find_subsolutions=false) | |
virtual | ~Evaluator () |
container_t::const_reverse_iterator | begin () const |
container_t::reverse_iterator | begin () |
container_t::const_reverse_iterator | end () const |
container_t::reverse_iterator | end () |
size_t | size () const |
bool | empty () const |
virtual void | eval_sol (const vector< FP_NR< mpfr_t > > &new_sol_coord, const enumf &new_partial_dist, enumf &max_dist)=0 |
virtual void | eval_sub_sol (int offset, const vector< FP_NR< mpfr_t > > &new_sub_sol_coord, const enumf &sub_dist)=0 |
virtual void | set_normexp (long norm_exp) |
Data Fields | |
EvaluatorMode | eval_mode |
int | d |
const Matrix< FP_NR< mpfr_t > > & | mu |
const Matrix< FP_NR< mpfr_t > > & | r |
bool | input_error_defined |
vector< FP_NR< mpfr_t > > | max_dr_diag |
vector< FP_NR< mpfr_t > > | max_dm_u |
Data Fields inherited from Evaluator< FP_NR< mpfr_t > > | |
size_t | max_sols |
EvaluatorStrategy | strategy |
bool | findsubsols |
container_t | solutions |
size_t | sol_count |
std::vector< std::pair< FP_NR< mpfr_t >, std::vector< FP_NR< mpfr_t > > > > | sub_solutions |
long | normExp |
Additional Inherited Members | |
Public Types inherited from Evaluator< FP_NR< mpfr_t > > | |
typedef std::multimap< FP_NR< mpfr_t >, std::vector< FP_NR< mpfr_t > >, std::greater< FP_NR< mpfr_t > > > | container_t |
Protected Member Functions inherited from Evaluator< FP_NR< mpfr_t > > | |
virtual enumf | calc_enum_bound (const FP_NR< mpfr_t > &dist) const |
void | process_sol (const FP_NR< mpfr_t > &dist, const vector< FP_NR< mpfr_t > > &coord, enumf &max_dist) |
Detailed Description
ErrorBoundEvaluator provides an extra interface to provide information about the accuracy of solutions.
Constructor & Destructor Documentation
◆ ErrorBoundedEvaluator()
|
inline |
◆ ~ErrorBoundedEvaluator()
|
inlinevirtual |
Member Function Documentation
◆ get_max_error()
|
pure virtual |
Computes max_error such that normOfSolution^2 <= (1 + max_error) * lambda_1(L)^2. The default implementation might fail (i.e. return false).
Implemented in FastErrorBoundedEvaluator, and ExactErrorBoundedEvaluator.
◆ get_max_error_aux()
bool ErrorBoundedEvaluator::get_max_error_aux | ( | const FP_NR< mpfr_t > & | max_dist, |
bool | boundOnExactVal, | ||
FP_NR< mpfr_t > & | maxDE | ||
) |
◆ init_delta_def()
FPLLL_BEGIN_NAMESPACE void ErrorBoundedEvaluator::init_delta_def | ( | int | prec, |
double | rho, | ||
bool | withRoundingToEnumf | ||
) |
Field Documentation
◆ d
int ErrorBoundedEvaluator::d |
◆ eval_mode
EvaluatorMode ErrorBoundedEvaluator::eval_mode |
Configuration
◆ input_error_defined
bool ErrorBoundedEvaluator::input_error_defined |
◆ max_dm_u
vector<FP_NR<mpfr_t> > ErrorBoundedEvaluator::max_dm_u |
◆ max_dr_diag
vector<FP_NR<mpfr_t> > ErrorBoundedEvaluator::max_dr_diag |
◆ mu
◆ r
The documentation for this class was generated from the following files:
- fplll/enum/evaluator.h
- fplll/enum/evaluator.cpp