Skip to content

Commit ac1de03

Browse files
authored
D-dimensional surface and toric codes via Oscar's chain complexes and GF2 homology (#534)
1 parent 3c8e541 commit ac1de03

File tree

11 files changed

+937
-7
lines changed

11 files changed

+937
-7
lines changed

.typos.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
ket = "ket"
33
anc = "anc"
44
ba = "ba"
5+
hom = "hom"
56
IY = "IY"
67
mor = "mor"
78

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
## v0.10.1-dev
99

10+
- The D-dimensional Surface and Toric codes are now implemented using `Oscar`'s chain complexes and `GF2` homology in the ECC submodule.
1011
- Implementing `apply_inv!` for direct application of the inverse of a given gate.
1112
- The lifted product code constructor `LPCode` now supports non-commutative group algebras by appropriate switching left/right representations — particularly useful now that there is also an `Oscar` extension, which provides many non-abelian group constructors.
1213
- Introduce `metacheck_matrix_x`, `metacheck_matrix_z`, and `metacheck_matrix` for CSS codes built using chain complexes and homology.

docs/src/references.bib

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,3 +774,45 @@ @inproceedings{leverrier2015quantum
774774
year={2015},
775775
organization={IEEE}
776776
}
777+
778+
@article{Berthusen_2024,
779+
title={Experiments with the four-dimensional surface code on a quantum charge-coupled device quantum computer},
780+
volume={110},
781+
ISSN={2469-9934},
782+
url={http://dx.doi.org/10.1103/PhysRevA.110.062413},
783+
DOI={10.1103/physreva.110.062413},
784+
number={6},
785+
journal={Physical Review A},
786+
publisher={American Physical Society (APS)},
787+
author={Berthusen, Noah and Dreiling, Joan and Foltz, Cameron and Gaebler, John P. and Gatterman, Thomas M. and Gresh, Dan and Hewitt, Nathan and Mills, Michael and Moses, Steven A. and Neyenhuis, Brian and Siegfried, Peter and Hayes, David},
788+
year={2024},
789+
month=dec
790+
}
791+
792+
@article{Zeng_2019,
793+
title={Higher-Dimensional Quantum Hypergraph-Product Codes with Finite Rates},
794+
volume={122},
795+
ISSN={1079-7114},
796+
url={http://dx.doi.org/10.1103/PhysRevLett.122.230501},
797+
DOI={10.1103/physrevlett.122.230501},
798+
number={23},
799+
journal={Physical Review Letters},
800+
publisher={American Physical Society (APS)},
801+
author={Zeng, Weilei and Pryadko, Leonid P.},
802+
year={2019},
803+
month=jun
804+
}
805+
806+
@article{Higgott_2023,
807+
title={Improved Single-Shot Decoding of Higher-Dimensional Hypergraph-Product Codes},
808+
volume={4},
809+
ISSN={2691-3399},
810+
url={http://dx.doi.org/10.1103/PRXQuantum.4.020332},
811+
DOI={10.1103/prxquantum.4.020332},
812+
number={2},
813+
journal={PRX Quantum},
814+
publisher={American Physical Society (APS)},
815+
author={Higgott, Oscar and Breuckmann, Nikolas P.},
816+
year={2023},
817+
month=may
818+
}

docs/src/references.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ For quantum code construction routines:
5050
- [naghipour2015quantum](@cite)
5151
- [eberhardt2024logical](@cite)
5252
- [delfosse2020short](@cite)
53+
- [Berthusen_2024](@cite)
54+
- [Zeng_2019](@cite)
5355

5456
For classical code construction routines:
5557
- [muller1954application](@cite)

ext/QuantumCliffordOscarExt/QuantumCliffordOscarExt.jl

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,34 @@ module QuantumCliffordOscarExt
22

33
using DocStringExtensions
44

5+
import LinearAlgebra
6+
import LinearAlgebra: rank
7+
import QuantumClifford
8+
import QuantumClifford: Stabilizer
59
import Nemo
610
import Nemo: FqFieldElem
711
import Hecke: group_algebra, GF, abelian_group, gens, quo, one, GroupAlgebra,
8-
GroupAlgebraElem, direct_product, sub
12+
GroupAlgebraElem, direct_product, sub, ZZ, lift
913
import Oscar
1014
import Oscar: free_group, small_group_identification, describe, order, FPGroupElem, FPGroup,
11-
BasicGAPGroupElem, DirectProductGroup, cyclic_group
15+
BasicGAPGroupElem, DirectProductGroup, cyclic_group, free_module, hom, transpose, tensor_product,
16+
chain_complex, total_complex, map, summands, MatElem, matrix, nrows, ncols, kernel, dim, range, image,
17+
base_ring, ComplexOfMorphisms
18+
import Oscar.Generic.DirectSumModule
1219

13-
import QuantumClifford.ECC: two_block_group_algebra_codes, twobga_from_direct_product, twobga_from_fp_group
20+
import QuantumClifford.ECC: two_block_group_algebra_codes, twobga_from_direct_product, twobga_from_fp_group,
21+
boundary_maps
22+
23+
import QECCore: AbstractECC, CSS, RepCode, AbstractCSSCode,
24+
hgp, code_k, code_n, code_s, distance, parity_matrix_x, parity_matrix_z, parity_matrix_xz, parity_matrix,
25+
metacheck_matrix_x, metacheck_matrix_z, metacheck_matrix
1426

1527
# exported from extension so that Documenter.jl sees them when autogenerating API lists
16-
export twobga_from_direct_product, twobga_from_fp_group
28+
export twobga_from_direct_product, twobga_from_fp_group, DDimensionalSurfaceCode, DDimensionalToricCode, boundary_maps
1729

1830
include("types.jl")
1931
include("direct_product.jl")
2032
include("group_presentation.jl")
33+
include("d_dimensional_codes.jl")
2134

2235
end # module

0 commit comments

Comments
 (0)