svpcvp.h File Reference
#include "util.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

FPLLL_BEGIN_NAMESPACE int shortest_vector (ZZ_mat< mpz_t > &b, vector< Z_NR< mpz_t > > &sol_coord, SVPMethod method=SVPM_PROVED, int flags=SVP_DEFAULT)
 
int shortest_vector_pruning (ZZ_mat< mpz_t > &b, vector< Z_NR< mpz_t > > &sol_coord, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int shortest_vector_pruning (ZZ_mat< mpz_t > &b, vector< Z_NR< mpz_t > > &sol_coord, vector< vector< Z_NR< mpz_t > > > &subsol_coord, vector< double > &subsol_dist, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int shortest_vector_pruning (ZZ_mat< mpz_t > &b, vector< Z_NR< mpz_t > > &sol_coord, vector< vector< Z_NR< mpz_t > > > &auxsol_coord, vector< double > &auxsol_dist, const int max_aux_sols, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int shortest_vector (MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &gso, vector< Z_NR< mpz_t > > &sol_coord, SVPMethod method=SVPM_PROVED, int flags=SVP_DEFAULT)
 
int shortest_vectors (MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &gso, vector< vector< Z_NR< mpz_t > > > &sol_coord, vector< enumf > &sol_dist, const int max_sols, SVPMethod method, int flags)
 
int shortest_vector_pruning (MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &gso, vector< Z_NR< mpz_t > > &sol_coord, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int shortest_vector_pruning (MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &gso, vector< Z_NR< mpz_t > > &sol_coord, vector< vector< Z_NR< mpz_t > > > &subsol_coord, vector< double > &subsol_dist, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int shortest_vector_pruning (MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &gso, vector< Z_NR< mpz_t > > &sol_coord, vector< vector< Z_NR< mpz_t > > > &auxsol_coord, vector< double > &auxsol_dist, const int max_aux_sols, const vector< double > &pruning, int flags=SVP_DEFAULT)
 
int closest_vector (ZZ_mat< mpz_t > &b, const vector< Z_NR< mpz_t > > &int_target, vector< Z_NR< mpz_t > > &sol_coord, int method=CVPM_FAST, int flags=CVP_DEFAULT)
 

Detailed Description

Shortest vector problem.

Function Documentation

◆ closest_vector()

int closest_vector ( ZZ_mat< mpz_t > &  b,
const vector< Z_NR< mpz_t > > &  int_target,
vector< Z_NR< mpz_t > > &  sol_coord,
int  method = CVPM_FAST,
int  flags = CVP_DEFAULT 
)

Computes a closest vector of a lattice to a target. The vectors must be linearly independant and the basis must be LLL-reduced with delta=LLL_DEF_DELTA and eta=LLL_DEF_ETA. The result is guaranteed if method = CVPM_PROVED.

◆ shortest_vector() [1/2]

int shortest_vector ( MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &  gso,
vector< Z_NR< mpz_t > > &  sol_coord,
SVPMethod  method = SVPM_PROVED,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector() [2/2]

FPLLL_BEGIN_NAMESPACE int shortest_vector ( ZZ_mat< mpz_t > &  b,
vector< Z_NR< mpz_t > > &  sol_coord,
SVPMethod  method = SVPM_PROVED,
int  flags = SVP_DEFAULT 
)

Computes a shortest vector of a lattice. The vectors must be linearly independant and the basis must be LLL-reduced with delta=LLL_DEF_DELTA and eta=LLL_DEF_ETA. The result is guaranteed if method = SVPM_PROVED.

◆ shortest_vector_pruning() [1/6]

int shortest_vector_pruning ( MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &  gso,
vector< Z_NR< mpz_t > > &  sol_coord,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector_pruning() [2/6]

int shortest_vector_pruning ( MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &  gso,
vector< Z_NR< mpz_t > > &  sol_coord,
vector< vector< Z_NR< mpz_t > > > &  auxsol_coord,
vector< double > &  auxsol_dist,
const int  max_aux_sols,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector_pruning() [3/6]

int shortest_vector_pruning ( MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &  gso,
vector< Z_NR< mpz_t > > &  sol_coord,
vector< vector< Z_NR< mpz_t > > > &  subsol_coord,
vector< double > &  subsol_dist,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector_pruning() [4/6]

int shortest_vector_pruning ( ZZ_mat< mpz_t > &  b,
vector< Z_NR< mpz_t > > &  sol_coord,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector_pruning() [5/6]

int shortest_vector_pruning ( ZZ_mat< mpz_t > &  b,
vector< Z_NR< mpz_t > > &  sol_coord,
vector< vector< Z_NR< mpz_t > > > &  auxsol_coord,
vector< double > &  auxsol_dist,
const int  max_aux_sols,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vector_pruning() [6/6]

int shortest_vector_pruning ( ZZ_mat< mpz_t > &  b,
vector< Z_NR< mpz_t > > &  sol_coord,
vector< vector< Z_NR< mpz_t > > > &  subsol_coord,
vector< double > &  subsol_dist,
const vector< double > &  pruning,
int  flags = SVP_DEFAULT 
)

◆ shortest_vectors()

int shortest_vectors ( MatGSOInterface< Z_NR< mpz_t >, FP_NR< mpfr_t > > &  gso,
vector< vector< Z_NR< mpz_t > > > &  sol_coord,
vector< enumf > &  sol_dist,
const int  max_sols,
SVPMethod  method,
int  flags 
)