scalerqec.Clifford package

Submodules

scalerqec.Clifford.QEPGpython module

class scalerqec.Clifford.QEPGpython.QEPGpython(circuit: CliffordCircuit)[source]

Bases: object

backword_graph_construction()[source]
sample_noise_vector(noise_vector)[source]
sample_x_error(noise_index)[source]
sample_y_error(noise_index)[source]
sample_z_error(noise_index)[source]

scalerqec.Clifford.clifford module

class scalerqec.Clifford.clifford.CliffordCircuit(qubit_num)[source]

Bases: object

add_cnot(control, target)[source]
add_cz(qubit1, qubit2)[source]
add_depolarize(qubit)[source]
add_hadamard(qubit)[source]
add_measurement(qubit)[source]
add_paulix(qubit)[source]
add_pauliy(qubit)[source]
add_pauliz(qubit)[source]
add_phase(qubit)[source]
add_reset(qubit)[source]
add_xflip_noise(qubit)[source]
compile_detector_and_observable()[source]
compile_from_stim_circuit_str(stim_str)[source]
property error_rate
property gatelists
get_measIdx_to_parityIdx(measIdx)[source]
get_yquant_latex()[source]

Convert the circuit (stored in self._gatelists) into a yquant LaTeX string. This version simply prints each gate (or noise box) in the order they appear, without grouping or any fancy logic.

property observable
property parityMatchGroup
property qubit_num
property qubitnum
read_circuit_from_file(filename)[source]
reset_noise_type()[source]
save_circuit_to_file(filename)[source]
setShowNoise(show)[source]
set_noise_type(noiseindex, noisetype)[source]
show_all_noise()[source]
property stim_str
property stimcircuit
property totalMeas
property totalnoise
class scalerqec.Clifford.clifford.Measurement(measureindex, qubitindex)[source]

Bases: object

property qubitindex
class scalerqec.Clifford.clifford.Reset(qubitindex)[source]

Bases: object

property qubitindex
class scalerqec.Clifford.clifford.SingleQGate(gateindex, qubitindex)[source]

Bases: object

property name
property qubitindex
class scalerqec.Clifford.clifford.TwoQGate(gateindex, control, target)[source]

Bases: object

property control
property name
property target
scalerqec.Clifford.clifford.example()[source]
class scalerqec.Clifford.clifford.pauliNoise(noiseindex, qubitindex)[source]

Bases: object

property noisetype

scalerqec.Clifford.stimparser module

scalerqec.Clifford.stimparser.rewrite_stim_code(code: str) str[source]

Rewrites a Stim program so that each line contains at most one gate or measurement. Lines starting with TICK, R, DETECTOR(, and OBSERVABLE_INCLUDE( are kept as-is. Multi-target lines for CX, M, and MR are split up.

class scalerqec.Clifford.stimparser.stimparser[source]

Bases: object

rewrite_stim_code(code: str) str[source]

Rewrites a Stim program so that each line contains at most one gate or measurement. Lines starting with TICK, R, DETECTOR(, and OBSERVABLE_INCLUDE( are kept as-is. Multi-target lines for CX, M, and MR are split up.

Module contents

class scalerqec.Clifford.CliffordCircuit(qubit_num)[source]

Bases: object

add_cnot(control, target)[source]
add_cz(qubit1, qubit2)[source]
add_depolarize(qubit)[source]
add_hadamard(qubit)[source]
add_measurement(qubit)[source]
add_paulix(qubit)[source]
add_pauliy(qubit)[source]
add_pauliz(qubit)[source]
add_phase(qubit)[source]
add_reset(qubit)[source]
add_xflip_noise(qubit)[source]
compile_detector_and_observable()[source]
compile_from_stim_circuit_str(stim_str)[source]
property error_rate
property gatelists
get_measIdx_to_parityIdx(measIdx)[source]
get_yquant_latex()[source]

Convert the circuit (stored in self._gatelists) into a yquant LaTeX string. This version simply prints each gate (or noise box) in the order they appear, without grouping or any fancy logic.

property observable
property parityMatchGroup
property qubit_num
property qubitnum
read_circuit_from_file(filename)[source]
reset_noise_type()[source]
save_circuit_to_file(filename)[source]
setShowNoise(show)[source]
set_noise_type(noiseindex, noisetype)[source]
show_all_noise()[source]
property stim_str
property stimcircuit
property totalMeas
property totalnoise