|
8 | 8 | # Subsystem codes |
9 | 9 | ############################# |
10 | 10 |
|
11 | | -""" |
12 | | -[[9, 1, 4, 3]] gauged Shor code from [poulin2005stabilizer](@cite) |
13 | | -
|
14 | | -```jldoctest |
15 | | -julia> using CodingTheory, Oscar; |
16 | | -
|
17 | | -julia> code = GaugedShorCode(); |
18 | | -
|
19 | | -julia> length(code), dimension(code), code.r |
20 | | -(9, 1, 4) |
21 | | -
|
22 | | -julia> code.stabs_stand |
23 | | -[1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0] |
24 | | -[0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0] |
25 | | -[0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0] |
26 | | -[0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1] |
27 | | -
|
28 | | -julia> code.logicals |
29 | | -1-element Vector{Tuple{fpMatrix, fpMatrix}}: |
30 | | - ([0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1], [1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0]) |
31 | | -
|
32 | | -julia> code.X_stabs |
33 | | -[1 1 1 1 1 1 0 0 0] |
34 | | -[1 1 1 0 0 0 1 1 1] |
35 | | -
|
36 | | -julia> code.Z_stabs |
37 | | -[1 1 0 1 1 0 1 1 0] |
38 | | -[0 1 1 0 1 1 0 1 1] |
39 | | -
|
40 | | -julia> code.g_ops_mat |
41 | | -[0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0] |
42 | | -[0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0] |
43 | | -[0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0] |
44 | | -[0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0] |
45 | | -[0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0] |
46 | | -[1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0] |
47 | | -[0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0] |
48 | | -[0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0] |
49 | | -``` |
50 | | -""" |
51 | 11 | function GaugedShorCode() |
52 | 12 | # Poulin, "Stabilizer Formalism for Operator Quantum Error Correction", (2008) |
53 | 13 | # [[9, 1, 4, 3]] gauged Shor code |
@@ -183,7 +143,6 @@ function BravyiBaconShorCode(A::CTMatrixTypes) |
183 | 143 | # but this is corrected here to match |
184 | 144 | # X - consequetive column pairs |
185 | 145 | X_gauges = zero_matrix(F, sum([col_wts[i] - 1 for i in 1:length(col_wts)]), n) |
186 | | - typeof(X_gauges) |
187 | 146 | curr_row = 1 |
188 | 147 | F_one = F(1) |
189 | 148 | for c in 1:nc |
|
0 commit comments