CSS product code
0.1
C++ library to estimate distance of CSS codes. Some particular construction of CSS codes are implemented.
|
common function shared by many program More...
Functions | |
int | min_wt_decoding (itpp::GF2mat C) |
int | min_wt_decoding (itpp::GF2mat C, itpp::GF2mat G) |
int | save_dist (int d, char *filename) |
int | rand_dist (itpp::GF2mat C, int perm_try=10) |
int | classical_dist (itpp::GF2mat G) |
itpp::GF2mat | nullSpace (itpp::GF2mat G) |
itpp::GF2mat | getC (itpp::GF2mat G_x, itpp::GF2mat G_z, int flip=0) |
int | quantum_dist_v2 (itpp::GF2mat G_x, itpp::GF2mat G_z, int flip=0) |
int | quantum_dist (itpp::GF2mat G_x, itpp::GF2mat G_z, int dist_expected, int debug, int flip=0) |
int | hypergraph_dist (itpp::GF2mat Aj, itpp::GF2mat Ajplus, int dist_expected, int flip=0) |
int | draw_toric_x_error (itpp::bvec error_bits) |
int | draw_toric_x_error (itpp::bvec error_bits, std::string header) |
itpp::bvec | find_error (itpp::bvec e_in, itpp::GF2mat H) |
itpp::GF2mat | get_check_code734 (int L) |
itpp::GF2mat | get_check_code743 (int L) |
itpp::GF2mat | get_check_rept (int L) |
itpp::GF2mat | get_check (int generator_flag, int L) |
itpp::LDPC_Code | GF2mat_to_LDPC_Code (itpp::GF2mat G) |
itpp::LDPC_Code | MM_to_LDPC_Code (char *filename) |
std::string | color_text (std::string str) |
std::string | red_text (std::string str) |
std::string | blue_text (std::string str) |
int | get_time (int mode=1) |
bool | is_quantum_code (itpp::GF2mat &G_x, itpp::GF2mat &G_z) |
bool | is_quantum_code (itpp::GF2mat &Gx, itpp::GF2mat &Gz, itpp::GF2mat &Cx, itpp::GF2mat &Cz) |
itpp::GF2mat | make_it_full_rank (itpp::GF2mat fat) |
int | GF2matPrint (itpp::GF2mat &G, std::string name) |
int | matPrint (itpp::mat G, char *name=(char *) " ") |
itpp::GF2mat | kron (itpp::GF2mat A, itpp::GF2mat B) |
std::string | NumberToString (int pNumber) |
itpp::GF2mat | append_vector (itpp::GF2mat G, itpp::bvec b) |
itpp::GF2mat | get_GF2mat (char *filename_prefix, char *filename_suffix) |
itpp::GF2mat | get_GF2mat (char *parent_folder, char *folder, char *filename) |
double | get_error_density (itpp::GF2mat E) |
int | mat2gnudata (itpp::mat data, std::string filename, std::string header) |
Variables | |
const int | INF =999 |
common function shared by many program
itpp::GF2mat common::append_vector | ( | itpp::GF2mat | G, |
itpp::bvec | b | ||
) |
std::string common::blue_text | ( | std::string | str | ) |
int common::classical_dist | ( | itpp::GF2mat | G | ) |
std::string common::color_text | ( | std::string | str | ) |
int common::draw_toric_x_error | ( | itpp::bvec | error_bits | ) |
int common::draw_toric_x_error | ( | itpp::bvec | error_bits, |
std::string | header | ||
) |
itpp::bvec common::find_error | ( | itpp::bvec | e_in, |
itpp::GF2mat | H | ||
) |
itpp::GF2mat common::get_check | ( | int | generator_flag, |
int | L | ||
) |
itpp::GF2mat common::get_check_code734 | ( | int | L | ) |
itpp::GF2mat common::get_check_code743 | ( | int | L | ) |
itpp::GF2mat common::get_check_rept | ( | int | L | ) |
double common::get_error_density | ( | itpp::GF2mat | E | ) |
itpp::GF2mat common::get_GF2mat | ( | char * | filename_prefix, |
char * | filename_suffix | ||
) |
itpp::GF2mat common::get_GF2mat | ( | char * | parent_folder, |
char * | folder, | ||
char * | filename | ||
) |
int common::get_time | ( | int | mode = 1 | ) |
itpp::GF2mat common::getC | ( | itpp::GF2mat | G_x, |
itpp::GF2mat | G_z, | ||
int | flip = 0 |
||
) |
itpp::LDPC_Code common::GF2mat_to_LDPC_Code | ( | itpp::GF2mat | G | ) |
int common::GF2matPrint | ( | itpp::GF2mat & | G, |
std::string | name | ||
) |
int common::hypergraph_dist | ( | itpp::GF2mat | Aj, |
itpp::GF2mat | Ajplus, | ||
int | dist_expected, | ||
int | flip = 0 |
||
) |
get estimated distance of a CSS code generated from a chain complex \( A_jA_{j+1}=0 \)
Aj | |
Ajplus | |
dist_expected | use expected distance to control number of trials |
flip=0 | (default) or 1, flip left and right if flip=1 |
left distance of (Aj,Ajplus^T), right distance of (G_x,G_z), flip left and right if flip = 1, TODO::This should be implemented as a wrapper of quantum_dist()
bool common::is_quantum_code | ( | itpp::GF2mat & | G_x, |
itpp::GF2mat & | G_z | ||
) |
bool common::is_quantum_code | ( | itpp::GF2mat & | Gx, |
itpp::GF2mat & | Gz, | ||
itpp::GF2mat & | Cx, | ||
itpp::GF2mat & | Cz | ||
) |
itpp::GF2mat common::kron | ( | itpp::GF2mat | A, |
itpp::GF2mat | B | ||
) |
itpp::GF2mat common::make_it_full_rank | ( | itpp::GF2mat | fat | ) |
int common::mat2gnudata | ( | itpp::mat | data, |
std::string | filename, | ||
std::string | header | ||
) |
int common::matPrint | ( | itpp::mat | G, |
char * | name = (char *) " " |
||
) |
int common::min_wt_decoding | ( | itpp::GF2mat | C | ) |
int common::min_wt_decoding | ( | itpp::GF2mat | C, |
itpp::GF2mat | G | ||
) |
itpp::LDPC_Code common::MM_to_LDPC_Code | ( | char * | filename | ) |
itpp::GF2mat common::nullSpace | ( | itpp::GF2mat | G | ) |
std::string common::NumberToString | ( | int | pNumber | ) |
int common::quantum_dist | ( | itpp::GF2mat | G_x, |
itpp::GF2mat | G_z, | ||
int | dist_expected, | ||
int | debug, | ||
int | flip = 0 |
||
) |
int common::quantum_dist_v2 | ( | itpp::GF2mat | G_x, |
itpp::GF2mat | G_z, | ||
int | flip = 0 |
||
) |
int common::rand_dist | ( | itpp::GF2mat | C, |
int | perm_try = 10 |
||
) |
std::string common::red_text | ( | std::string | str | ) |
int common::save_dist | ( | int | d, |
char * | filename | ||
) |