Skip to content

Commit 9270443

Browse files
committed
finished readme except for more simulation details
1 parent c6e2fe2 commit 9270443

File tree

3 files changed

+58
-175
lines changed

3 files changed

+58
-175
lines changed

README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,50 @@ julia> CircuitCompilation2xn.calculate_shifts(shor_new_circuit)
235235
[sXCZ(6,18), sXCZ(7,19), sXCZ(3,15), sXCZ(5,17)]
236236
```
237237
## Nice to have functions for quick data collection
238+
If one is only interested in obtaining the number of shuttling operations required for different levels of compilation (and doesn't need the compiled circuit) for a given syndrome circuit, a function is provided for this for bot Shor and naive syndrome extraction. The last two numbers are related to the minimum number of shuttles, if allowing blank qubits in the array. This number wasn't optimized, and is computed by just counting the number of gaps in the chains. Refer to the paper for more information on this.
239+
240+
Shor syndrome circuit:
241+
```
242+
julia> cat, scirc, _ = QuantumClifford.ECC.shor_syndrome_circuit(code);
243+
julia> code = Steane7();
244+
julia> cat, scirc, _ = QuantumClifford.ECC.shor_syndrome_circuit(code);
245+
julia> CircuitCompilation2xn.shorNumbers(scirc)
246+
Uncompiled: 14
247+
Gate Shuffled: 14
248+
Ancil Heuristic: 7
249+
SSSC: 6
250+
Or could do in 6 shifts, using at most 2 blank qubits.
251+
6-element Vector{Any}:
252+
14
253+
14
254+
7
255+
6
256+
6
257+
2
258+
```
259+
260+
Naive circuit:
261+
```
262+
julia> code = Steane7();
263+
julia> scirc, _ = QuantumClifford.ECC.naive_syndrome_circuit(code);
264+
julia> num_qubits = code_n(code)+code_s(code)
265+
13
266+
julia> CircuitCompilation2xn.comp_numbers(scirc, num_qubits)
267+
4-element Vector{Any}:
268+
24
269+
11
270+
9
271+
7
272+
```
273+
24 is the uncompiled number of shuttles, 11 is gate shuffled, 9 is ancillary reindexing, and 7 is ancillary + data reindexing.
238274

239275
## How to do simulations with this software
276+
`src/plotting_CC2xn.jl` contains some lines at the bottom that can be commented or uncommented to generate various plots that appear in the paper. For example
277+
```
278+
f_Steane = my_plot_both_synd(Steane7(), TableDecoder(Steane7()))
279+
f_t3 = plot_for_paper_figure(Toric(3, 3), PyMatchingDecoder(Toric(3, 3)), name="Toric 3x3")
280+
```
281+
`f_Steane` will be the plot containing the 4 different physical vs logical error plots from the paper's appendix, `f_t3` generates a single plot.
282+
More details coming soon...
240283
## Further information
241-
README under construction....
284+
Please contact Anthony Micciche (email listed in the paper) if you have any issues running this software.

src/CircuitCompilation2xn.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ function shorNumbers(circuit)
711711
println("Ancil Heuristic: ", shifts[3])
712712
println("SSSC: ", shifts[4])
713713

714-
println("Or could do in ",chain_info[1], " shifts, using ", chain_info[2], " blank qubits.")
714+
println("Or could do in ",chain_info[1], " shifts, using at most ", chain_info[2], " blank qubits.")
715715
push!(shifts, chain_info[1]); push!(shifts, chain_info[2])
716716
return shifts
717717
end

src/plotting_CC2xn.jl

Lines changed: 13 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ function my_plot_both_synd(code::AbstractECC, decoder::AbstractSyndromeDecoder,
2323
#p_wait = 1-exp(-14.5/m/28_000) # improvement in time to shuttle
2424
#p_shift = p_shift/m #improvement in shuttling fidelity
2525

26-
#gate_noise = 0
26+
# gate_noise = 0
2727
# p_wait = 0
28-
#p_shift = 0
28+
# p_shift = 0
2929
error_rates = exp10.(range(-4,-0.5,length=30))
3030

3131
f = Figure(size=(1400, 1400),px_per_unit = 5.0)
@@ -51,15 +51,15 @@ function my_plot_both_synd(code::AbstractECC, decoder::AbstractSyndromeDecoder,
5151
z_error_MB_CB = [post_ec_error_rates_MB_CB[i][2] for i in eachindex(post_ec_error_rates_MB_CB)]
5252

5353
# Gate shuffled circuit
54-
gate_shuffle_circ = CircuitCompilation2xn.gate_Shuffle!(scirc)
54+
gate_shuffled_circ = CircuitCompilation2xn.gate_shuffle_circ(scirc)
5555

5656
# Gate shuffle - no gate noise
57-
post_ec_error_rates_MS_CA = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, gate_shuffle_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
57+
post_ec_error_rates_MS_CA = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, gate_shuffled_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
5858
x_error_MS_CA = [post_ec_error_rates_MS_CA[i][1] for i in eachindex(post_ec_error_rates_MS_CA)]
5959
z_error_MS_CA = [post_ec_error_rates_MS_CA[i][2] for i in eachindex(post_ec_error_rates_MS_CA)]
6060

6161
# Gate shuffle- gate noise== init noise
62-
post_ec_error_rates_MS_CB = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, gate_shuffle_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
62+
post_ec_error_rates_MS_CB = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, gate_shuffled_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
6363
x_error_MS_CB = [post_ec_error_rates_MS_CB[i][1] for i in eachindex(post_ec_error_rates_MS_CB)]
6464
z_error_MS_CB = [post_ec_error_rates_MS_CB[i][2] for i in eachindex(post_ec_error_rates_MS_CB)]
6565

@@ -147,15 +147,15 @@ function my_plot_both_synd(code::AbstractECC, decoder::AbstractSyndromeDecoder,
147147
z_error_MB_CB_shor = [post_ec_error_rates_MB_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MB_CB_shor)]
148148

149149
# Gate shuffled circuit
150-
gate_shuffle_circ = CircuitCompilation2xn.gate_Shuffle!(scirc)
150+
gate_shuffled_circ = CircuitCompilation2xn.gate_shuffle_circ(scirc)
151151

152152
# Gate shuffle - no gate noise
153-
post_ec_error_rates_MS_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffle_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
153+
post_ec_error_rates_MS_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffled_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
154154
x_error_MS_CA_shor = [post_ec_error_rates_MS_CA_shor[i][1] for i in eachindex(post_ec_error_rates_MS_CA_shor)]
155155
z_error_MS_CA_shor = [post_ec_error_rates_MS_CA_shor[i][2] for i in eachindex(post_ec_error_rates_MS_CA_shor)]
156156

157157
# Gate shuffle- gate noise== init noise
158-
post_ec_error_rates_MS_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffle_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
158+
post_ec_error_rates_MS_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffled_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
159159
x_error_MS_CB_shor = [post_ec_error_rates_MS_CB_shor[i][1] for i in eachindex(post_ec_error_rates_MS_CB_shor)]
160160
z_error_MS_CB_shor = [post_ec_error_rates_MS_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MS_CB_shor)]
161161

@@ -279,158 +279,6 @@ function my_plot_both_synd(code::AbstractECC, decoder::AbstractSyndromeDecoder,
279279
return f
280280
end
281281

282-
######## Legacy code for plotting the LDPC codes given to me
283-
function LDPC_plot(code::AbstractECC, decoder::AbstractSyndromeDecoder, p_shift=0.0001, p_wait=1-exp(-14.5/28_000); name=string(typeof(code)))
284-
title = name*" Code - Naive Syndrome Circuit"
285-
checks = parity_checks(code)
286-
scirc, _ = naive_syndrome_circuit(checks)
287-
288-
#ecirc = naive_encoding_circuit(code)
289-
ecirc = nothing
290-
291-
nsamples = 10
292-
gate_fidelity = 0.9995
293-
m = 10 # improvment factor
294-
gate_noise = 1- gate_fidelity
295-
296-
error_rates = exp10.(range(-4,-0.5,length=30))
297-
298-
# All to all connectivty - no gate noise
299-
post_ec_error_rates_MA_CA = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, scirc, p, 0, 0, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
300-
x_error_MA_CA = [post_ec_error_rates_MA_CA[i][1] for i in eachindex(post_ec_error_rates_MA_CA)]
301-
z_error_MA_CA = [post_ec_error_rates_MA_CA[i][2] for i in eachindex(post_ec_error_rates_MA_CA)]
302-
303-
# All to all connectivty - gate noise == init noise
304-
post_ec_error_rates_MA_CB= [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, scirc, p, 0, 0, gate_noise, nsamples=nsamples) for p in error_rates]
305-
x_error_MA_CB = [post_ec_error_rates_MA_CB[i][1] for i in eachindex(post_ec_error_rates_MA_CB)]
306-
z_error_MA_CB = [post_ec_error_rates_MA_CB[i][2] for i in eachindex(post_ec_error_rates_MA_CB)]
307-
308-
# Circuit compilation
309-
new_circuit, order = CircuitCompilation2xn.ancil_reindex_pipeline(scirc)
310-
311-
# Circuit comp - no gate noise
312-
post_ec_error_rates_MC_CA = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, new_circuit, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
313-
x_error_MC_CA = [post_ec_error_rates_MC_CA[i][1] for i in eachindex(post_ec_error_rates_MC_CA)]
314-
z_error_MC_CA = [post_ec_error_rates_MC_CA[i][2] for i in eachindex(post_ec_error_rates_MC_CA)]
315-
316-
# Circuit Comp gate noise == init noise
317-
post_ec_error_rates_MC_CB = [evaluate_code_decoder_naive_syndrome(checks, decoder, ecirc, new_circuit, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
318-
x_error_MC_CB = [post_ec_error_rates_MC_CB[i][1] for i in eachindex(post_ec_error_rates_MC_CB)]
319-
z_error_MC_CB = [post_ec_error_rates_MC_CB[i][2] for i in eachindex(post_ec_error_rates_MC_CB)]
320-
321-
f = Figure(size=(1500, 1500))
322-
# X plot
323-
f_x = f[1,1]
324-
ax = f[1,1] = Axis(f_x, xlabel="p_mem = physical qubit error rate after encoding",ylabel="Logical error rate",title=title*" Logical X")
325-
lines!(f_x, [-5, -0.5], [-5, -0.5], label="single bit", color=:gray)
326-
327-
# All to all connectivty
328-
scatter!(f_x, log10.(error_rates), log10.(x_error_MA_CA), color=:black, marker=:circle)
329-
scatter!(f_x, log10.(error_rates), log10.(x_error_MA_CB), color=:black, marker=:utriangle)
330-
331-
# Ancil reindex Compilation
332-
scatter!(f_x, log10.(error_rates), log10.(x_error_MC_CA), color=:green, marker=:circle)
333-
scatter!(f_x, log10.(error_rates), log10.(x_error_MC_CB), color=:green, marker=:utriangle)
334-
335-
xlims!(ax, high=-0.5, low=-4.0)
336-
ylims!(ax, high=-0.5, low=-4.0)
337-
# Z plot
338-
f_z = f[2,1]
339-
ax = f[2,1] = Axis(f_z, xlabel="p_mem",ylabel="Logical error rate",title=title*" Logical Z")
340-
lines!(f_z, [-5, -0.5], [-5, -0.5], label="single bit", color=:gray)
341-
342-
# All to all connectivty
343-
scatter!(f_z, log10.(error_rates), log10.(z_error_MA_CA), color=:black, marker=:circle)
344-
scatter!(f_z, log10.(error_rates), log10.(z_error_MA_CB), color=:black, marker=:utriangle)
345-
346-
# Ancil reindex Compilation
347-
scatter!(f_z, log10.(error_rates), log10.(z_error_MC_CA), color=:green, marker=:circle)
348-
scatter!(f_z, log10.(error_rates), log10.(z_error_MC_CB), color=:green, marker=:utriangle)
349-
350-
xlims!(ax, high=-0.5, low=-4.0)
351-
ylims!(ax, high=-0.5, low=-4.0)
352-
353-
################ Shor syndrome simulation ################
354-
cat, scirc, anc_qubits, bit_indices = shor_syndrome_circuit(checks)
355-
title = name*" Code - Shor Syndrome Circuit"
356-
357-
# All to all connectivty - no gate noise
358-
post_ec_error_rates_MA_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, scirc, p, 0, 0, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
359-
x_error_MA_CA_shor = [post_ec_error_rates_MA_CA_shor[i][1] for i in eachindex(post_ec_error_rates_MA_CA_shor)]
360-
z_error_MA_CA_shor = [post_ec_error_rates_MA_CA_shor[i][2] for i in eachindex(post_ec_error_rates_MA_CA_shor)]
361-
362-
# All to all connectivty - gate noise == init noise
363-
post_ec_error_rates_MA_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, scirc, p, 0, 0, gate_noise, nsamples=nsamples) for p in error_rates]
364-
x_error_MA_CB_shor = [post_ec_error_rates_MA_CB_shor[i][1] for i in eachindex(post_ec_error_rates_MA_CB_shor)]
365-
z_error_MA_CB_shor = [post_ec_error_rates_MA_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MA_CB_shor)]
366-
367-
# Special shor syndrome Compiled circuit
368-
shor_new_circuit, shor_order = CircuitCompilation2xn.ancil_reindex_pipeline_shor_syndrome(scirc)
369-
shor_cat = CircuitCompilation2xn.reindex_by_dict(cat, shor_order)
370-
371-
# TODO hack for working around gate commuting problem with Steane code
372-
if isa(code, QuantumClifford.ECC.Steane7)
373-
non_mz, mz = CircuitCompilation2xn.two_qubit_sieve(shor_new_circuit)
374-
batches = CircuitCompilation2xn.calculate_shifts(non_mz)
375-
reordered_batches = batches[[1,2,4,3,5,6]]
376-
new_non_mz = reduce(vcat, reordered_batches)
377-
shor_new_circuit = vcat(new_non_mz,mz)
378-
end
379-
380-
# Special Shor circuit Compilation - no gate noise
381-
post_ec_error_rates_MD_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, shor_cat, shor_new_circuit, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
382-
x_error_MD_CA_shor = [post_ec_error_rates_MD_CA_shor[i][1] for i in eachindex(post_ec_error_rates_MD_CA_shor)]
383-
z_error_MD_CA_shor = [post_ec_error_rates_MD_CA_shor[i][2] for i in eachindex(post_ec_error_rates_MD_CA_shor)]
384-
385-
# Special Shor circuit Compilation - gate noise == init noise
386-
post_ec_error_rates_MD_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, shor_cat, shor_new_circuit, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
387-
x_error_MD_CB_shor = [post_ec_error_rates_MD_CB_shor[i][1] for i in eachindex(post_ec_error_rates_MD_CB_shor)]
388-
z_error_MD_CB_shor = [post_ec_error_rates_MD_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MD_CB_shor)]
389-
390-
# Shor syndrome plots
391-
f_shor_x = f[1, 2]
392-
ax = f[1,2] = Axis(f_shor_x, xlabel="p_mem",title=title*" Logical X")
393-
lines!(f_shor_x, [-5, -0.5], [-5, -0.5], label="single bit", color=:gray)
394-
395-
# All to all connectivty
396-
scatter!(f_shor_x, log10.(error_rates), log10.(x_error_MA_CA_shor), label="All to all (A2A) - no gate noise", color=:black, marker=:circle)
397-
scatter!(f_shor_x, log10.(error_rates), log10.(x_error_MA_CB_shor), label="A2A - gate noise == after encoding error", color=:black, marker=:utriangle)
398-
399-
# Fancy Shor- specialized comilation
400-
scatter!(f_shor_x, log10.(error_rates), log10.(x_error_MD_CA_shor), label="Shor-syndrome Specialized comp (SSSC) - no gate noise", color=:orange, marker=:circle)
401-
scatter!(f_shor_x, log10.(error_rates), log10.(x_error_MD_CB_shor), label="SSSC - gate noise == after encoding error", color=:orange, marker=:utriangle)
402-
403-
xlims!(ax, high=-0.5, low=-4.0)
404-
ylims!(ax, high=-0.5, low=-4.0)
405-
406-
f_shor_z = f[2,2]
407-
ax = f[2,2] = Axis(f_shor_z, xlabel="p_mem",title=title*" Logical Z")
408-
lines!(f_shor_z, [-5, -0.5], [-5, -0.5], color=:gray)
409-
410-
# All to all connectivty
411-
scatter!(f_shor_z, log10.(error_rates), log10.(z_error_MA_CA_shor), color=:black, marker=:circle)
412-
scatter!(f_shor_z, log10.(error_rates), log10.(z_error_MA_CB_shor), color=:black, marker=:utriangle)
413-
414-
# Fancy Shor- specialized comilation
415-
scatter!(f_shor_z, log10.(error_rates), log10.(z_error_MD_CA_shor), color=:orange, marker=:circle)
416-
scatter!(f_shor_z, log10.(error_rates), log10.(z_error_MD_CB_shor), color=:orange, marker=:utriangle)
417-
418-
lines!(f_shor_z, [0,0], [0,0], label="All to all connectivty", color=:black)
419-
lines!(f_shor_z, [0,0], [0,0], label="Naive compilation", color=:red)
420-
lines!(f_shor_z, [0,0], [0,0], label="Ancil heuristic", color=:green)
421-
lines!(f_shor_z, [0,0], [0,0], label="Shor-syndrome specialized comp", color=:orange)
422-
423-
scatter!(f_shor_z, [0,0], [0,0], label="Constant near-term noise parameters \n(shift error, decoherence, gate noise)", color=:gray, marker=:utriangle)
424-
scatter!(f_shor_z, [0,0], [0,0], label="Near-term noise parameters are \nmultiplied by 10*p_mem", color=:gray, marker=:circle)
425-
426-
xlims!(ax, high=-0.5, low=-4.0)
427-
ylims!(ax, high=-0.5, low=-4.0)
428-
f[1,3] = Legend(f, ax, "Compilation Style/Gate Noise")
429-
f[2,3] = Legend(f, ax, "Compilation Style/Gate Noise")
430-
431-
return f
432-
end
433-
434282
function plot_for_paper_figure(code::AbstractECC, decoder::AbstractSyndromeDecoder, p_shift=0.0001, p_wait=1-exp(-14.5/28_000); name=string(typeof(code)))
435283
title = name*" Code - Naive Syndrome Circuit"
436284
checks = parity_checks(code)
@@ -477,15 +325,15 @@ function plot_for_paper_figure(code::AbstractECC, decoder::AbstractSyndromeDecod
477325
z_error_MB_CB_shor = [post_ec_error_rates_MB_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MB_CB_shor)]
478326

479327
# Gate shuffled circuit
480-
gate_shuffle_circ = CircuitCompilation2xn.gate_Shuffle!(scirc)
328+
gate_shuffled_circ = CircuitCompilation2xn.gate_shuffle_circ(scirc)
481329

482330
# Gate shuffle - no gate noise
483-
post_ec_error_rates_MS_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffle_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
331+
post_ec_error_rates_MS_CA_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffled_circ, p, p_shift*p*m, p_wait*p*m, gate_noise*p*m, nsamples=nsamples) for p in error_rates]
484332
x_error_MS_CA_shor = [post_ec_error_rates_MS_CA_shor[i][1] for i in eachindex(post_ec_error_rates_MS_CA_shor)]
485333
z_error_MS_CA_shor = [post_ec_error_rates_MS_CA_shor[i][2] for i in eachindex(post_ec_error_rates_MS_CA_shor)]
486334

487335
# Gate shuffle- gate noise== init noise
488-
post_ec_error_rates_MS_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffle_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
336+
post_ec_error_rates_MS_CB_shor = [evaluate_code_decoder_shor_syndrome(checks, decoder, ecirc, cat, gate_shuffled_circ, p, p_shift, p_wait, gate_noise, nsamples=nsamples) for p in error_rates]
489337
x_error_MS_CB_shor = [post_ec_error_rates_MS_CB_shor[i][1] for i in eachindex(post_ec_error_rates_MS_CB_shor)]
490338
z_error_MS_CB_shor = [post_ec_error_rates_MS_CB_shor[i][2] for i in eachindex(post_ec_error_rates_MS_CB_shor)]
491339

@@ -582,7 +430,7 @@ function plot_for_paper_figure(code::AbstractECC, decoder::AbstractSyndromeDecod
582430
return f
583431
end
584432

585-
#f_Steane = my_plot_both_synd(Steane7(), TableDecoder(Steane7()))
433+
f_Steane = my_plot_both_synd(Steane7(), TableDecoder(Steane7()))
586434
#f_Shor = my_plot_both_synd(Shor9(), TableDecoder(Shor9()))
587435
# f_Cleve = my_plot_both_synd(Cleve8(), TableDecoder(Cleve8()))
588436
# f_P5 = my_plot_both_synd(Perfect5(), TableDecoder(Perfect5()))
@@ -594,12 +442,4 @@ f_t3 = plot_for_paper_figure(Toric(3, 3), PyMatchingDecoder(Toric(3, 3)), name="
594442

595443
#f_t4 = my_plot_both_synd(Toric(4, 4), PyMatchingDecoder(Toric(4, 4)), name="Toric 4x4")
596444
#f_t6 = my_plot_both_synd(Toric(6, 6), PyMatchingDecoder(Toric(6, 6)), name="Toric 6x6")
597-
# f_t10 = the_plot_both_synd(Toric(10, 10), PyMatchingDecoder(Toric(10, 10)), name="Toric10")
598-
599-
# H = LDPCDecoders.parity_check_matrix(n, wr, wc)
600-
# code = CSS(zeros(Bool,size(H)),H)
601-
# f_ldpc = LDPC_plot(code, PyBeliefPropDecoder(code))
602-
603-
# stab, Cx, Cz = CircuitCompilation2xn.getGoodLDPC(1)
604-
# code = CSS(Cx, Cz)
605-
# f_ldpc = LDPC_plot(code, PyBeliefPropDecoder(code))
445+
# f_t10 = the_plot_both_synd(Toric(10, 10), PyMatchingDecoder(Toric(10, 10)), name="Toric10")

0 commit comments

Comments
 (0)