Ejemplo n.º 1
0
import sys
import json
import steane
import surface17 as surf17
import d5color
import correction as cor
import chper_wrapper as wrapper
import qcircuit_functions as qfun


error_model = 'standard'
output_folder = './MC_results/QECd3_flags/one_flag/' + error_model + '/'
p1q, p2q = 0.01, 0.01
error_dict, Is_after2q, Is_after_1q = wrapper.dict_for_error_model(error_model, p1q, p2q, p1q)

initial_I = True
QECd3_flags_circ = cor.Flag_Correct.generate_whole_QEC_Reichardt_special(True, 
                                                                         False,
                                                                         initial_I)
QEC_circ_list = []
for i in range(len(QECd3_flags_circ.gates)):
    QEC_circ_list += [QECd3_flags_circ.gates[i].circuit_list[0]]
one_q_gates, two_q_gates = wrapper.gates_list(QEC_circ_list, error_dict.keys())
n_oneq, n_twoq = len(one_q_gates), len(two_q_gates)
#print n_oneq
#print n_twoq
#sys.exit(0)

# diVincenzo new (only 2 reps)
QEC_circ = qfun.create_EC_subcircs('Steane', False, initial_I, False, False, 2)
QEC_circ = QEC_circ.gates[0].circuit_list[0]
Ejemplo n.º 2
0
import chper_wrapper as wrapper
import MC_functions as mc
import qcircuit_functions as qfun
import qcircuit_wrapper as qwrap

chp_loc = './chp_extended'
error_model = 'ion_trap_eQual'
decoder = 'new'
if decoder == 'new': n_subcircs_first_round = 9
else: n_subcircs_first_round = 12
# These error rates don't matter for the fast sampler
p1, p2, p_meas, p_prep, p_sm, p_cool = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1
error_dict, Is_after2q, Is_after1q, faulty_groups = wrapper.dict_for_error_model(
    error_model=error_model,
    p_1q=p1,
    p_2q=p2,
    p_meas=p_meas,
    p_prep=p_prep,
    p_sm=p_sm,
    p_cool=p_cool)
error_info = mc.read_error_info(error_dict)

n_per_proc, n_proc = int(sys.argv[1]), int(sys.argv[2])
n_errors = [
    int(sys.argv[3]),
    int(sys.argv[4]),
    int(sys.argv[5]),
    int(sys.argv[6])
]
alternating = sys.argv[7]  # either 'True' or 'False'
in_state = sys.argv[8]  # either 'Z' or 'X'
Ejemplo n.º 3
0
import copy
import random as rd
import multiprocessing as mp
import steane
import surface17 as surf17
import correction as cor
import chper_wrapper as wrapper
import MC_functions as mc
import qcircuit_functions as qfun
import qcircuit_wrapper as qwrap
from visualizer import browser_vis as brow

chp_loc = './chp_extended'
error_model = 'standard'
p1, p2, p_meas = 0.001, 0.001, 0.001  # these don't matter for the fast sampler
error_dict, Is_after2q, Is_after_1q = wrapper.dict_for_error_model(
    error_model, p1, p2, p_meas)
error_info = mc.read_error_info(error_dict)

n_per_proc, n_proc = int(sys.argv[1]), int(sys.argv[2])
n_errors = [int(sys.argv[3]), int(sys.argv[4])]
QEC_kind = sys.argv[5]  # either 'flag' or 'diVin'

if QEC_kind == 'surface17':
    output_folder = './MC_results/QECd3_surface17/' + error_model + '/'
elif QEC_kind == 'all_flags':
    output_folder = './MC_results/QECd3_flags/all_flags/' + error_model + '/'
elif QEC_kind == 'flag':
    output_folder = './MC_results/QECd3_flags/one_flag/' + error_model + '/'
elif QEC_kind == 'diVin':
    output_folder = './MC_results/QECd3_diVin/' + error_model + '/'
elif QEC_kind == 'diVin_new':