diff --git a/.github/workflows/build-and-deploy-site.yml b/.github/workflows/build-and-deploy-site.yml index fa05bbebf..cc6d4727b 100644 --- a/.github/workflows/build-and-deploy-site.yml +++ b/.github/workflows/build-and-deploy-site.yml @@ -44,37 +44,68 @@ jobs: # -------------------------------- - # Avoid bugs maybe by skipping cache? - - # # Cache Yarn Modules - # - name: Get yarn cache directory path - # id: yarn-cache-dir-path - # run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT - # shell: bash - # working-directory: ./eczoo_sitegen - - # - name: Restore yarn cache - # uses: actions/cache@v3 - # with: - # path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - # key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} - # restore-keys: | - # yarn-cache-folder- + # + # SET UP CACHES + # - # -------------------------------- + # Cache Yarn Modules + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT + shell: bash + working-directory: ./eczoo_sitegen + - name: Restore yarn modules cache + uses: actions/cache@v3 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} + restore-keys: | + yarn-cache-folder- + + # Cache citation information (downloaded information & compiled citations) + + - name: Restore citations information cache + uses: actions/cache@v3 + with: + path: eczoo_sitegen/_zoodb_citations_cache_LOCAL + key: zoodb-citations-cache-LOCAL-${{ github.sha }}-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + zoodb-citations-cache-LOCAL- + + - name: Initialize local citation information cache if applicable + run: | + if [ ! -e _zoodb_citations_cache_LOCAL/cache_downloaded_info.json ]; then + mkdir -p _zoodb_citations_cache_LOCAL/ + cp _zoodb_citations_cache/*.json _zoodb_citations_cache_LOCAL/ + fi + working-directory: ./eczoo_sitegen + + # -------------------------------- + + # + # Install any missing modules via yarn + # - # Install any missing modules - name: Yarn install run: 'yarn' working-directory: ./eczoo_sitegen/ + + # -------------------------------- + # + # Build the site! + # + - name: Build Site (yarn buildall) run: 'yarn buildall' working-directory: ./eczoo_sitegen/ + env: + ECZOO_CITATIONS_CACHE_DIR: "_zoodb_citations_cache_LOCAL" + # ## To Debug S3 deployment w/o building the full site ... # @@ -82,13 +113,10 @@ jobs: # run: 'mkdir -p site/_site/ && echo "TEST" >site/_site/index.html' # working-directory: ./eczoo_sitegen/ - # -------------------------------- - - # - name: 'Move generated site to base dir' - # run: 'mv ./eczoo_sitegen/site/_site .' # -------------------------------- + # ### Old deploy script command, results in crude cache management # - name: 'Deploy site to S3/Cloudfront' # uses: reggionick/s3-deploy@v3 # with: diff --git a/.github/workflows/quick-test-compile-zoo.yml b/.github/workflows/quick-test-compile-zoo.yml index 6bafb1f44..47b92d013 100644 --- a/.github/workflows/quick-test-compile-zoo.yml +++ b/.github/workflows/quick-test-compile-zoo.yml @@ -40,14 +40,19 @@ jobs: # -------------------------------- + # + # SET UP CACHES + # + # Cache Yarn Modules + - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT shell: bash working-directory: ./eczoo_sitegen - - - name: Restore yarn cache + + - name: Restore yarn modules cache uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} @@ -55,6 +60,38 @@ jobs: restore-keys: | yarn-cache-folder- + # Cache citation information (downloaded information & compiled citations) + + - name: Restore citations information cache + uses: actions/cache@v3 + with: + path: eczoo_sitegen/_zoodb_citations_cache_LOCAL + key: zoodb-citations-cache-LOCAL-${{ github.sha }}-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + zoodb-citations-cache-LOCAL- + + - name: Initialize local citation information cache if applicable + run: | + if [ ! -e _zoodb_citations_cache_LOCAL/cache_downloaded_info.json ]; then + mkdir -p _zoodb_citations_cache_LOCAL/ + cp _zoodb_citations_cache/*.json _zoodb_citations_cache_LOCAL/ + fi + working-directory: ./eczoo_sitegen + + # # Cache Yarn Modules + # - name: Get yarn cache directory path + # id: yarn-cache-dir-path + # run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT + # shell: bash + # working-directory: ./eczoo_sitegen + # - name: Restore yarn cache + # uses: actions/cache@v3 + # with: + # path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + # key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} + # restore-keys: | + # yarn-cache-folder- + # -------------------------------- # Install any missing modules @@ -65,6 +102,8 @@ jobs: # -------------------------------- - name: Quick build site - run: 'yarn build-simple' + run: 'yarn build-simple-noparcel' working-directory: ./eczoo_sitegen/site/ + env: + ECZOO_CITATIONS_CACHE_DIR: "_zoodb_citations_cache_LOCAL" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a516cfa31..61d65bee8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,7 @@ Your contribution to expanding and improving the Error Correction Zoo is very welcome. + ## How to contribute content You can contribute by opening sending us an [email][eczooemail], opening an @@ -20,15 +21,42 @@ make sure you understand the YAML file syntax and use an appropriate text editor to avoid YAML syntax errors (such as [Atom][atomurl]). +## Main steps to contribute + +- Create a pull request with the content you'd like to propose. Mark it as + a "draft" so we know you're still fine-tuning it. + +- Once you created the pull request, you can preview the content as you are + proposing in your pull request by visiting: + + https://errorcorrectionzoo.org/gitpreview + + Wait until the webpage loads (it can take a couple minutes). Then, enter + your pull request number in the form at the bottom of the page and click + "Go to PR!". Select the relevant code at the top of the page to preview + the code page as it will appear in the zoo if your PR is accepted. + + Error messages will hopefully help you identify and locate errors in + your YAML files (e.g., invalid syntax). + +- You can update your pull request to fine-tune its contents. To refresh + and reload the preview, you can simply hit "Go to PR!" again. + +- Once you're happy with the content you're suggesting, you can mark your + pull request as ready by removing the "draft" mention. Victor might + also have some suggestions for you on your pull request, so make sure + you have your github notifications on :) + + ## Please take note: -- Use [LaTeX-like formatting minilanguage][eczoollm] features to write math, +- Use [LaTeX-like formatting minilanguage][eczooflm] features to write math, links, enumeration lists, headers, etc. Use markup sparingly, when it will help the reader understand the content; don't abuse it. - Content should be thoroughly cross-referenced with citations and links to codes that you might mention. Check the [LaTeX-like formatting minilanguage - howto][eczoollm] for details. + howto][eczooflm] for details. - All Zoo content is distributed under the [CC-BY-SA License][cc-by-sa-license]. @@ -38,14 +66,15 @@ to avoid YAML syntax errors (such as [Atom][atomurl]). in `users/users_db.yml` in your pull request. Only significant edits count in the change log; fixing typos and formatting are not recorded. + ## Questions? -Ask us! And thanks again for your interest in contributing. +Ask us! And thanks again for your interest in contributing to the zoo. [eczooemail]: mailto:errorcorrectionzoo@XXXXXX?subject=code%20data&body=Please%20replace%20'@XXXXXX'%20in%20the%20email%20address%20by%20'@gmail.com'.%20Thanks%20for%20your%20message! -[eczoollm]: https://github.com/errorcorrectionzoo/eczoo_generator/blob/main/latexlike_minilang_howto.md +[eczooflm]: https://github.com/errorcorrectionzoo/eczoo_sitegen/blob/main/flm_howto.md [eczooedit]: https://errorcorrectionzoo.org/edit_code diff --git a/README.md b/README.md index 16528d212..e1b2dce45 100644 --- a/README.md +++ b/README.md @@ -17,26 +17,35 @@ it! Here's a BibTeX blurb you could use: The code meta-information is stored in YAML format, with one file per code. -## The YAML language +Jump to: +* [What is a YAML file?](#the-zoo-data-files) +* [Supported LaTeX-inspired syntax](#latex-inspired-mini-language-syntax) +* [How to contribute content](#contributing) -If you type in new codes, make sure you understand the basics of the -YaML language, and be sure to use a good text editor (if you'd like -a suggestion, check out the [Atom](https://atom.io/) text editor). +## The Zoo data files -YaML is a common markup language. You can [google -"YAML tutorial"](https://google.com/search?q=YaML+tutorial) or check out -the language's [Wikipedia -page](https://en.wikipedia.org/wiki/YAML).) +All of the zoo entries' information are stored in data files that are both +human and machine readable. +See the `template.yml` file to get started. -## Structure and hierarchy of the data files +(@VVA: feel free to fill in more info about folder structure guidelines here) -See the `template.yml` file to get started. +### The YAML language -(@VVA: feel free to fill in more info about folder structure etc. here) +If you type in new codes, make sure you understand the basics of the +YAML language, and be sure to use a good text editor (if you'd like +a suggestion, check out the [Atom](https://atom.io/) text editor). + +YAML is a common markup language. You can [google +"YAML tutorial"](https://google.com/search?q=YAML+tutorial) or check out +the language's [Wikipedia +page](https://en.wikipedia.org/wiki/YAML).) +**Note**: Be mindful of line indentation, as it is important in order +to obtain a well-formed and unambiguous YAML file. -## Text content in the YAML file +### Text content in the YAML file By convention, we store short pieces of text as single-quoted strings, e.g.: @@ -71,7 +80,7 @@ because it might interfere with possible whitespace's meaning in our LaTeX-inspired mini-language; for instance, leaving an empty line will fail to start a new paragraph.) -## LaTeX-inspired mini-language in text +## LaTeX-inspired mini-language syntax In most text fields, you can make use of LaTeX-inspired command syntax. You can insert math expressions, add citations, @@ -97,21 +106,51 @@ Example: Refer to equations with \eqref{eq:stabilizers}, etc. ... +## Contributing + +Get in touch with Victor V Albert & feel free to submit pull requests! You +can also check out our more detailed +[contributing guidelines](https://github.com/errorcorrectionzoo/eczoo_data/blob/main/CONTRIBUTING.md). -## Building and previewing the site +The main steps to contribute content are: + +- Create a pull request with the content you'd like to propose. Mark it as + a "draft" so we know you're still fine-tuning it. + +- Once you created the pull request, you can preview the content as you are + proposing in your pull request by visiting: + + https://errorcorrectionzoo.org/gitpreview + + Wait until the webpage loads (it can take a couple minutes). Then, enter + your pull request number in the form at the bottom of the page and click + "Go to PR!". Select the relevant code at the top of the page to preview + the code page as it will appear in the zoo if your PR is accepted. + + Error messages will hopefully help you identify and locate errors in + your YAML files (e.g., invalid syntax). + +- You can update your pull request to fine-tune its contents. To refresh + and reload the preview, you can simply hit "Go to PR!" again. + +- Once you're happy with the content you're suggesting, you can mark your + pull request as ready by removing the "draft" mention. Victor might + also have some suggestions for you on your pull request, so make sure + you have your github notifications on :) + + +## Building and previewing the site locally To build and preview the site locally, follow the instructions given in the [`eczoo_sitegen` repository](https://github.com/errorcorrectionzoo/eczoo_sitegen). -## Contributing - -Get in touch with Victor V Albert & feel free to submit pull requests! Check -out our [contributing guidelines](https://github.com/errorcorrectionzoo/eczoo_data/blob/main/CONTRIBUTING.md). - +## I want to create the <Your Favorite Topic> Zoo. How did you build the EC Zoo and can I reuse your code? -## I want to create the <Your Favorite Topic> Zoo. How did you build the EC Zoo and can I reuse your code? +The error correction zoo is based on [ZooDb JS library framework](https://github.com/phfaist/zoodb). You +are welcome to use develop your own Zoo based on this library. Consider starting with [this simple toy +example of a zoo built with ZooDb](https://github.com/phfaist/zoodb-example). -Get in touch with me, I'll be happy to point to the basic tools we used and how they +Get in touch with me! I'll be happy to point to the basic tools we used and how they can be reused to build other zoos (contact info at https://phfaist.com/). diff --git a/codes/classical/analog/lattice/root/eeight.yml b/codes/classical/analog/lattice/root/eeight.yml index 000b2b4b8..b0527f592 100644 --- a/codes/classical/analog/lattice/root/eeight.yml +++ b/codes/classical/analog/lattice/root/eeight.yml @@ -12,7 +12,8 @@ short_name: '\(E_8\)' introduced: '\cite{manual:{Gosset, Thorold. "On the regular and semi-regular figures in space of n dimensions." Messenger of Mathematics 29 (1900): 43-48.}}' description: | - BW lattice in dimension \(8\), which is the lattice corresponding to the \([8,4,4]\) Hamming code via the mod-two lattice construction. + Unimodular even BW lattice in dimension \(8\), consisting of the Cayley integral octonions rescaled by \(\sqrt{2}\). + The lattice corresponds to the \([8,4,4]\) Hamming code via the mod-two lattice construction. protection: | The \(E_8\) lattice has a nominal coding gain of \(2\). diff --git a/codes/classical/bits/quantum_inspired/fibonacci_model.yml b/codes/classical/bits/quantum_inspired/fibonacci_model.yml index efc8eb862..3964707f6 100644 --- a/codes/classical/bits/quantum_inspired/fibonacci_model.yml +++ b/codes/classical/bits/quantum_inspired/fibonacci_model.yml @@ -19,7 +19,7 @@ protection: | features: decoders: - - 'An efficient algorithm base on minimum-weight perfect matching \cite{arXiv:2002.11738}, which can correct high-weight errors that span the lattice, with failure rate decaying super-exponentially with \(L\).' + - 'An efficient algorithm base on minimum-weight perfect matching \cite{arXiv:2002.11738}, which can correct high-weight errors that span rows and columns of the 2D lattice, with failure rate decaying super-exponentially with \(L\).' relations: parents: diff --git a/codes/classical/bits/reed_muller.yml b/codes/classical/bits/reed_muller.yml index df8e89e5e..a3bba9fe2 100644 --- a/codes/classical/bits/reed_muller.yml +++ b/codes/classical/bits/reed_muller.yml @@ -51,7 +51,7 @@ relations: - code_id: divisible detail: 'An RM\((r,m)\) code is \(2^{\left\lceil m/r\right\rceil-1}\)-divisible, according to McEliece''s theorem \cite{doi:10.1016/0097-3165(71)90066-5,doi:10.1016/0012-365X(72)90032-5}.' - code_id: group - detail: 'RM codes are group-algebra codes \cite{doi:10.1007/BF01072842,manual:{Charpin, Pascale. Codes idéaux de certaines algèbres modulaires. Diss. 1982.}}\cite[Ex. 16.4.11]{preset:HKSalgebra}. Consider a binary vector space of dimension \( m \). Under addition, this forms a finite group with \( 2^m \) elements known as an elementary abelian 2-group -- the direct product of \( m \) two-element cyclic groups \( \mathbb{Z}_2 \times \dots \times \mathbb{Z}_2 \). Denote this group by \( G_m \). Let \( J \) be the Jacobson radical of the group algebra \( \mathbb{F}_2 G_m \), where \(\mathbb{F}_2=GF(2)\). RM\((r,m)\) codes correspond to the ideal \( J^{m-r} \). The length of the code is \( |G_m| = 2^m \), the distance is \( 2^{m-r} \), and the dimension is \( \sum_{i=0}^r {m \choose i} \). A similar construction exists for choices of a prime \( p\neq 2 \).' + detail: 'RM codes are group-algebra codes \cite{doi:10.1007/BF01072842,manual:{Charpin, Pascale. Codes idéaux de certaines algèbres modulaires. Diss. 1982.}}\cite[Ex. 16.4.11]{preset:HKSalgebra}. Consider a binary vector space of dimension \( m \). Under addition, this forms a finite group with \( 2^m \) elements known as an elementary Abelian 2-group -- the direct product of \( m \) two-element cyclic groups \( \mathbb{Z}_2 \times \dots \times \mathbb{Z}_2 \). Denote this group by \( G_m \). Let \( J \) be the Jacobson radical of the \hyperref[topic:group-algebra]{group algebra} \( \mathbb{F}_2 G_m \), where \(\mathbb{F}_2=GF(2)\). RM\((r,m)\) codes correspond to the ideal \( J^{m-r} \). The length of the code is \( |G_m| = 2^m \), the distance is \( 2^{m-r} \), and the dimension is \( \sum_{i=0}^r {m \choose i} \). A similar construction exists for choices of a prime \( p\neq 2 \).' cousins: - code_id: bch detail: 'RM\(^*(r,m)\) codes are equivalent to subcodes of BCH codes of designed distance \(2^{m-r}-1\) while RM\((r,m)\) are subcodes of extended BCH codes of the same designed distance \cite[Ch. 13]{preset:MacSlo}.' diff --git a/codes/classical/bits/tanner/regular_tanner/regular_binary_tanner.yml b/codes/classical/bits/tanner/regular_tanner/regular_binary_tanner.yml index 25223a12c..3524a2e0c 100644 --- a/codes/classical/bits/tanner/regular_tanner/regular_binary_tanner.yml +++ b/codes/classical/bits/tanner/regular_tanner/regular_binary_tanner.yml @@ -36,7 +36,7 @@ features: encoders: - 'Quadratic algorithm: This technique works for all linear block codes and encodes using matrix multiplication \cite{doi:10.1145/258533.258575}.' - - 'Using the nonabelian Fast Fourier Transform and exploiting the symmetry of the underlying graph, an encoding algorithm that requires \(O(n^{4/3})\) has been devised in \cite{doi:10.1145/258533.258575}.' + - 'Using the non-Abelian Fast Fourier Transform and exploiting the symmetry of the underlying graph, an encoding algorithm that requires \(O(n^{4/3})\) has been devised in \cite{doi:10.1145/258533.258575}.' - 'A modified construction yields codes that may be encoded in linear time yet maintain similar performance \cite{doi:10.1109/18.556668}.' decoders: diff --git a/codes/classical/groups/group_classical.yml b/codes/classical/groups/group_classical.yml index 68dd491a0..0e37ca18f 100644 --- a/codes/classical/groups/group_classical.yml +++ b/codes/classical/groups/group_classical.yml @@ -19,7 +19,7 @@ relations: # - code_id: bits_into_bits -# detail: 'Group-alphabet codes whose alphabet is based on the field \(GF(2)\), taken to be an abelian group under addition, are binary codes.' +# detail: 'Group-alphabet codes whose alphabet is based on the field \(GF(2)\), taken to be an Abelian group under addition, are binary codes.' # Begin Entry Meta Information diff --git a/codes/classical/q-ary_digits/cyclic/group.yml b/codes/classical/q-ary_digits/cyclic/group.yml index b15755ede..11990f0ff 100644 --- a/codes/classical/q-ary_digits/cyclic/group.yml +++ b/codes/classical/q-ary_digits/cyclic/group.yml @@ -9,25 +9,44 @@ logical: q-ary_digits name: 'Group-algebra code' #introduced: '' +alternative_names: + - 'Group code' description: | - Also known as a \textit{group code}. An \( [n,k]_q \) code based on a finite group \( G \) of size \(n \). - A group-algebra code for an abelian group is called an \textit{abelian group-algebra code}. - - The code is a \( k \)-dimensional linear subspace of the group algebra of \( G\) with coefficients in the field \(GF(q) = \mathbb{F}_q\) with \(q\) elements. To be precise, the code must be closed under permutations corresponding to the elements of the group \( G \); therefore, \( G \) must be a subgroup of the permutation automorphism group of the code, which is defined as the group of permutations of the physical bits that preserve the code space. This leads us to the formal definition of a group-algebra code: a group-algebra code is an ideal in the group algebra \( \mathbb{F}_q G \). - -#protection: 'The class of abelian group-algebra codes is very general, for example including all group-algebra codes of size \(n \leq 23 \). As such it is very difficult to say anything about the distance of abelian groups codes without specializing to a particular family' + A group-algebra code for an Abelian group is called an \textit{Abelian group-algebra code}. + + \subsection{Group algebra} + \label{topic:group-algebra} + For a given field \(\mathbb{F}_q\) and a finite group \(G\) of order + \(|G|=\ell\), the \textit{group algebra} (a ring) \(\mathbb{F}_q[G]\) is defined as an + \(\mathbb{F}_q\)-linear space of all formal sums + \begin{align} + \label{eq:algebra-element} + x\equiv \sum_{g\in G}x_g g,\quad x_g\in \mathbb{F}_q, + \end{align} + where group elements \(g\in G\) serve as basis vectors, + equipped with the product naturally associated with the group + operation, + \begin{align} + \label{eq:FG-product} + ab=\sum_{g\in G}\biggl(\sum_{h\in G} a_h b_{h^{-1}g}\biggr) g, \quad a,b\in \mathbb{F}_q[G]. + \end{align} + + \subsection{Group-algebra code} + A group-algebra code is a \( k \)-dimensional linear subspace of the \hyperref[topic:group-algebra]{group algebra} of \( G\) with coefficients in the field \(GF(q) = \mathbb{F}_q\) with \(q\) elements. To be precise, the code must be closed under permutations corresponding to the elements of the group \( G \); therefore, \( G \) must be a subgroup of the permutation automorphism group of the code, which is defined as the group of permutations of the physical bits that preserve the code space. This leads us to the formal definition of a group-algebra code: a group-algebra code is an ideal in the \hyperref[topic:group-algebra]{group algebra} \( \mathbb{F}_q G \). + +#protection: 'The class of Abelian group-algebra codes is very general, for example including all group-algebra codes of size \(n \leq 23 \). As such it is very difficult to say anything about the distance of Abelian groups codes without specializing to a particular family' notes: - 'See \cite{preset:HKSalgebra}\cite[pg. 58]{doi:10.1007/978-94-011-3810-9} for introductions to group-algebra codes.' - - 'Not all abelian group-algebra codes are for cyclic groups (cyclic codes) or for elementary abelian \( p \) groups (e.g. Reed Muller codes \cite{doi:10.1007/BF01119999}). For example, there is a binary code with parameters \( [45,13,16] \) which is an abelian group-algebra code for the group \( G = \mathbb{Z}_3 \times \mathbb{Z}_{15} \). ' + - 'Not all Abelian group-algebra codes are for cyclic groups (cyclic codes) or for elementary Abelian \( p \) groups (e.g. Reed Muller codes \cite{doi:10.1007/BF01119999}). For example, there is a binary code with parameters \( [45,13,16] \) which is an Abelian group-algebra code for the group \( G = \mathbb{Z}_3 \times \mathbb{Z}_{15} \). ' relations: parents: - code_id: q-ary_linear detail: 'A linear code is a group-algebra code for a group \(G\) if and only if \(G\) is isomorphic to a regular subgroup of the code''s permutation automorphism group \cite{doi:10.1007/s10623-008-9261-z}\cite[Thm. 16.4.7]{preset:HKSalgebra}.' -#Note that we have an isomorphism of \( \mathbb{F} \) algebras \( \mathbb{F}\mathbb{Z}_n \cong \mathbb{F}[x]/\langle x^n-1\rangle \) by taking \( x \) to be the generator of the cyclic group. Thus we can see how cyclic codes are an example of an abelian group-algebra code.' +#Note that we have an isomorphism of \( \mathbb{F} \) algebras \( \mathbb{F}\mathbb{Z}_n \cong \mathbb{F}[x]/\langle x^n-1\rangle \) by taking \( x \) to be the generator of the cyclic group. Thus we can see how cyclic codes are an example of an Abelian group-algebra code.' # Begin Entry Meta Information diff --git a/codes/classical/q-ary_digits/cyclic/q-ary_cyclic.yml b/codes/classical/q-ary_digits/cyclic/q-ary_cyclic.yml index 05746f052..cd928c593 100644 --- a/codes/classical/q-ary_digits/cyclic/q-ary_cyclic.yml +++ b/codes/classical/q-ary_digits/cyclic/q-ary_cyclic.yml @@ -50,7 +50,7 @@ relations: - code_id: q-ary_linear - code_id: cyclic - code_id: group - detail: 'A length-\(n\) cyclic \(q\)-ary linear code is an abelian group-algebra code for the cyclic group with \(n\) elements \( \mathbb{Z}_n \).' + detail: 'A length-\(n\) cyclic \(q\)-ary linear code is an Abelian group-algebra code for the cyclic group with \(n\) elements \( \mathbb{Z}_n \).' cousins: - code_id: q-ary_ltc detail: 'Cyclic linear codes cannot be \(c^3\)-LTCs \cite{doi:10.1109/TIT.2005.851735}. Codeword symmetries are in general an obstruction to achieving such LTCs \cite{doi:10.1007/978-3-642-16367-8_12}.' diff --git a/codes/classical/q-ary_digits/q-ary_additive.yml b/codes/classical/q-ary_digits/q-ary_additive.yml index bcf12621f..b656af5fd 100644 --- a/codes/classical/q-ary_digits/q-ary_additive.yml +++ b/codes/classical/q-ary_digits/q-ary_additive.yml @@ -16,7 +16,7 @@ relations: parents: - code_id: q-ary_digits_into_q-ary_digits - code_id: group_linear - detail: 'Additive \(q\)-ary codes are linear over \(G=GF(q)\) since Galois fields are abelian groups under addition.' + detail: 'Additive \(q\)-ary codes are linear over \(G=GF(q)\) since Galois fields are Abelian groups under addition.' # Begin Entry Meta Information diff --git a/codes/classical/rings/rings_into_rings.yml b/codes/classical/rings/rings_into_rings.yml index a09501eef..1a7f04212 100644 --- a/codes/classical/rings/rings_into_rings.yml +++ b/codes/classical/rings/rings_into_rings.yml @@ -15,7 +15,7 @@ relations: - code_id: block - code_id: ecc_finite - code_id: group_classical - detail: 'A ring \(R\) is an abelian group under addition.' + detail: 'A ring \(R\) is an Abelian group under addition.' # Begin Entry Meta Information diff --git a/codes/classical/rings/rings_linear.yml b/codes/classical/rings/rings_linear.yml index f2a380b94..d54e91cb0 100644 --- a/codes/classical/rings/rings_linear.yml +++ b/codes/classical/rings/rings_linear.yml @@ -17,7 +17,7 @@ relations: parents: - code_id: rings_into_rings - code_id: group_linear - detail: '\(R\)-linear codes are linear over \(G=R\) since rings are abelian groups under addition.' + detail: '\(R\)-linear codes are linear over \(G=R\) since rings are Abelian groups under addition.' # Begin Entry Meta Information diff --git a/codes/classical/spherical/numerical/tlsc.yml b/codes/classical/spherical/numerical/tlsc.yml index c897ac194..00aac10cb 100644 --- a/codes/classical/spherical/numerical/tlsc.yml +++ b/codes/classical/spherical/numerical/tlsc.yml @@ -26,7 +26,7 @@ features: relations: parents: - code_id: slepian_group - detail: 'Polyphase codewords can be implemented by acting on the all-ones initial vector by diagonal orthogonal matrices whose entries are the codeword components \cite[Ch. 8]{preset:EricZin}. TLSC codes are generalizations of polyphase codes to other initial vectors and are examples of abelian Slepian-group codes.' + detail: 'Polyphase codewords can be implemented by acting on the all-ones initial vector by diagonal orthogonal matrices whose entries are the codeword components \cite[Ch. 8]{preset:EricZin}. TLSC codes are generalizations of polyphase codes to other initial vectors and are examples of Abelian Slepian-group codes.' # Begin Entry Meta Information diff --git a/codes/classical/spherical/polytope/polygon/polygon.yml b/codes/classical/spherical/polytope/polygon/polygon.yml index 9db3189f3..ab90bf087 100644 --- a/codes/classical/spherical/polytope/polygon/polygon.yml +++ b/codes/classical/spherical/polytope/polygon/polygon.yml @@ -11,7 +11,6 @@ name: 'Polygon code' description: | Spherical \((1,q,4\sin^2 \frac{\pi}{q})\) code for any \(q\geq1\) whose codewords are the vertices of a \(q\)-gon. Special cases include the line segment (\(q=2\)), triangle (\(q=3\)), square (\(q=4\)), pentagon (\(q=5\)), and hexagon (\(q=6\)). - The code forms a tight spherical \(q-1\) design. \begin{figure} \includegraphics{polygon.svg} \caption{\(q\)-gon code for \(q=5\). Each codeword is a vertex of the \(5\)-gon.} @@ -23,6 +22,8 @@ relations: parents: - code_id: polytope - code_id: sharp_config + - code_id: spherical_design + detail: 'A \(q\)-gon a tight spherical \(q-1\) design.' cousins: - code_id: cat detail: 'The \(q(S+1)\)-component cat coherent-state constellation forms the vertices of a \(q(S+1)\)-gon.' diff --git a/codes/classical/spherical/sharp_config/cgs_spherical.yml b/codes/classical/spherical/sharp_config/cgs_spherical.yml index 22733ff6d..cd585d2ba 100644 --- a/codes/classical/spherical/sharp_config/cgs_spherical.yml +++ b/codes/classical/spherical/sharp_config/cgs_spherical.yml @@ -20,6 +20,7 @@ protection: 'CGS isotropic subspace codes saturate the Levenshtein bound \cite[p relations: parents: + - code_id: spherical_design - code_id: sharp_config detail: 'CGS isotropic subspace codes are the only known spherical sharp configrations not derived from regular polytopes or lattices \cite{arxiv:math/0607446}.' cousins: diff --git a/codes/quantum/categories/groupoid_surface.yml b/codes/quantum/categories/groupoid_surface.yml index f405b71d8..7ca4dfe4d 100644 --- a/codes/quantum/categories/groupoid_surface.yml +++ b/codes/quantum/categories/groupoid_surface.yml @@ -11,7 +11,7 @@ name: 'Groupoid toric code' introduced: '\cite{arxiv:2212.01021}' description: | - Extension of the Kitaev surface code from abelian groups to groupoids, i.e., multi-fusion categories in which every morphism is an isomorphism \cite{doi:10.1112/blms/19.2.113}. + Extension of the Kitaev surface code from Abelian groups to groupoids, i.e., multi-fusion categories in which every morphism is an isomorphism \cite{doi:10.1112/blms/19.2.113}. Some models admit fracton-like features such as extensive ground-state degeneracy and excitations with restricted mobility. The robustness of these features has not yet been established. diff --git a/codes/quantum/categories/string_net.yml b/codes/quantum/categories/string_net.yml index e9526faef..4656aca9d 100644 --- a/codes/quantum/categories/string_net.yml +++ b/codes/quantum/categories/string_net.yml @@ -31,7 +31,7 @@ features: - 'Gates can be implemented through topological operations corresponding to elements of the mapping class group, which is generated by Dehn-twists along non-contractible cycles for triangulations of toroidal \cite{arXiv:1806.02358,arxiv:1806.06078} and hyperbolic \cite{arXiv:1901.11029} manifolds. Whether or not a gate set is universal depends on the choice of input category; in some cases such as the Ising category, gates can be complemented by topological charge measurements to obtain a universal gate set.' - 'Alternatively, one could encode the logical quantum information into the degenerate fusion space of a number of computational anyons. In this case, a universal logical gate set can be implemented through the braiding of the computational anyons \cite{arXiv:quant-ph/0001108,arXiv:math/0103200,arxiv:1002.2816}, e.g., for the case of the \hyperref[code:fibonacci]{Fibonacci} input category.' decoders: - - 'Fusing nonabelian anyons cannot be done in one step \cite{arxiv:hep-th/0110205}.' + - 'Fusing non-Abelian anyons cannot be done in one step \cite{arxiv:hep-th/0110205}.' - 'Syndrome measurement circuits analyzed in Ref. \cite{arXiv:1206.6048}.' - 'Clustering decoder \cite{arxiv:1607.02159}.' diff --git a/codes/quantum/groups/group_gkp.yml b/codes/quantum/groups/group_gkp.yml index 254e86cdd..902ab1a30 100644 --- a/codes/quantum/groups/group_gkp.yml +++ b/codes/quantum/groups/group_gkp.yml @@ -62,7 +62,7 @@ relations: cousins: - code_id: css detail: 'Group GKP codes are stabilized by \(X\)-type Pauli matrices representing \(H\) and all \(Z\)-type operators that are constant on \(K\). - However, the \(Z\)-type operators are not unitary for nonabelian groups.' + However, the \(Z\)-type operators are not unitary for non-Abelian groups.' - code_id: oscillator_stabilizer detail: 'The group-GKP construction encompasses all bosonic CSS codes. A single-mode qubit GKP code corresponds to the \(2\mathbb{Z}\subset\mathbb{Z}\subset\mathbb{R}\) group construction, and multimode GKP codes can be similarly described. diff --git a/codes/quantum/groups/topological/generalized_color.yml b/codes/quantum/groups/topological/generalized_color.yml index c34bddf5c..9c6ce5a5d 100644 --- a/codes/quantum/groups/topological/generalized_color.yml +++ b/codes/quantum/groups/topological/generalized_color.yml @@ -11,7 +11,7 @@ name: 'Generalized color code' introduced: '\cite{arXiv:1408.6238}' description: | - Member of a family of nonabelian topological codes, defined by a finite group \( G \), that serves as a generalization of the color code (for which \(G=\mathbb{Z}_2\times\mathbb{Z}_2\)). + Member of a family of non-Abelian topological codes, defined by a finite group \( G \), that serves as a generalization of the color code (for which \(G=\mathbb{Z}_2\times\mathbb{Z}_2\)). relations: @@ -22,7 +22,7 @@ relations: - code_id: group_gkp detail: 'Generalized color-code Hamiltonians should be expressable in terms of \(X\)- and \(Z\)-type operators of group-GKP codes; see \cite[Sec. 3.3]{arxiv:2111.12096}.' - code_id: quantum_double - detail: 'Generalized color code for group \(G\) on the 4.8.8 lattice is equivalent to a \(G\) quantum double model and another \(G/[G,G]\) quantum double model defined using the abelianization of \(G\).' + detail: 'Generalized color code for group \(G\) on the 4.8.8 lattice is equivalent to a \(G\) quantum double model and another \(G/[G,G]\) quantum double model defined using the Abelianization of \(G\).' # Begin Entry Meta Information diff --git a/codes/quantum/groups/topological/quantum_double.yml b/codes/quantum/groups/topological/quantum_double.yml index f5a4a1109..535b835c7 100644 --- a/codes/quantum/groups/topological/quantum_double.yml +++ b/codes/quantum/groups/topological/quantum_double.yml @@ -14,11 +14,11 @@ description: | Group-GKP stabilizer code whose codewords realize 2D modular gapped topological order defined by a finite group \(G\). The code's generators are few-body operators associated to the stars and plaquettes, respectively, of a tessellation of a two-dimensional surface (with a qudit of dimension \( |G| \) located at each edge of the tesselation). - The physical Hilbert space has dimension \( |G|^E \), where \( E \) is the number of edges in the tessellation. The dimension of the code space is the number of orbits of the conjugation action of \( G \) on \( \text{Hom}(\pi_1(\Sigma),G) \), the set of group homomorphisms from the fundamental group of the surface \( \Sigma \) into the finite group \( G \) \cite{arXiv:1908.02829}. When \( G \) is abelian, the formula for the dimension simplifies to \( |G|^{2g} \), where \( g \) is the genus of the surface \( \Sigma \). + The physical Hilbert space has dimension \( |G|^E \), where \( E \) is the number of edges in the tessellation. The dimension of the code space is the number of orbits of the conjugation action of \( G \) on \( \text{Hom}(\pi_1(\Sigma),G) \), the set of group homomorphisms from the fundamental group of the surface \( \Sigma \) into the finite group \( G \) \cite{arXiv:1908.02829}. When \( G \) is Abelian, the formula for the dimension simplifies to \( |G|^{2g} \), where \( g \) is the genus of the surface \( \Sigma \). The codespace is the ground-state subspace of the quantum double model Hamiltonian. - For nonabelian groups, alternative constructions are possible, encoding information in the fusion space of the low-energy anyonic quasiparticle excitations of the model \cite{doi:10.1007/3-540-49208-9_31,arXiv:quant-ph/0306063,doi:10.1017/CBO9780511792908}. - The fusion space of such nonabelian anyons has dimension greater than one, allowing for topological quantum computation of logical information stored in the fusion outcomes. + For non-Abelian groups, alternative constructions are possible, encoding information in the fusion space of the low-energy anyonic quasiparticle excitations of the model \cite{doi:10.1007/3-540-49208-9_31,arXiv:quant-ph/0306063,doi:10.1017/CBO9780511792908}. + The fusion space of such non-Abelian anyons has dimension greater than one, allowing for topological quantum computation of logical information stored in the fusion outcomes. protection: | Error-correcting properties established in Ref. \cite{arxiv:1908.02829}. @@ -29,7 +29,7 @@ features: - 'A depth-\(L^2\) circuit that grows the code out of a small patch on an \(L\times L\) square lattice using CMULT gates (i.e., "local moves") \cite{arxiv:0712.0348,arxiv:1101.0527}.' - 'For an \(L\times L\) lattice, deterministic state preparation can be done with a geometrically local unitary \(O(L)\)-depth circuit \cite{arXiv:0901.1345,arXiv:1101.0527} or an \(O(\log{L})\)-depth unitary circuit with non-local two-qubit gates \cite{arXiv:0712.0348,arxiv:0806.4583}.' - 'For any solvable group \(G\), ground-state preparation and anyon-pair creation can be done with an adaptive constant-depth circuit with geometrically local gates and measurements throughout \cite{arXiv:2112.01519,arXiv:2205.01933} (see Ref. \cite{arXiv:2112.03061} for specific dihedral groups). - Anyon-pair creation requires an adaptive circuit for any nonabelian \(G\) \cite{arXiv:2205.01933}.' + Anyon-pair creation requires an adaptive circuit for any non-Abelian \(G\) \cite{arXiv:2205.01933}.' general_gates: - 'Universal topological quantum computation possible for certain groups \cite{arxiv:quant-ph/0306063,arxiv:0901.1345}.' decoders: diff --git a/codes/quantum/oscillators/coherent_state/rg_cat.yml b/codes/quantum/oscillators/coherent_state/rg_cat.yml index 95b3e20cb..7e1c4a02d 100644 --- a/codes/quantum/oscillators/coherent_state/rg_cat.yml +++ b/codes/quantum/oscillators/coherent_state/rg_cat.yml @@ -21,11 +21,11 @@ protection: | relations: parents: - code_id: coherent_constellation + - code_id: holographic + detail: 'The RG cat code encoder has coarse-graining features reminiscent of holography \cite{arxiv:2012.14001}.' cousins: - code_id: approximate_qecc detail: 'RG cat codes approximately protect against displacements that represent ultraviolet coherent operators.' - - code_id: holographic - detail: 'The RG cat code encoder has similar coarse-graining features as that of a holographic code \cite{arxiv:2012.14001}.' # Begin Entry Meta Information diff --git a/codes/quantum/oscillators/coherent_state/two-legged-cat.yml b/codes/quantum/oscillators/coherent_state/two-legged-cat.yml index 072c6f956..873a923b8 100644 --- a/codes/quantum/oscillators/coherent_state/two-legged-cat.yml +++ b/codes/quantum/oscillators/coherent_state/two-legged-cat.yml @@ -43,7 +43,7 @@ features: - 'Ancilla qubits encoded in two-component cat codes yield fault-tolerant syndrome extraction circuits \cite{arxiv:1807.09334}.' realizations: - - 'Lindbladian-based \cite{arXiv:1412.4633,arxiv:1705.02401} and Hamiltonian-based ''Kerr-cat'' \cite{arxiv:1907.12131} encodings have been achieved in superconducting circuit devices by the Devoret group; Ref. \cite{arxiv:1705.02401} also demonstrated a displacement-based gate. The Lindbladian-based scheme has further achieved a suppression of bit-flip errors that is exponential in the average photon number \cite{arXiv:1907.11729} up to a bit-flip time of 1ms. A bit-flip time of 1s has been achieved in a similar system in the classical bit regime \cite{arxiv:2204.09128}.' + - 'Lindbladian-based \cite{arXiv:1412.4633,arxiv:1705.02401} and Hamiltonian-based ''Kerr-cat'' \cite{arxiv:1907.12131} encodings have been achieved in superconducting circuit devices by the Devoret group; Ref. \cite{arxiv:1705.02401} also demonstrated a displacement-based gate. The Lindbladian-based scheme has further achieved a suppression of bit-flip errors that is exponential in the average photon number up to a bit-flip time of 1ms \cite{arXiv:1907.11729} and later 10 seconds \cite{arxiv:2307.06617}, with the latter scheme repurposing a holonomic gate \cite{arxiv:1503.00194} as a measurement. A bit-flip time of 1s has been achieved in a similar system in the classical bit regime \cite{arxiv:2204.09128}.' - 'T4C code realized in a superconducting circuit device by the Wang group \cite{arxiv:2004.09322}.' # - 'Approximate ("kitten") optical realization of the odd cat state \cite{doi:10.1126/science.1122858}.' diff --git a/codes/quantum/oscillators/fock_state/constant_excitation/dual_rail.yml b/codes/quantum/oscillators/fock_state/constant_excitation/dual_rail.yml index e08d9f911..a3423b6e0 100644 --- a/codes/quantum/oscillators/fock_state/constant_excitation/dual_rail.yml +++ b/codes/quantum/oscillators/fock_state/constant_excitation/dual_rail.yml @@ -27,7 +27,7 @@ features: realizations: - 'The dual-rail code is ubiquitous in linear optical quantum devices \cite{arxiv:quant-ph/0512071}.' - - 'Superconducting circuit devices: error detection has been demonstrated by Quantum Circuits Inc. \cite{arxiv:2307.03169}, following an earlier theoretical proposal \cite{arxiv:2212.12077}.' + - 'Superconducting circuit devices: error detection has been demonstrated by Quantum Circuits Inc. \cite{arxiv:2307.03169} and Amazon Web Services \cite{arxiv:2307.08737}, following earlier theoretical proposals \cite{arxiv:2212.12077,arxiv:2208.05461}.' notes: diff --git a/codes/quantum/oscillators/fock_state/matrix_qm.yml b/codes/quantum/oscillators/fock_state/matrix_qm.yml index 69efeee2e..a462916d0 100644 --- a/codes/quantum/oscillators/fock_state/matrix_qm.yml +++ b/codes/quantum/oscillators/fock_state/matrix_qm.yml @@ -8,20 +8,20 @@ physical: oscillators logical: qudits name: 'Matrix-model code' -introduced: '\cite{arxiv:2211.08448}' +introduced: '\cite{arxiv:2008.12869,arxiv:2211.08448}' description: | - Multimode-mode Fock-state bosonic approximate code derived from a matrix model, i.e., a nonabelian bosonic gauge theory with a large gauge group. + Multimode-mode Fock-state bosonic approximate code derived from a matrix model, i.e., a non-Abelian bosonic gauge theory with a large gauge group. The model's degrees of freedom are matrix-valued bosons \(a\), each consisting of \(N^2\) harmonic oscillator modes and subject to an \(SU(N)\) gauge symmetry. - A simple matrix-model code consists of two spatially separated bosons with codewords + A simple matrix-model code \cite{arxiv:2211.08448} consists of two spatially separated bosons with codewords \begin{align} |\mathcal{I}\rangle :=\prod_{(m,n)\in \mathcal{I} } \frac{\text{Tr}(a_1^{\dagger m}a_2^{\dagger n})}{N^{\frac{m+n}{2}}}|0\rangle_{12}~, \end{align} where \(\cal I\) is some set of integer two-tuples, and \(n,m\geq 0\). Gauge symmetry is assumed to be enforced in the above model. - In other variants, gauge symmetry is enforced energetically, requiring a parameter to scale as \(\log(N)\) for polynomial memory lifetime. This translates to the bath coupling being suppressed as \(1/N\). + In other variants \cite{arxiv:2211.08448}, gauge symmetry is enforced energetically, requiring a parameter to scale as \(\log(N)\) for polynomial memory lifetime. This translates to the bath coupling being suppressed as \(1/N\). protection: | For the spatially separated boson code, logical errors stemming from gauge-invariant physical errors are suppressed polynomially with the number of modes \(N\), as shown per the error-correction conditions. @@ -36,9 +36,9 @@ relations: detail: 'Matrix-model codes approximately protect against gauge-invariant errors in the large-mode limit.' - code_id: hamiltonian detail: 'Matrix-model codewords for simple codes are eigenstates of a matrix-model Hamiltonian.' - cousins: - code_id: holographic - detail: 'Matrix-model codes are motivated by the Ads/CFT correspondence because it is manifest in continuous nonabelian gauge theories with large gauge groups \cite{arxiv:2211.08448}.' + detail: 'Matrix-model codes are motivated by the Ads/CFT correspondence because it is manifest in continuous non-Abelian gauge theories with large gauge groups \cite{arxiv:2211.08448}.' + cousins: - code_id: self_correct detail: 'Matrix-model codes are similar to self-correcting memories in the sense that memory time becomes infinite in the thermodynamic limit, but with corrections being polynomial in \(N\).' diff --git a/codes/quantum/oscillators/fock_state/numopt.yml b/codes/quantum/oscillators/fock_state/numopt.yml index 5b4a20347..9daefb3b9 100644 --- a/codes/quantum/oscillators/fock_state/numopt.yml +++ b/codes/quantum/oscillators/fock_state/numopt.yml @@ -29,7 +29,7 @@ relations: - code_id: oscillators cousins: - code_id: multimodegkp - detail: 'Numerically optimizing GKP code lattices yields codes for three and nine modes with larger distances and fidelities than known GKP codes \cite{arxiv:2303.04702}.' + detail: 'Numerically optimizing GKP code lattices yields codes for three, seven, and nine modes with larger distances and fidelities than known GKP codes \cite{arxiv:2303.04702}.' # Begin Entry Meta Information _meta: diff --git a/codes/quantum/oscillators/stabilizer/lattice/gkp.yml b/codes/quantum/oscillators/stabilizer/lattice/gkp.yml index 0223b47a0..f2cf73ca4 100644 --- a/codes/quantum/oscillators/stabilizer/lattice/gkp.yml +++ b/codes/quantum/oscillators/stabilizer/lattice/gkp.yml @@ -53,6 +53,7 @@ notes: realizations: - 'Motional degree of freedom of a trapped ion: square-lattice GKP encoding realized with the help of post-selection \cite{arxiv:1807.01033,arXiv:1907.06478}, followed by realization of reduced form of GKP error correction, where displacement error syndromes are measured to one bit of precision using an ion electronic state \cite{arxiv:2010.09681}.' - 'Microwave cavity coupled to superconducting circuits: reduced form of square-lattice GKP error correction, where displacement error syndromes are measured to one bit of precision using an ancillary transmon \cite{arxiv:1907.12487}. Subsequent paper \cite{arxiv:2211.09116} uses reinforcement learning for error-correction cycle design and is the first to go beyond break-even error-correction, with the lifetime of a logical qubit exceeding the cavity lifetime by about a factor of two (see also \cite{arxiv:2211.09319}).' + - 'GKP states and homodyne measurements have been realized in propagating telecom light by the Furusawa group \cite{arxiv:2309.02306}.' - 'Single-qubit \(Z\)-gate has been demonstrated in the single-photon subspace of an infinite-mode space \cite{arxiv:1904.01351}, in which time and frequency become bosonic conjugate variables of a single effective bosonic mode.' - 'In signal processing, GKP state position-state wavefunctions are related to Dirac combs \cite{doi:10.1007/978-1-4612-2016-9}.' diff --git a/codes/quantum/oscillators/stabilizer/lattice/multimodegkp.yml b/codes/quantum/oscillators/stabilizer/lattice/multimodegkp.yml index 5b99a66ce..025f0c960 100644 --- a/codes/quantum/oscillators/stabilizer/lattice/multimodegkp.yml +++ b/codes/quantum/oscillators/stabilizer/lattice/multimodegkp.yml @@ -33,8 +33,7 @@ features: - 'Logical Clifford operations are given by Gaussian unitaries, which map bounded-size errors to bounded-size errors \cite{arXiv:quant-ph/0008040}.' decoders: - - 'The MLD decoder for Gaussian displacement errors is realized by evaluating a lattice theta function, and in general the decision can be approximated by either solving (approximating) the closest vector problem (CVP) or by using other effective iterative schemes when e.g. the lattice represents a concatenated GKP code \cite{arXiv:1810.00047,arXiv:1908.03579,arXiv:2109.14645,arxiv:2111.07029}.' - - 'Closest lattice point decoding \cite{arxiv:2303.04702}.' + - 'The MLD decoder for Gaussian displacement errors is realized by evaluating a lattice theta function, and in general the decision can be approximated by either solving (approximating) the closest vector problem (CVP) \cite{doi:10.1109/TIT.2002.800499} (a.k.a. closest lattice point problem) or by using other effective iterative schemes when e.g. the lattice represents a concatenated GKP code \cite{arXiv:1810.00047,arXiv:1908.03579,arXiv:2109.14645,arxiv:2111.07029}. While the decoder time scales exponentially with number of modes \(n\) generically, the time can be polynomial in \(n\) for certain codes \cite{arxiv:2303.04702}.' relations: parents: diff --git a/codes/quantum/properties/approximate_qecc.yml b/codes/quantum/properties/approximate_qecc.yml index 46ac4f400..b1598c836 100644 --- a/codes/quantum/properties/approximate_qecc.yml +++ b/codes/quantum/properties/approximate_qecc.yml @@ -11,61 +11,100 @@ introduced: '\cite{arxiv:quant-ph/9704002,doi:10.1070/RM1997v052n06ABEH002155,ar description: 'Encodes quantum information so that it is possible to approximately recover that information from noise up to an error bound in recovery.' -# protection: | -# Given some encoding map \(\cal{E}\) and some noise channel \(\cal{N}\), -# the code described by \(\cal{E}\) is \textit{\(\epsilon\)-correctable} if there exists -# some quantum channel \(\cal{R}\) such that -# \begin{align} -# d(\cal{R}\cal{N}\cal{E}(\rho),\rho)\leq \epsilon -# \end{align} -# for Bures distance \(d\) and for all logical states \(\rho\). +# In exact quantum error correction, we say that encoding \(\mathcal{E}\) is correctable +# under noise channel \(\mathcal{N}\) iff there exists some channel \(\mathcal{D}\) such that +# \begin{align}\mathcal{D}\mathcal{N}\mathcal{E}\ket{\psi}\bra{\psi}=\ket{\psi}\bra{\psi}\end{align} +# for all \(\ket{\psi}\). # -# \subsection{Necessary and sufficient approximate error-correction conditions} -# Analogously to the \term{Knill-Laflamme conditions} for (exact) QECCs, there exist various formulations of necessary and sufficient conditions for -# approximate error correction to determine if some code is \(\epsilon\)-correctable under a noise channel. -# -# Necessary and sufficient conditions for approximate error correction can also be expressed in terms of -# complementary channels. -# Given some code defined by projector \(P\), \(P\) is \textit{\(\epsilon\)-correctable} -# with respect to some noise channel \(\cal{N}\) if -# \begin{align} -# PE_i^{\dagger}E_j P=\lambda_{ij}P+PB_{ij}P~, -# \end{align} -# where \(\Lambda(\rho)=\mathrm{Tr}(\rho)\sum_{ij} \lambda_{ij}|i\rangle\langle j|\) -# is a density operator, -# \begin{align} -# (\Lambda+B)(\rho)=\Lambda(\rho)+\sum_{ij}\mathrm{Tr}(\rho B_{ij})|i\rangle\langle j| -# \end{align} -# is the output state of the complementary noise channel \(\mathcal{N}^C = \Lambda+B\), and the Bures distance \(d(\Lambda+B,\Lambda)\le\epsilon\)~\cite{arXiv:0907.5391}. -# -# Given some noise channel \(\mathcal{N}\), there exists some recovery channel \(\mathcal{R}\) such that -# \(F(\mathcal{R}\mathcal{N},\mathcal{M})=1-\epsilon\) iff there exists some \(\mathcal{R}'\) such that -# for complementary channels \(\mathcal{N}^C\) and \(\mathcal{M}^C\), \(F(\mathcal{N}^C,R'\mathcal{M}^C)=1-\epsilon\). -# Note that \(F\) denotes worst case entaglement fidelity between channels. -# -# One example is that if \(\mathcal{M}\) is the projector onto some algebra \(\mathcal{A}\), -# we can derive correctability conditions for that algebra under \(\mathcal{N}\)~\cite{arXiv:0907.5391}. - -# \subsection{Sufficient approximate error-correction conditions} -# In addition to the necessary and sufficient error correction conditions, -# there exist sufficient conditions for AQECCs. -# -# Given a noise channel \(\mathcal{E}(\rho)=\sum_{n} A_n \rho A_n^{\dagger}\) where \(\forall{n}\), \(A_n\) is a Kraus operator, and code projector \(P\), express the following using polar decomposition, \(A_n P=U_n \sqrt{PA_n^{\dagger}A_n P}\), and let \(p_n\) and \(p_n\lambda_n\) be the largest and smallest eigenvalues for \(PA_n^{\dagger}A_n P\). -# Then, we are guaranteed that if -# \begin{align}PU_m^{\dagger}U_n P=\delta_{mn} P \land p_n(1-\lambda_n)\le O(f(\epsilon))\end{align} -# we have a fidelity \(F \geq 1-O(f(\epsilon))\) after recovery~\cite{arXiv:quant-ph/9704002}. +# This can be interpreted as pure state fidelity being equal to 1 for all pure states \(\ket{\psi}\). This is true +# iff entanglement fidelity, another measure of error, is also equal to 1 for all +# quantum states \(\rho\)~\cite{arxiv:quant-ph/9604022}. +# In the \hyperref[code:qecc_finite]{exact case}, +# this means that for all \(\rho\) where \(\ket{\psi}\) is a purification of \(\rho\), +# \begin{align}(\mathcal{D}\mathcal{N}\mathcal{E}\otimes\mathrm{id})(\ket{\psi}\bra{\psi})=\ket{\psi}\bra{\psi}.\end{align} protection: | - \subsection{Universal subspace approximate error correction} - Universal subspace approximate error correction is a type of approximate error correction that quantifies protection of information stored in subspaces of a logical space. + Many of the state fidelity conditions that hold exactly for \hyperref[code:qecc_finite]{(exact) QECCs} can be shown to hold up to some error \(\epsilon\) for approximate QECCs. + + \subsection{Entanglement fidelity} + + Let \(f(\rho_1,\rho_2)\) be the fidelity between quantum states. + Let entanglement fidelity between channels \(\mathcal{N}\) and \(\mathcal{M}\) be defined as + \begin{align} + F_{\rho}(\mathcal{N},\mathcal{M}) + =f((\mathcal{N}\otimes\mathrm{id})\ket{\psi}\bra{\psi},(\mathcal{M}\otimes\mathrm{id})\ket{\psi}\bra{\psi})~, + \end{align} + where \(\ket{\psi}\) is a purification of the mixed state \(\rho\). + The worst-case entaglement fidelity is then defined as + \begin{align} + F(\mathcal{N},\mathcal{M})=\min_{\rho} F_{\rho}(\mathcal{N},\mathcal{M})~. + \end{align} + + Now, based on the Bures distance and worst case entaglement fidelity, we define + \begin{align} + d(\mathcal{N},\mathcal{M})=\sqrt{1-F(\mathcal{N},\mathcal{M})} + \end{align} + as a measure of distance between quantum channels~\cite{arXiv:0907.5391}. + + Given some encoding map \(\mathcal{U}\) and some noise channel \(\mathcal{E}\), + the code described by \(\mathcal{U}\) is \textit{\(\epsilon\)-correctable} if there exists + some quantum channel \(\mathcal{D}\) such that + \begin{align} + d(\mathcal{D}\mathcal{E}\mathcal{U}(\rho),\rho)\leq \epsilon + \end{align} + for all logical states \(\rho\)~\cite{arXiv:0907.5391}. + + \subsection{Complementary channel formulation} + + \subsection{Necessary and sufficient approximate error-correction conditions} + Analogously to the \term{Knill-Laflamme conditions} for (exact) QECCs, there exist various formulations of necessary and sufficient conditions for approximate error correction to determine if some code is \(\epsilon\)-correctable under a noise channel. - Given a subspace of a Hilbert space \(\mathsf{S}\) of dimension \(d\), noise channel \(\mathcal{N}\), and encoding \(\mathcal{E}\), we define the subspace as an \textit{\(\alpha\)-dit} with error \(\epsilon\) if, for all subspaces \(\tilde{\mathsf{S}}\) of dimension less than or equal to \(d^{\alpha}+1\), + Necessary and sufficient conditions for approximate error correction can also be expressed in terms of + complementary channels. + Given some code defined by projector \(\Pi = U U^\dagger\), \(\Pi\) is \textit{\(\epsilon\)-correctable} + with respect to some noise channel \(\mathcal{E}\) if + \begin{align} + \Pi E_i^{\dagger}E_j \Pi =\lambda_{ij}\Pi +\Pi B_{ij}\Pi ~, + \end{align} + where \(\Lambda(\rho)=\mathrm{Tr}(\rho)\sum_{ij} \lambda_{ij}|i\rangle\langle j|\) + is a density operator, + \begin{align} + (\Lambda+B)(\rho)=\Lambda(\rho)+\sum_{ij}\mathrm{Tr}(\rho B_{ij})|i\rangle\langle j| + \end{align} + is the output state of the complementary noise channel \(\mathcal{E}^C = \Lambda+B\), and the Bures distance \(d(\Lambda+B,\Lambda)\le\epsilon\)~\cite{arXiv:0907.5391}. + + In addition to the necessary and sufficient error correction conditions, + there exist sufficient conditions for AQECCs. + Given a noise channel \(\mathcal{U}(\rho)=\sum_{n} A_n \rho A_n^{\dagger}\) where \(\forall{n}\), \(A_n\) is a Kraus operator, and code projector \(\Pi \), express the following using polar decomposition, \(A_n \Pi =U_n \sqrt{\Pi A_n^{\dagger}A_n \Pi }\), and let \(p_n\) and \(p_n\lambda_n\) be the largest and smallest eigenvalues for \(\Pi A_n^{\dagger}A_n \Pi \). + Then, we are guaranteed that if + \begin{align}\Pi U_m^{\dagger}U_n \Pi =\delta_{mn} \Pi \land p_n(1-\lambda_n)\le O(f(\epsilon))\end{align} + we have a fidelity \(F \geq 1-O(f(\epsilon))\) after recovery~\cite{arXiv:quant-ph/9704002}. + + \subsection{Universal subspace AQECCs and alpha-bits} + Universal subspace approximate error correction is a type of approximate error correction that quantifies protection of information stored in (strict) subspaces of a logical space. + + Given a subspace of a Hilbert space \(\mathsf{S}\) of dimension \(d\), noise channel \(\mathcal{E}\), and encoding \(\mathcal{U}\), we define the subspace as an \textit{\(\alpha\)-dit} with error \(\epsilon\) if, for all subspaces \(\tilde{\mathsf{S}}\) of dimension less than or equal to \(d^{\alpha}+1\), there exists some channel \(\tilde{\mathcal{D}}\) such that - \begin{align}||(\tilde{\mathcal{D}}\circ \mathcal{N}\circ \mathcal{E})|\psi\rangle-|\psi\rangle||_1\leq \epsilon\end{align} - forall \(|\psi\rangle\in \tilde{\mathsf{S}}\)~\cite{arXiv:1706.09434}. - See Ref. \cite{arxiv:1610.06169} for bounds on approximate code length, size, and distance. + \begin{align}||(\tilde{\mathcal{D}}\circ \mathcal{E}\circ \mathcal{U})|\psi\rangle-|\psi\rangle||_1\leq \epsilon\end{align} + for all \(|\psi\rangle\in \tilde{\mathsf{S}}\)~\cite{arXiv:1706.09434}. -# where up to a fixed subspace size, given the information that a quantum state is in a subspace of that size, it is approximately recoverable after being transmitted through a noisy quantum channel. + Generalizing the notion of quantum information transmission and capacity of \hyperref[code:qecc_finite]{(exact) QECCs}, one can achieve an \(\alpha\)-bit transmission rate \(r\) quantum channel \(\mathcal{E}\) iff, + for sufficiently large \(d\) and \(n\), and for all \(\epsilon>0\), the channel \(\mathcal{E}^{\otimes n}\) + is able to transmit + \begin{align}\lceil \frac{n r}{\log(d)} \rceil\quad \textup{\(\alpha\)-dits}\end{align} + with total error \(\epsilon\) across those \(\alpha\)-dits. + The \(\alpha\)-bit capacity \(Q\) of \(\mathcal{E}\) + is defined as the supremum of achievable transmission rates~\cite{arXiv:1706.09434}. + +# Please remove calM from, first discussing the codespace case and then opening up to algebras. + +# Given a noise channel \(\mathcal{E}\), there exists a recovery channel \(\mathcal{D}\) such that +# \(F(\mathcal{D}\mathcal{E},\mathcal{M})=1-\epsilon\) iff there exists some \(\mathcal{D}'\) such that +# for complementary channels \(\mathcal{E}^C\) and \(\mathcal{M}^C\), \(F(\mathcal{E}^C,\mathcal{D}'\mathcal{M}^C)=1-\epsilon\). +# Note that \(F\) denotes worst case entaglement fidelity between channels. +# +# One example is that if \(\mathcal{M}\) is the projector onto some algebra \(\mathcal{A}\), +# we can derive correctability conditions for that algebra under \(\mathcal{E}\)~\cite{arXiv:0907.5391}. features: @@ -89,6 +128,14 @@ relations: _meta: # Change log - most recent first changelog: + - user_id: VictorVAlbert + date: '2023-07-24' + - user_id: M10T + date: '2023-07-19' + - user_id: M10T + date: '2023-07-11' + - user_id: M10T + date: '2023-07-03' - user_id: M10T date: '2023-06-28' - user_id: M10T diff --git a/codes/quantum/properties/block/block_quantum.yml b/codes/quantum/properties/block/block_quantum.yml index 5c0d1137f..5dd55321a 100644 --- a/codes/quantum/properties/block/block_quantum.yml +++ b/codes/quantum/properties/block/block_quantum.yml @@ -8,11 +8,15 @@ code_id: block_quantum name: 'Block quantum code' description: | - A code constructed in a physical space consisting of a tensor product of \(n\) identical subsystems, e.g., qubits, modular qudits, Galois qudits, or oscillators. + A code constructed in a multi-partite quantum system, i.e., a physical space consisting of a tensor product of \(n\) identical subsystems, e.g., qubits, modular qudits, Galois qudits, or oscillators. protection: | Block codes protect from errors acting on a few of the \(n\) subsystems. A block code with \textit{distance} \(d\) detects errors acting on up to \(d-1\) subsystems, and corrects erasure errors on up to \(d-1\) subsystems. + Noise models for block codes include \textit{stochastic noise}, in which every possible error is assigned a probability. + In the case of \textit{local stochastic noise}, the probability decreases rapidly (typically, exponentially) with the number of subsystems that an error acts on. + On the other hand, the \textit{adversarial noise} model consists of errors acting on at most a fixed number of subsystems. + features: transversal_gates: '\textit{Transversal gates} are logical gates on block codes that can be realized as tensor products of unitary operations acting on subsets of subsystems whose size is independent of \(n\). When the subsets are of size one and the single-subsystem unitaries are identical, then the gates are sometimes called \textit{strongly transversal}.' diff --git a/codes/quantum/properties/block/single_shot.yml b/codes/quantum/properties/block/single_shot.yml index 81dcfe728..c2216746b 100644 --- a/codes/quantum/properties/block/single_shot.yml +++ b/codes/quantum/properties/block/single_shot.yml @@ -9,7 +9,14 @@ name: 'Single-shot code' introduced: \cite{arxiv:1404.5504} description: | - A block quantum code admitting a fault-tolerant error-correcting protocol against noisy syndrome measurements that requires a number of error-correcting rounds that is independent of the number of subsystems \(n\). + Measurement errors during decoding can yield the wrong syndrome outcome, which can cause error correction to fail even against correctable data errors. + A single-shot code is a block quantum code admitting a fault-tolerant error-correcting protocol that does not "fail too badly" when faced with noisy syndrome measurements. + + In the loosest form of the single-shot property for qubit, modular qudit, or Galois qudit codes, given some data error \(e\), ideal data error syndrome \(s\), and measurement error \(m\), there exists an error-correction protocol that outputs a correction \(f\) such that the Hamming weight of the residual error after correction, \(e+f\), is \textit{polynomial} in the weight of \(m\). + + The single-shot property usually implies that a sufficiently large number of error-correction rounds will keep both data and measurement errors bounded, as opposed to causing to eventually become uncorrectable. + +# In other words, the single-shot property implies that the number of error-correcting rounds necessary for successful error correction is independent of the number of subsystems \(n\). relations: diff --git a/codes/quantum/properties/block/symmetric/permutation_invariant.yml b/codes/quantum/properties/block/symmetric/permutation_invariant.yml index b1d65ef96..14f9de1fb 100644 --- a/codes/quantum/properties/block/symmetric/permutation_invariant.yml +++ b/codes/quantum/properties/block/symmetric/permutation_invariant.yml @@ -12,7 +12,12 @@ description: 'Block quantum code such that any permutation of the subsystems lea #Such a code is said to be stabilized by the symmetric group \(S_n\) on \(n\) elements, in a generalization of stabilizer codes to binary codes utilizing (nonabelian) group actions.' -protection: 'Depends on the family. The GNU permutation-invariant family (parameterized by \(t\)) protects against arbitrary weight \(t\) qubit errors and approximately corrects spontaneous decay errors \cite{arXiv:1302.3247,doi:10.1103/PhysRevA.93.042340}. Other related codes protect against amplitude damping \cite{doi:10.1109/TIT.2019.2956142} while admitting a constant number of excitations, and against deletion errors \cite{arxiv:2102.02494,arXiv:2102.03015}.' +protection: | + Permutation invariant codes of distance \(d\) can protect against \(d-1\) deletion errors \cite{arxiv:2102.02494,arXiv:2102.03015}, i.e., erasures of qubits at unknown locations. + + Other protection depends on the code family. + The GNU permutation-invariant family (parameterized by \(t\)) protects against arbitrary weight \(t\) qubit errors and approximately corrects spontaneous decay errors \cite{arXiv:1302.3247,doi:10.1103/PhysRevA.93.042340}. + Other related codes protect against amplitude damping \cite{doi:10.1109/TIT.2019.2956142} while admitting a constant number of excitations. features: @@ -20,7 +25,9 @@ features: - 'With quantum harmonic oscillators (superconducting charge qubits in a ultrastrong coupling regime) in \(O(N)\) as in \cite{doi:10.1103/PhysRevA.99.012335}. Can be done in \(O(N^2)\) steps using quantum circuits \cite{arXiv:1904.07358}, or using geometric phase gates in \(O(N)\) \cite{arxiv:1908.01120}.' decoders: - - 'For a family of codes, using projection, probability amplitude rebalancing, and gate teleportation can be done in \(O(N^2)\) \cite{arXiv:2102.02494}.' + - 'Schur-Weyl-transform based decoder for qubit permutation-invariant codes \cite{arxiv:2212.06285}. + Here, one first measures the total angular momentum of consecutive pairs of qubits, and then its projection modulo some spacing. + Recovery can be performed by applying geometric phase gates \cite{arxiv:quant-ph/0111017} and the quantum Schur transform.' notes: - 'Can be constructed using real polynomials for high-dimensional qudit spaces \cite{doi:10.1016/j.laa.2017.06.031}.' diff --git a/codes/quantum/properties/block/tensor_network/holographic.yml b/codes/quantum/properties/block/tensor_network/holographic.yml index 307799414..8896242c5 100644 --- a/codes/quantum/properties/block/tensor_network/holographic.yml +++ b/codes/quantum/properties/block/tensor_network/holographic.yml @@ -9,8 +9,9 @@ name: 'Holographic code' introduced: '\cite{arxiv:1503.06237}' description: | - Block quantum code whose encoding isometry serves to model aspects of the AdS/CFT holographic duality. - Encoding map models radial time evolution for a fixed time slice in Anti de Sitter (AdS) space, mapping operators in the bulk of AdS, represented by logical qudits, onto operators on the boundary of the corresponding Conformal Field Theory (CFT), represented by physical qudits. + Block quantum code whose features (typically, the encoding isometry) serve to model aspects of the AdS/CFT holographic duality. + + The encoding map often models radial time evolution for a fixed time slice in Anti de Sitter (AdS) space, mapping operators in the bulk of AdS, represented by logical qudits, onto operators on the boundary of the corresponding Conformal Field Theory (CFT), represented by physical qudits. Encoding can often be represented by a tensor network associated with a tiling of hyperbolic space. See Defn 4.3 of Ref. \cite{arxiv:2108.11402} for a technical formulation. Typically, the encoding isometry \(U\) obeys the \textit{entanglement-wedge reconstruction condition}, which states that for any boundary region \(R\), any bulk operator \(O\) localized to the entanglement wedge of \(R\) must be implementable by some boundary operator \(\tilde{O}\) localized to \(R\). Formally, \(UO = \tilde{O}U\) and \([\tilde{O},UU^\dagger] = 0\). The entanglement wedge is the space enclosed within the Ryu–Takayanagi surface in the bulk (minimal surface) with boundary \(R\). @@ -30,13 +31,15 @@ features: notes: - 'All Boundary global symmetries must be dual to bulk gauge symmetries, and vice versa \cite{arxiv:1810.05338}.' +# SYK codes do not seem to be related to Lego, so parent is block quantum relations: parents: + - code_id: block_quantum + cousins: - code_id: quantum_lego detail: 'Quantum Lego codes codes whose encoders are tensor networks discretizing hyperbolic space can be thought of as holographic codes. More generally, tensor-network codes are types of LEGO codes made from stabilizer codes where logical and physical legs are pre-assigned and logical legs are not contracted. In other words, logical legs resulting from the conversion of codes to tensors must remain logical in the final tensor network, and the same for physical. Contracting logical legs is another word for gluing two logical legs together.' - cousins: - code_id: approximate_qecc detail: 'Universal subspace approximate error correction is used to model black holes \cite{arxiv:1807.06041}.' - code_id: approximate_oaecc diff --git a/codes/quantum/properties/block/topological/topological.yml b/codes/quantum/properties/block/topological/topological.yml index 5366ba660..c2ddb8265 100644 --- a/codes/quantum/properties/block/topological/topological.yml +++ b/codes/quantum/properties/block/topological/topological.yml @@ -58,8 +58,8 @@ features: \end{align} and a generalization of the formula to the non-orientable case can be found in Ref. \cite{arxiv:1612.07792}.' encoders: - - 'The unitary circuit depth required to initialize in a general topologically ordered state using geometrically local gates on an \(L\times L\) lattice is \(\Omega(L)\) \cite{arXiv:quant-ph/0603121}, irrespective of whether the ground state admits Abelian or nonabelian anyonic excitations. - However, only a finite-depth circuit and one round of measurements is required for nonabelian topological orders with a Lagrangian subgroup \cite{arxiv:2209.03964}.' + - 'The unitary circuit depth required to initialize in a general topologically ordered state using geometrically local gates on an \(L\times L\) lattice is \(\Omega(L)\) \cite{arXiv:quant-ph/0603121}, irrespective of whether the ground state admits Abelian or non-Abelian anyonic excitations. + However, only a finite-depth circuit and one round of measurements is required for non-Abelian topological orders with a Lagrangian subgroup \cite{arxiv:2209.03964}.' notes: diff --git a/codes/quantum/properties/hamiltonian/commuting_projector.yml b/codes/quantum/properties/hamiltonian/commuting_projector.yml index 9e5ca2c3e..5f495c791 100644 --- a/codes/quantum/properties/hamiltonian/commuting_projector.yml +++ b/codes/quantum/properties/hamiltonian/commuting_projector.yml @@ -9,7 +9,7 @@ name: 'Commuting-projector code' #introduced: '' description: | - Hamiltonian-based code whose Hamiltonian terms can be expressed as projectors (i.e., having eigenvalues 0 or 1) that commute with each other. + Hamiltonian-based code whose Hamiltonian terms can be expressed as orthogonal projectors (i.e., Hermitian operators with eigenvalues 0 or 1) that commute with each other. relations: diff --git a/codes/quantum/properties/hamiltonian/hamiltonian.yml b/codes/quantum/properties/hamiltonian/hamiltonian.yml index 72600f40f..90cbbb4b7 100644 --- a/codes/quantum/properties/hamiltonian/hamiltonian.yml +++ b/codes/quantum/properties/hamiltonian/hamiltonian.yml @@ -9,7 +9,7 @@ name: 'Hamiltonian-based code' #introduced: '' description: | - Encoding corresponds to a set of energy eigenstates of a quantum-mechanical Hamiltonian. + Code whose codespace corresponds to a set of energy eigenstates of a quantum-mechanical Hamiltonian. The codespace is typically a set of low-energy eigenstates or ground states, but can include subspaces of arbitrarily high energy. For block quantum codes, the Hamiltonian can be \textit{local}, i.e., consisting of operators acting on a number of subsystems that is independent of the total number of subsystems (e.g., \hyperref[code:qldpc]{QLDPC codes}). diff --git a/codes/quantum/properties/qecc.yml b/codes/quantum/properties/qecc.yml index 1433830c0..c83949c74 100644 --- a/codes/quantum/properties/qecc.yml +++ b/codes/quantum/properties/qecc.yml @@ -45,7 +45,7 @@ features: See \cite[Ch. 24]{arxiv:1106.1445} for definitions and a history.' notes: - - 'See Refs. \cite{doi:10.1017/CBO9780511976667,preset:PreskillNotes,preset:GottesmanBook,arxiv:1302.3428,arxiv:1907.11157} for introductions to quantum error correction.' + - 'See Refs. \cite{doi:10.1017/CBO9780511976667,preset:PreskillNotes,preset:GottesmanBook,arxiv:1302.3428,arxiv:1907.11157} for introductions to quantum error correction. See also tutorials by \href{https://www.youtube.com/watch?v=_ls3KczZL2c}{V. V. Albert}, \href{https://www.youtube.com/watch?v=uD69GCYF9Zg}{S. M. Girvin}, \href{https://www.youtube.com/watch?v=buIbd_aXAHw}{P. Shor}, and \href{https://www.youtube.com/watch?v=Je7sVJGKMgU}{B. Terhal}.' - 'Quantum error correction was initially claimed not to be theoretically possible \cite{arxiv:hep-th/9406058,doi:10.1098/rsta.1995.0106}.' relations: diff --git a/codes/quantum/properties/qecc_finite.yml b/codes/quantum/properties/qecc_finite.yml index 290e1f588..72ddc6a70 100644 --- a/codes/quantum/properties/qecc_finite.yml +++ b/codes/quantum/properties/qecc_finite.yml @@ -12,7 +12,7 @@ short_name: 'Finite QECC' description: 'Encodes quantum information in a \(K\)-dimensional (\textit{logical}) subspace of an \(N\)-dimensional (\textit{physical}) Hilbert space such that it is possible to recover said information from errors. The logical subspace is spanned by a basis comprised of \textit{code basis states} or \textit{codewords}.' protection: | - Denoting Hilbert spaces by the letter \(\mathsf{H}\), a finite-dimensional quantum code \((U,\cal{E})\) is a partial isometry \(U:\mathsf{H}_{K}\to\mathsf{H}_{N}\) with a set of correctable errors \({\cal{E}}:\mathsf{H}_N\to\mathsf{H}_M\) with the following property: there exists a quantum operation \({\cal{D}}:\mathsf{H}_M\to \mathsf{H}_K\) such that for all \(E\in\cal{E}\) and states \(|\psi\rangle\in\mathsf{H}_{K}\), + Denoting Hilbert spaces by the letter \(\mathsf{H}\), a finite-dimensional quantum code \((U,\cal{E})\) is a partial isometry \(U:\mathsf{H}_{K}\to\mathsf{H}_{N}\) and a set of correctable errors \({\cal{E}}:\mathsf{H}_N\to\mathsf{H}_M\) with the following property: there exists a quantum operation \({\cal{D}}:\mathsf{H}_M\to \mathsf{H}_K\) such that for all \(E\in\cal{E}\) and states \(|\psi\rangle\in\mathsf{H}_{K}\), \begin{align} {\cal D}(EU|\psi\rangle\langle\psi|U^{\dagger}E^{\dagger})=c(E,|\psi\rangle)|\psi\rangle\langle\psi|\end{align} for some constant \(c\) \cite{preset:GottesmanBook}. A code is said to \textit{protect against} or \textit{correct} the errors \(\mathcal{E}\). @@ -43,31 +43,44 @@ protection: | \subsection{Correctability of quantum channels} - We define that some quantum channel \(\mathcal{N}\) is exactly correctable if - there exists some recovery channel \(\mathcal{R}\) such that \(\mathcal{R}\mathcal{N}=\mathrm{id}\). + From now on, we use \(\mathcal{E}\) to denote a noise channel constructed out of the set of errors \(E\) and let \(\mathcal{U}(\cdot)=U(\cdot)U^\dagger\) be the superoperator corresponding to the partial encdoing isometry \(U\). + A noise channel is correctable if there exists a recovery channel \(\mathcal{D}\) such that + \begin{align} + \mathcal{D}\mathcal{E}\mathcal{U}(\rho)=\rho + \end{align} + for all logical states \(\rho\). - Given some noise channel \(\mathcal{N}\), a necessary and sufficient condition for exact correctibility - is that complementary channel \(\mathcal{N}^C(\rho)=\rho_0\mathrm{Tr}(\rho)\). This can be used to derive the Knill-Laflamme conditions~\cite{arXiv:0907.5391}. + The above is equivalent to the fidelity between \(\rho\) and \(\mathcal{D}\mathcal{E}\mathcal{U}(\rho)\) being one for any notion of distance between quantum states. + In particular, we can consider a scenario where we send only one part of an entangled state through a channel and determine whether the entanglement has been preserved during transmission. + Using the notion of entanglement fidelity, a quantum channel \(\mathcal{E}\) is exactly correctable iff there exists a quantum channel \(\mathcal{D}\) such that + \begin{align} + (\mathcal{D}\mathcal{E}\mathcal{U}\otimes\mathrm{id})(\ket{\psi}\bra{\psi})=\ket{\psi}\bra{\psi} + \end{align} + for all states \(\rho\) and their corresponding purifications \(\ket{\psi}\) (i.e., states \(\ket{\psi}\) such that \(\text{Tr}_{2}(|\psi\rangle\langle\psi|)=\rho\)). -# Include other often used defs -# Include complementary channel + approximate defs; approx should be a separate property or not? + The above entanglement fidelity condition can be alternatively expressed using complementary channels. + A complementary channel \(\mathcal{E}^C\) is obtained from a channel \(\mathcal{E}\) that acts on a system by interpreting the channel as coming from a unitary operation acting on a larger system-environment tensor-product space (i.e., performing an isometric extension) and then tracing out the system factor (instead of the second environmental factor) \cite[Sec. 5.2.2]{doi:10.1017/CBO9781139525343}. + A noise channel \({\cal E}(\cdot)=\sum_{j}E_{j}(\cdot)E_{j}^{\dagger}\) admits a complementary channel of the form + \begin{align} + {\cal E}^{C}(\cdot)=\sum_{j,k}\text{Tr}\{E_{j}(\cdot)E_{k}^{\dagger}\}|j\rangle\langle k|~. + \end{align} + The channel is correctable if \(\mathcal{E}^C(\rho)=\rho_0\mathrm{Tr}(\rho)\) for some constant state \(\rho_0\), which is equivalent to the \term{Knill-Laflamme conditions} \cite{arXiv:0907.5391}. features: - - #rate: 'k/n, usually listed for a family of codes, but can be notable for a single one. Discussed alongside other parameters such as check operator weight, distance, etc.' - -# encoders: - # - 'Unitary circuit of depth ... \cite{arxiv:old-paper}.' - # - 'Measurement-based preparation ... with ancilla overhead of ... .' - # - 'Leave discussion of fault tolerance to fault-tolerance field.' - - #transversal_gates: 'Transversal ... gates \cite{doi:ok-paper}. Comment out if doesn''t apply.' + rate: 'One can achieve a transmission rate + \(r\) over a quantum channel \(\mathcal{E}\) iff, for sufficiently large \(n\), \(m=\lfloor r n \rfloor\), + and for all \(\epsilon>0\), + \begin{align} + ||\mathcal{D}\mathcal{E}\mathcal{U}-I^{\otimes m}||_1\leq \epsilon + \end{align} + for some encoding channel \(\mathcal{U}\) and some recovery channel \(\mathcal{D}\). + The quantum capacity \(Q\) of \(\mathcal{E}\) is defined as the supremum over \(n\) of achievable transmission rates~\cite{doi:10.1017/9781316848142}.' general_gates: - 'Universal gate set cannot be transversal for any code that detects single-qubit errors due to Eastin-Knill theorem \cite{arXiv:0811.4262}.' decoders: - - 'The operation \(\cal{D}\) in the definition of this code is called the decoder. However, the term \textit{decoder} can sometimes be used for the inverse of an encoder, which does not correct errors.' + - 'The operation \(\cal{D}\) in the definition of this code is called the decoder. However, the term \textit{decoder} can sometimes be used for the inverse of the encoder \(\cal{U}\), which does not correct errors.' - 'Quantum machine-learning based decoders such as quantum convolutional neural networks \cite{arXiv:1810.03787} and quantum autoencoders \cite{arxiv:2202.00555}.' relations: @@ -81,6 +94,14 @@ relations: _meta: # Change log - most recent first changelog: + - user_id: VictorVAlbert + date: '2023-07-24' + - user_id: M10T + date: '2023-07-17' + - user_id: M10T + date: '2023-07-07' + - user_id: M10T + date: '2023-07-03' - user_id: M10T date: '2023-06-28' - user_id: VictorVAlbert diff --git a/codes/quantum/properties/stabilizer/qldpc/qldpc.yml b/codes/quantum/properties/stabilizer/qldpc/qldpc.yml index 68ad61663..210ea7a69 100644 --- a/codes/quantum/properties/stabilizer/qldpc/qldpc.yml +++ b/codes/quantum/properties/stabilizer/qldpc/qldpc.yml @@ -57,14 +57,14 @@ features: rate: | Asymptotic scaling of \(k\) and \(d\) with \(n\) depends heavily on the code construction. - Geometrically local qubit codes are limited by the \textit{Bravyi-Poulin-Terhal (BPT) bound} \cite{arxiv:0909.5200} (see also \cite{arxiv:0810.1983,arxiv:1008.1029}), which states that \(d \leq O(n^{1-1/D})\) and \(k d^{2/D-1} = O(n)\) for \(D\)-dimensional lattice geometries. + Geometrically local qubit codes are limited by the \textit{Bravyi-Poulin-Terhal (BPT) bound} \cite{arxiv:0909.5200} (see also \cite{arxiv:0810.1983,arxiv:1008.1029,arxiv:1610.06169}), which states that \(d \leq O(n^{1-1/D})\) and \(k d^{2/D-1} = O(n)\) for \(D\)-dimensional lattice geometries. Codes on a \(D\)-dimensional Riemannian manifold with diameter \(L\) satisfy \(k = O(L^{D-2})\) \cite{arxiv:2009.13551}. For general graphs, distance is limited by graphs' connectivity, and a constant relative minimum distance can be achieved only for graphs that contain expanders \cite{arXiv:2106.00765}. Conversely, a code with parameters \(k\) and \(d\) requires a graph with \(\Omega(d)\) edges of length \(\Omega(d/n^{1/D})\) \cite{arXiv:2109.10982}. general_gates: - - 'Logical gates implemented via constant-depth quantum circuits of \(D\)-dimensional geometrically qubit codes lie in the \(D\)th level of the Clifford hierarchy \cite{arxiv:1206.1609}.' + - 'Logical gates implemented via constant-depth quantum circuits of \(D\)-dimensional geometrically qubit stabilizer codes whose distance increases with \(n\) lie in the \(D\)th level of the Clifford hierarchy \cite{arxiv:1206.1609}.' decoders: - 'Belief-propagation (BP) decoder \cite{arxiv:0801.1241} and neural BP decoder \cite{arxiv:2212.10245} for qubit codes. Partially and fully decoupled BP decoders, which uses the decoupling representation, yield improvements against depolarizing noise \cite{arxiv:2305.17505}.' diff --git a/codes/quantum/properties/stabilizer/qldpc/translationally_invariant_stabilizer.yml b/codes/quantum/properties/stabilizer/qldpc/translationally_invariant_stabilizer.yml index fd4a974d8..117b26aa2 100644 --- a/codes/quantum/properties/stabilizer/qldpc/translationally_invariant_stabilizer.yml +++ b/codes/quantum/properties/stabilizer/qldpc/translationally_invariant_stabilizer.yml @@ -57,8 +57,8 @@ relations: - code_id: quantum_double_abelian detail: 'Translation-invariant 2D prime-qudit topological stabilizer codes are equivalent to several copies of the prime-qudit surface code via a local constant-depth Clifford circuit \cite{arxiv:1812.11193}.' - code_id: tqd_abelian - detail: 'Translationally-invariant stabilizer codes can realize 2D modular gapped abelian topological orders \cite{arxiv:2211.03798}. - Conversely, abelian TQD codes need not be translationally invariant, and can realize multiple topological phases on one lattice.' + detail: 'Translationally-invariant stabilizer codes can realize 2D modular gapped Abelian topological orders \cite{arxiv:2211.03798}. + Conversely, Abelian TQD codes need not be translationally invariant, and can realize multiple topological phases on one lattice.' - code_id: fracton detail: 'Translationally-invariant stabilizer codes can realize fracton orders. Conversely, fracton codes need not be translationally invariant, and can realize multiple phases on one lattice.' diff --git a/codes/quantum/qubits/dynamic_gen/da/da.yml b/codes/quantum/qubits/dynamic_gen/da/da.yml new file mode 100644 index 000000000..a5a3b4c44 --- /dev/null +++ b/codes/quantum/qubits/dynamic_gen/da/da.yml @@ -0,0 +1,57 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: da +physical: qubits +logical: qubits + +name: 'Dynamical automorphism (DA) code' +short_name: 'DA code' +introduced: \cite{arXiv:2307.10353} + +description: | + Dynamically-generated stabilizer-based code whose (not necessarily periodic) sequence of few-body measurements implements state initialization, logical gates and error detection. + + After each measurement in the sequence, the codespace is a joint \(+1\) eigenspace of an \textit{instantaneous stabilizer group (ISG)}, i.e., a particular stabilizer group corresponding to the measurement. + The ISG specifies the state of the system as a Pauli stabilizer state at a particular round of measurement, and it evolves into a (potentially) different ISG via \hyperref[topic:code-switching]{code switching} using the group \(\mathsf{F}\) of check operators measured in the next step in the sequence. + + As opposed to subsystem codes, only specific measurement sequences maintain the codespace, and not all sequences implement error detection. + Aperiodic measurement sequences provide a way to implement logical gates \cite{arXiv:2307.10353}. + + For DA codes based on topological phases, the phase associated with each ISG of the code can be obtained from a single \textit{parent topological phase} associated with the DA code \cite{arxiv:2212.00042} via as \hyperref[topic:code-switching]{anyon condensation}. + In this way, measurements cycle logical quantum information between the various condensed phases. + +# Known examples of DA codes include Floquet codes, whose measurement sequences are periodic. +# DA codes with useful aperiodic sequences include the 2D (3D) DA color codes, which realize the ISG of 2D (3D) color codes at certain measurement rounds, and which can implement Clifford (non-Clifford) gates during their evolution by measurements \cite{arXiv:2307.10353}. + +features: + general_gates: + - 'The measurement sequences of the 2D DA color code on a \(N\) layers of triangular patches (which encodes \(N\) logical qubits) can be used to implement all Clifford logical gates via a sequence of two- and three-qubit measurements \cite{arXiv:2307.10353}.' + - 'The 3D DA color code allows for a non-Clifford logical gate via adaptive two-qubit measurements \cite{arXiv:2307.10353}.' + + +relations: + parents: + - code_id: dynamic_gen + detail: 'DA code state initialization, logical gates, and error correction are done by a sequence of different (usually weight-two) stabilizer measurements.' + cousins: + - code_id: color + detail: 'The parent topological phase of the 2D (3D) DA color code is realized by two (three) copies of the 2D (3D) color code.' + - code_id: surface + detail: 'One of the instantaneous stabilizer codes of the 2D DA color code are stacks of toric/surface codes' + - code_id: topological_abelian + detail: 'Useful measurement sequences of DA Floquet codes can be extracted from topological quantum field theory \cite{arXiv:2307.10353}.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-07-21' + - user_id: ShankarBalasubramanian + date: '2023-07-21' + - user_id: nathanan + date: '2023-07-21' diff --git a/codes/quantum/qubits/dynamic_gen/floquet/floquet.yml b/codes/quantum/qubits/dynamic_gen/da/floquet.yml similarity index 55% rename from codes/quantum/qubits/dynamic_gen/floquet/floquet.yml rename to codes/quantum/qubits/dynamic_gen/da/floquet.yml index 9fab6dd00..86a0b38b1 100644 --- a/codes/quantum/qubits/dynamic_gen/floquet/floquet.yml +++ b/codes/quantum/qubits/dynamic_gen/da/floquet.yml @@ -7,18 +7,14 @@ code_id: floquet physical: qubits logical: qubits -name: 'Hasting-Haah Floquet code' +name: 'Hastings-Haah Floquet code' short_name: 'Floquet' introduced: '\cite{arXiv:2107.02194}' description: | - Dynamically-generated stabilizer-based code whose logical qubits are generated through a particular sequence of check-operator measurements such that the number of logical qubits is larger than when the code is viewed as a static subsystem stabilizer code. + DA code whose sequence of check-operator measurements is periodic. - After each measurement in the sequence, the codespace is a joint \(+1\) eigenspace of an \textit{instantaneous stabilizer group (ISG)}, i.e., a particular stabilizer group corresponding to the measurement. The ISG specifies the state of the system as a Pauli stabilizer state at a particular round of measurement, and it evolves into a (potentially) different ISG depending on the check operators measured in the next step in the sequence. - As opposed to subsystem codes, only specific measurement sequences maintain the codespace. - - A measurement can be interpreted as causing anyon \hyperref[topic:code-switching]{condensation}, thereby mapping the topoligical phase of a given code state into another condensed phase. - In this way, measurements cycle logical quantum information between various \hyperref[topic:code-switching]{condensed phases} of a parent topological phase \cite{arxiv:2212.00042}. +# In addition, the number of logical qubits is larger than when the code is viewed as a static subsystem stabilizer code. protection: 'Protects against single-qubit Pauli noise and check operator measurement errors.' @@ -28,8 +24,8 @@ features: relations: parents: - - code_id: crystalline_dynamic_gen - detail: 'Floquet codes are crystalline-circuit codes with non-commuting measurements in 2D.' + - code_id: da + detail: 'Floquet codes are DA codes with periodic measurement sequences.' cousins: - code_id: subsystem_stabilizer detail: 'This code can be viewed as a subsystem stabilizer code, albeit one with less logical qubits.' diff --git a/codes/quantum/qubits/dynamic_gen/floquet/floquet_color.yml b/codes/quantum/qubits/dynamic_gen/da/floquet_color.yml similarity index 100% rename from codes/quantum/qubits/dynamic_gen/floquet/floquet_color.yml rename to codes/quantum/qubits/dynamic_gen/da/floquet_color.yml diff --git a/codes/quantum/qubits/dynamic_gen/floquet/honeycomb.yml b/codes/quantum/qubits/dynamic_gen/da/honeycomb.yml similarity index 96% rename from codes/quantum/qubits/dynamic_gen/floquet/honeycomb.yml rename to codes/quantum/qubits/dynamic_gen/da/honeycomb.yml index 4efe7e914..aacd9472b 100644 --- a/codes/quantum/qubits/dynamic_gen/floquet/honeycomb.yml +++ b/codes/quantum/qubits/dynamic_gen/da/honeycomb.yml @@ -34,7 +34,7 @@ features: - 'The ISG has a static subgroup for all time steps \(r\geq 3\) – that is, a subgroup which remains a subgroup of the ISG for all future times – given by so-called \textit{plaquette stabilizers}. These are stabilizers consisting of products of check operators around homologically trivial paths. The syndrome bits correspond to the eigenvalues of the plaquette stabilizers. Because of the structure of the check operators, only one-third of all plaquettes are measured each round. The syndrome bits must therefore be represented by a lattice in spacetime, to reflect when and where the outcome was obtained.' fault_tolerance: - - 'One can run a fault-tolerant decoding algorithm by (1) bipartitioning the syndrome lattice into two graphs which are congruent to the Cayley graph of the free abelian group with three generators (up to boundary conditions) and (2) performing a matching algorithm to deduce errors.' + - 'One can run a fault-tolerant decoding algorithm by (1) bipartitioning the syndrome lattice into two graphs which are congruent to the Cayley graph of the free Abelian group with three generators (up to boundary conditions) and (2) performing a matching algorithm to deduce errors.' threshold: - '\(0.2\%-0.3\%\) in a controlled-not circuit model with a correlated minimum-weight perfect-matching decoder \cite{arXiv:2108.10457}.' @@ -48,9 +48,9 @@ relations: parents: - code_id: floquet detail: 'The honeycomb Floquet code is the first 2D Floquet code.' - - code_id: qudit_znone - detail: 'The dynamically generated logical qubit of the honeycomb Floquet code is generated by appropriately scheduling measurements of the gauge generators of the \(\mathbb{Z}_{q=2}^{(1)}\) subsystem stabilizer code corresponding to the Kitaev honeycomb model.' cousins: + - code_id: qudit_znone + detail: 'The dynamically generated logical qubit of the honeycomb Floquet code is generated by appropriately scheduling measurements of the gauge generators of the \(\mathbb{Z}_{q=2}^{(1)}\) subsystem stabilizer code corresponding to the Kitaev honeycomb model. However, since this subsystem code has zero logical qubits, the instantaneous stabilizer codes of the honeycomb code cannot be interpreted as gauge-fixed versions of this subsystem code.' - code_id: surface detail: 'Measurement of each check operator of the honeycomb Floquet code involves two qubits and projects the state of the two qubits to a two-dimensional subspace, which we regard as an effective qubit. These effective qubits form a surface code on a hexagonal superlattice. diff --git a/codes/quantum/qubits/dynamic_gen/da/hyperbolic_floquet.yml b/codes/quantum/qubits/dynamic_gen/da/hyperbolic_floquet.yml new file mode 100644 index 000000000..bdcd3c02d --- /dev/null +++ b/codes/quantum/qubits/dynamic_gen/da/hyperbolic_floquet.yml @@ -0,0 +1,39 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: hyperbolic_floquet +physical: qubits +logical: qubits + +name: 'Hyperbolic Floquet code' +introduced: '\cite{arxiv:2110.05348,arXiv:2308.03750,arXiv:2309.10033}' + +description: 'Floquet code whose check-operators correspond to edges of a hyperbolic lattice of degree 3.' + +protection: 'Code distance is at most \(O(\log\(n\))\) due to the hyperbolic qubit geometry.' + +features: + rate: 'Finite encoding rate whose value depends on the hyperbolic lattice. The asymptotic rate is 1/8 for a lattice of octagons \cite{arXiv:2309.10033}.' + decoders: + - 'Syndrome structure allows for MWPM decoding.' + threshold: + - '\(0.1\%\) under standard circuit-level depolarising noise \cite{arXiv:2308.03750}.' + - '\(0.1\%\) under phenomenological error model including depolarizing and measurement errors for the octagonal codes \cite{arXiv:2309.10033}.' + +relations: + parents: + - code_id: floquet +# cousins: +# - code_id: hyperbolic_surface + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-12' + - user_id: AliFahimniya + date: '2023-09-25' diff --git a/codes/quantum/qubits/dynamic_gen/spacetime_circuit.yml b/codes/quantum/qubits/dynamic_gen/spacetime_circuit.yml index 4256c1044..9c2551e6c 100644 --- a/codes/quantum/qubits/dynamic_gen/spacetime_circuit.yml +++ b/codes/quantum/qubits/dynamic_gen/spacetime_circuit.yml @@ -38,8 +38,6 @@ relations: Error syndromes of the spacetime circuit code can be used to obtain the parity checks of the outcome code.' - code_id: surface detail: 'Stabilizer generators of a spacetime code are called \textit{detectors} in Refs. \cite{arxiv:2103.02202,arxiv:2304.05943}.' - - code_id: floquet - detail: 'Spacetime circuit codes are useful for constructing fault-tolerant encoding and syndrome extraction circuits for Floquet codes.' - code_id: subsystem_stabilizer detail: 'Spacetime circuit codes can be upgraded to subsystem codes by \hyperref[topic:gauging-out]{gauging} a subgroup of the logical Pauli group which causes trivial faults in the corresponding Clifford circuit.' diff --git a/codes/quantum/qubits/fermions/mbq.yml b/codes/quantum/qubits/fermions/mbq.yml index 89378e777..2716a7ecb 100644 --- a/codes/quantum/qubits/fermions/mbq.yml +++ b/codes/quantum/qubits/fermions/mbq.yml @@ -32,7 +32,7 @@ relations: - code_id: small_distance - code_id: topological_abelian detail: 'When treated as ground states of the code Hamiltonian, surface codewords realize, codewords of a single Kitaev chain realize \(\mathbb{Z}_2\) fermionic topological order. - The MZMs used to define the tetron code act as Ising anyons, which are nonabelian.' + The MZMs used to define the tetron code act as Ising anyons, which are non-Abelian.' cousins: - code_id: hamiltonian detail: 'The tetron code forms the ground-state subspace of two Kitaev Majorana chain Hamiltonians.' diff --git a/codes/quantum/qubits/fermions/syk.yml b/codes/quantum/qubits/fermions/syk.yml new file mode 100644 index 000000000..78012c0ea --- /dev/null +++ b/codes/quantum/qubits/fermions/syk.yml @@ -0,0 +1,35 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: syk +physical: qubits +logical: qubits + +name: 'SYK code' +introduced: '\cite{arXiv:2203.05058,arxiv:2310.07770}' + +description: | + Approximate \(n\)-fermionic code whose codewords are low-energy states of the Sachdev-Ye-Kitaev (SYK) Hamiltonian \cite{arxiv:cond-mat/9212030,manual:{Kitaev, Alexei. "A simple model of quantum holography (part 2)." Entanglement in Strongly-Correlated Quantum Matter (2015): 38.}} or other low-rank SYK models \cite{arxiv:1910.10173,arxiv:2010.10545}. + +features: + rate: 'SYK codes can have a constant rate and distance scaling as \(n^c\) for some power \(c\) \cite{arxiv:2310.07770}.' + +relations: + parents: + - code_id: fermions + - code_id: approximate_qecc + detail: 'SYK codes are approximately error correcting in that they satisfy certain error-correction conditions based on mutual information \cite{arxiv:2310.07770}.' + - code_id: hamiltonian + detail: 'The SYK code Hamiltonian is constructed out of non-commuting few-site terms, and every fermion participates in many interactions.' + - code_id: holographic + detail: 'In a holographic model \cite{arxiv:2310.07770}, the large distance of these codes can be interpreted as being due to the emergence of a wormhole.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-16' diff --git a/codes/quantum/qubits/qubits_into_qubits.yml b/codes/quantum/qubits/qubits_into_qubits.yml index 63f8c9eff..1b7321fca 100644 --- a/codes/quantum/qubits/qubits_into_qubits.yml +++ b/codes/quantum/qubits/qubits_into_qubits.yml @@ -34,6 +34,8 @@ protection: | features: + general_gates: + - 'Universal computing can be achieved using Clifford gates and a single type of non-Clifford gate, such as the \(T\) gate. Non-Clifford gates are typically more difficult to implement than Clifford gates and so are treated as a resource. Optimizing T-gate count is NP-hard \cite{arxiv:2310.05958}.' decoders: - 'The decoder determining the most likely error given a noise channel is called the \textit{maximum-likelihood decoder}. For few-qubit codes (\(n\) is small), maximum-likelihood decoding can be based by creating a lookup table. For infinite code families, the size of such a table scales exponentially with \(n\), so approximate decoding algorithms scaling polynomially with \(n\) have to be used.' fault_tolerance: @@ -41,6 +43,7 @@ features: notes: - 'There is a relation between one-way entanglement distillation protocols and QECCs \cite{arXiv:quant-ph/9604024}.' + - 'See \href{https://github.com/qiskit-community/qiskit-qec}{Qiskit QEC framework} for realizing protocols on IBM machines.' relations: parents: diff --git a/codes/quantum/qubits/small_distance/iceberg.yml b/codes/quantum/qubits/small_distance/iceberg.yml index f4f12ef54..1c575ddde 100644 --- a/codes/quantum/qubits/small_distance/iceberg.yml +++ b/codes/quantum/qubits/small_distance/iceberg.yml @@ -11,8 +11,11 @@ name: '\([[2m,2m-2,2]]\) error-detecting code' short_name: '\([[2m,2m-2,2]]\)' introduced: '\cite{arxiv:quant-ph/9605021,arxiv:quant-ph/9702029}' +alternative_names: + - 'Iceberg code' + description: | - Also known as the \textit{iceberg} code. CSS stabilizer code for \(m\geq 2\) with generators \(\{XX\cdots X, ZZ\cdots Z\} \) acting on all \(2m\) physical qubits. + CSS stabilizer code for \(m\geq 2\) with generators \(\{XX\cdots X, ZZ\cdots Z\} \) acting on all \(2m\) physical qubits. Admits a basis such that each codeword is a superposition of a computational basis state labeled by a bitstring \(b\) and a state labeled by the negation of \(b\). Such states generalize the two-qubit Bell states and three-qubit GHz states and are often called \textit{(qubit) cat states} or \textit{poor-man's GHz states}. diff --git a/codes/quantum/qubits/small_distance/small/stab_4_2_2.yml b/codes/quantum/qubits/small_distance/small/stab_4_2_2.yml index 92555d077..c70337c79 100644 --- a/codes/quantum/qubits/small_distance/small/stab_4_2_2.yml +++ b/codes/quantum/qubits/small_distance/small/stab_4_2_2.yml @@ -40,13 +40,14 @@ features: A transversal \(CZ\) gate is realized by the rotation \(\sqrt{Z}\otimes\sqrt{Z}^{\dagger}\otimes\sqrt{Z}^{\dagger}\otimes\sqrt{Z}\).' fault_tolerance: - - 'Preparation of certain states, both magic and non-magic, along with transversal gates can be performed fault-tolerantly, but requires post-selection because the code cannot correct errors \cite{arxiv:1610.03507}.' + - 'Preparation of certain states, both magic and non-magic, along with transversal gates can be performed fault-tolerantly, but requires post-selection because the code cannot correct errors \cite{arxiv:1610.03507}. + Magic states can be injected into surface and color codes since the code is a small instance of both \cite{arxiv:2305.13581}.' realizations: - '\([[4,1,2]]\) subcode implemented using four-qubit graph state of photons \cite{arXiv:1404.5498}.' - 'Trapped-ion device by IonQ \cite{arXiv:1611.06946}.' - - 'Logical state preparation and flag-qubit error correction realized in superconducting-circuit devices by IBM \cite{arXiv:1705.09259,arXiv:2110.04285}.' + - 'Logical state preparation and flag-qubit error correction realized in superconducting-circuit devices by IBM \cite{arXiv:1705.09259,arXiv:1705.08957,arxiv:1806.02359,arXiv:2110.04285}.' - 'The subcode \(\{|\overline{00}\rangle,|\overline{10}\rangle\}\) \cite{arXiv:1912.09410} and \(\{|\overline{00}\rangle,|\overline{01}\rangle\}\) \cite{arXiv:2102.06132}, treated as a planar surface code, has been realized in superconducting-circuit devices.' - 'Logical gates between two copies of the subcode \(\{|\overline{10}\rangle,|\overline{11}\rangle\}\), interpreted as lattice surgery between planar surface codes, realized in superconducting circuits \cite{arXiv:2006.03071}.' - 'Logical gates for the \(\{|\overline{00}\rangle,|\overline{11}\rangle\}\) subcode, treated as a planar code, realized in superconducting circuits \cite{arXiv:2102.13071}.' @@ -59,6 +60,8 @@ relations: parents: - code_id: surface detail: '\([[4,2,2]]\) code is the smallest toric code.' + - code_id: color + detail: '\([[4,2,2]]\) code can be interpreted as a small rectangular color code on a trapezoidal patch of four qubits that makes up two-thirds of a hexagon \cite{arxiv:2212.00042,arxiv:2305.13581}.' - code_id: iceberg cousins: - code_id: rotated_surface @@ -75,7 +78,8 @@ relations: detail: '\([[4,1,2]]\) subcodes \(\{|\overline{00}\rangle,|\overline{10}\rangle\}\) \cite{arXiv:quant-ph/9704002} and \(\{|\overline{01}\rangle,|\overline{11}\rangle\}\) \cite{arxiv:quant-ph/0103042} approximately correct a single amplitude damping error.' - code_id: binomial detail: '\([[4,1,2]]\) subcode consisting of \(\{|\overline{00}\rangle\) and any other codeword reduces to the \(0,2,4\) binomial code when the basis labels in each codeword are written as in base-ten. Such a mapping can be generalized \cite{manual:{Linshu Li, private communication, 2018}}.' - + - code_id: heavy_hex + detail: 'Magic states prepared using the \([[4,1,2]]\) subcode can be injected into a largest heavy-hex code \cite{arxiv:2110.04285,arxiv:2305.13581}.' # Begin Entry Meta Information _meta: diff --git a/codes/quantum/qubits/small_distance/small/stab_5_1_3.yml b/codes/quantum/qubits/small_distance/small/stab_5_1_3.yml index d61b2579d..b3b71c56c 100644 --- a/codes/quantum/qubits/small_distance/small/stab_5_1_3.yml +++ b/codes/quantum/qubits/small_distance/small/stab_5_1_3.yml @@ -31,7 +31,10 @@ features: encoders: - 'Four CCZ, four Hadamard, and one \(Z\) gate (\cite{doi:10.1201/9781420012293}, Fig. 10.16).' - 'Four CNOT and five CPHASE gates \cite{arxiv:1509.01239}.' - transversal_gates: 'Pauli gates are transversal, along with a non-Pauli Hadamard-phase gate \(SH\) and three-qubit Clifford operation \(M_3\) \cite{arxiv:quant-ph/9705052}. These realize the \(2T\) binary tetrahedral subgroup of \(SU(2)\).' + transversal_gates: 'Pauli gates are transversal, along with a non-Pauli Hadamard-phase gate \(SH\) and three-qubit Clifford operation \(M_3\) \cite{arxiv:quant-ph/9702029,arxiv:quant-ph/9705052}. + These realize the \(2T\) binary tetrahedral subgroup of \(SU(2)\). + The code does not admit any non-Clifford transversal gates \cite{arXiv:quant-ph/9704043}. + All such gates can be interpreted as monodromies under a particular notion of parallel transport \cite[Exam. 6.4.2]{arxiv:1309.7062}.' general_gates: - 'Pieceable fault-tolerant CZ, CNOT, and CCZ gates \cite{arxiv:1603.03948}.' @@ -44,7 +47,7 @@ features: The depth of syndrome extraction circuits can be lowered by using past syndrome values \cite{arxiv:2305.00784}.' realizations: - - 'NMR: Implementation of perfect error correcting code on 5 spin subsystem of labeled crotonic acid for quantum network benchmarking \cite{arXiv:quant-ph/0101034}. Single-qubit logical gates \cite{arXiv:1208.4797}.' + - 'NMR: Implementation of perfect error correcting code on 5 spin subsystem of labeled crotonic acid for quantum network benchmarking \cite{arXiv:quant-ph/0101034}. Single-qubit logical gates \cite{arXiv:1208.4797}. Magic-state distillation using 7-qubit device \cite{arxiv:1103.2178}.' - 'Superconducting qubits \cite{arXiv:1907.04507}.' - 'Trapped-ion qubits: non-transversal CNOT gate between two logical qubits, including rounds of correction and fault-tolerant primitives such as flag qubits and pieceable fault tolerance, on a 12-qubit device by Quantinuum \cite{arxiv:2208.01863}.' - 'Nitrogen-vacancy centers in diamond: fault-tolerant single-qubit Clifford operations \cite{arxiv:2108.01646}.' diff --git a/codes/quantum/qubits/small_distance/small/stab_8_3_2.yml b/codes/quantum/qubits/small_distance/small/stab_8_3_2.yml index 55ab6ea4e..923ec04c7 100644 --- a/codes/quantum/qubits/small_distance/small/stab_8_3_2.yml +++ b/codes/quantum/qubits/small_distance/small/stab_8_3_2.yml @@ -20,6 +20,10 @@ features: fault_tolerance: - 'CCZ gate can be distilled in a fault-tolerant manner \cite{arxiv:2007.07929}.' +realizations: + - 'Trapped ions: one-qubit addition algorithm implemented fault-tolerantly on the Quantinuum H1-1 device \cite{arxiv:2309.09893}.' + - 'Superconducting circuits: fault-tolerant \(CZZ\) gate performed on IBM and IonQ devices \cite{arxiv:2309.08663}.' + relations: parents: - code_id: color diff --git a/codes/quantum/qubits/small_distance/small/steane.yml b/codes/quantum/qubits/small_distance/small/steane.yml index e24859161..2845533ae 100644 --- a/codes/quantum/qubits/small_distance/small/steane.yml +++ b/codes/quantum/qubits/small_distance/small/steane.yml @@ -18,9 +18,9 @@ description: | The parity-check matrix for the \([7,4,3]\) Hamming code is \begin{align} H = \left(\begin{matrix} - 1&0&0&1&0&1&1\\ - 0&1&0&1&1&0&1\\ - 0&0&1&0&1&1&1 + 0&0&0&1&1&1&1\\ + 0&1&1&0&0&1&1\\ + 1&0&1&0&1&0&1 \end{matrix}\right), \end{align} and the check matrix for the Steane code is therefore @@ -42,7 +42,7 @@ description: | protection: 'The Steane code is a distance 3 code. It detects errors on 2 qubits, corrects errors on 1 qubit.' realizations: - - 'Trapped-ion qubits: seven-qubit device in Blatt group \cite{arXiv:1403.5426}, ten-qubit QCCD device by Quantinuum \cite{arXiv:2107.07505} (see APS Physics Synopsys \cite{doi:10.1103/Physics.14.184}). Fault-tolerant universal two-qubit gate set by Monz group \cite{arxiv:2111.12654}. Logical CNOT gate between two logical qubits, including rounds of correction and fault-tolerant primitives such as flag qubits and pieceable fault tolerance, on a 20-qubit device by Quantinuum \cite{arxiv:2208.01863}; logical fidelity interval of the combined preparation-CNOT-measurement procedure was higher than that of the unencoded physical qubits.' + - 'Trapped-ion qubits: seven-qubit device in Blatt group \cite{arXiv:1403.5426}, ten-qubit QCCD device by Quantinuum \cite{arXiv:2107.07505} (see APS Physics Synopsis \cite{doi:10.1103/Physics.14.184}). Fault-tolerant universal two-qubit gate set by Monz group \cite{arxiv:2111.12654}. Logical CNOT gate between two logical qubits, including rounds of correction and fault-tolerant primitives such as flag qubits and pieceable fault tolerance, on a 20-qubit device by Quantinuum \cite{arxiv:2208.01863}; logical fidelity interval of the combined preparation-CNOT-measurement procedure was higher than that of the unencoded physical qubits.' - 'Rydberg atom arrays: Lukin group \cite{arXiv:2112.03923}.' features: diff --git a/codes/quantum/qubits/stabilizer/qldpc/algebraic/qcga.yml b/codes/quantum/qubits/stabilizer/qldpc/algebraic/qcga.yml new file mode 100644 index 000000000..31eeed1bd --- /dev/null +++ b/codes/quantum/qubits/stabilizer/qldpc/algebraic/qcga.yml @@ -0,0 +1,58 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: qcga +physical: qubits +logical: qubits + +name: 'Bravyi-Cross-Gambetta-Maslov-Rall-Yoder (BCGMRY) code' +short_name: 'BCGMRY code' +introduced: '\cite{arxiv:2308.07915}' + +description: | + One of several Abelian 2BGA codes which admit time-optimal syndrome measurement circuits that can be implemented in a two-layer + architecture, a generalization of the square-lattice architecture + optimal for the surface codes. + + The qubit connectivity graph is not quite a 2D grid and is instead decomposable into two planar subgraphs of degree three. + There are \(n\) \(X\) and \(Z\) check operators, with each one of weight six. + +features: + rate: 'When ancilla qubit overhead is included, the encoding rate surpasses that of the surface code. + A general \([[n,k,d]]\) BCGMRY code requires \(n\) ancilla qubits for encoding, meaning that its \textit{ancilla-added encoding rate} is \(k/2n\). + For example, the \([[144,12,12]]\) code has ancilla-added rate \(1/24\). + In contrast, the distance-13 surface code has ancilla-added rate \(1/338\).' + + fault_tolerance: + - 'Fault-tolerant state initialization using Tanner graph techniques \cite{arxiv:2110.10794} and an ancillary surface code \cite{arxiv:2308.07915}.' + + decoders: + - 'Syndrome extraction circuit requires seven layers of CNOT gates regardless of code length. BP-OSD decoder \cite{arxiv:1904.02703} has been extended \cite{arxiv:2308.07915} to account for measurement errors (i.e., the circuit-based noise model \cite{arxiv:0803.0272}).' + + threshold: + - '\(0.8\%\) for circuit-level noise under BP-OSD decoder \cite{arxiv:2308.07915} (cf. \cite{arxiv:0803.0272}).' + +# Parent is qubit_css because primary parent needs to be qubit +relations: + parents: + - code_id: qubit_css + - code_id: 2bga + detail: 'BCGMRY codes are Abelian 2BGA codes with stabilizer generators of weight 6.' + - code_id: qldpc + cousins: + - code_id: surface + detail: 'BCGMRY codes are on par with the surface code in terms of threshold, but admit a much higher ancilla-added encoding rate at the expense of having non-geometrically local weight-six check operators.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-16' + - user_id: LeonidPryadko + date: '2023-10-10' + - user_id: VictorVAlbert + date: '2023-10-04' diff --git a/codes/quantum/qubits/stabilizer/qldpc/check_product.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/check_product.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/check_product.yml rename to codes/quantum/qubits/stabilizer/qldpc/homological/check_product.yml diff --git a/codes/quantum/qubits/stabilizer/qldpc/fiber_bundle.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/fiber_bundle.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/fiber_bundle.yml rename to codes/quantum/qubits/stabilizer/qldpc/homological/fiber_bundle.yml diff --git a/codes/quantum/qubits/stabilizer/qldpc/homological/homological_product.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/homological_product.yml index e12766ebf..d03a69f88 100644 --- a/codes/quantum/qubits/stabilizer/qldpc/homological/homological_product.yml +++ b/codes/quantum/qubits/stabilizer/qldpc/homological/homological_product.yml @@ -10,8 +10,19 @@ logical: qubits name: 'Homological product code' introduced: '\cite{arXiv:1301.1363,arXiv:1311.0885}' +alternative_names: + - 'Tensor product code' + description: | - CSS code formulated using the homological product of two chain complexes (see \ref{topic:CSS-to-homology-correspondence}). Stub. + CSS code formulated using the homological product of two chain complexes (see \ref{topic:CSS-to-homology-correspondence}). + Given a classical code with parity-check matrix \(H\), the homological product yields two classical codes \(C_{X,Z}\) with parity-check matrices + \begin{align} + H_X=\begin{pmatrix}I\otimes H\\ + H\otimes I + \end{pmatrix}\quad\quad\text{and}\quad\quad H_Z=\begin{pmatrix}H\otimes I\\ + I\otimes H + \end{pmatrix}~. + \end{align} # In the single-sector homological product code, each base code is associated with the chain complex \( C_a \longrightarrow C_a\longrightarrow C_a\) such that the boundary operator satisfies \(\partial_{a}^{2}=0\). The image \(im\partial\) form the parity check space and any set of basis for this space can be viewed as Z-type stabilizer group generators. The same rule holds for \(im\partial^{T}\), which gives X-type stabilizer generators. Conversely, \(ker\partial\setminus im\partial\) (or \(\partial^{T}\)) correspond to all undetectable errors of Z-type(X-type). Finally, the Z-type logical operators are just elements in the homological group \(ker\partial/im\partial\) and X-type logical operators are just elements in the cohomological group \(ker\partial^{T}/im\partial^{T}\). diff --git a/codes/quantum/qubits/stabilizer/qldpc/iterated_ramanujan.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/iterated_ramanujan.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/iterated_ramanujan.yml rename to codes/quantum/qubits/stabilizer/qldpc/homological/iterated_ramanujan.yml diff --git a/codes/quantum/qubits/stabilizer/qldpc/ramanujan_tensor_product.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/ramanujan_tensor_product.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/ramanujan_tensor_product.yml rename to codes/quantum/qubits/stabilizer/qldpc/homological/ramanujan_tensor_product.yml diff --git a/codes/quantum/qubits/stabilizer/qldpc/xyz_product.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/xyz_product.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/xyz_product.yml rename to codes/quantum/qubits/stabilizer/qldpc/homological/xyz_product.yml diff --git a/codes/quantum/qubits/stabilizer/qldpc/dhlv.yml b/codes/quantum/qubits/stabilizer/qldpc/quantum_tanner/dhlv.yml similarity index 100% rename from codes/quantum/qubits/stabilizer/qldpc/dhlv.yml rename to codes/quantum/qubits/stabilizer/qldpc/quantum_tanner/dhlv.yml diff --git a/codes/quantum/qubits/stabilizer/qubit_css.yml b/codes/quantum/qubits/stabilizer/qubit_css.yml index 8c024c881..05f545bdf 100644 --- a/codes/quantum/qubits/stabilizer/qubit_css.yml +++ b/codes/quantum/qubits/stabilizer/qubit_css.yml @@ -69,6 +69,13 @@ description: | Usually, the chain complex \eqref{eq:chain} used in the construction comes from the chain complex associated with a cellulation of a manifold. When the manifold is a two-dimensional surface, its entire chain is used. Higher-dimensional manifolds allow for longer chain complexes, and one can use the three largest non-trivial vector spaces in its chain. + CSS codes saturate a type of \textit{error correction uncertainty relation} \cite[Thm. 3]{doi:10.1103/PhysRevLett.77.793}, which is a special case of an entropic uncertainty relation between a pair of bases \cite{doi:10.1007/BF01608825,doi:10.1103/PhysRevLett.50.631,doi:10.1103/PhysRevLett.60.1103}. + The code state \(\sum_{c\in C_{X}}|c\rangle\) can be expressed in terms of either basis states labeled by the code \(C_{X}\) or its dual, satisfying, with equality, the relation + \begin{align} + |C_{X}||C_{X}^{\perp}| \geq 2^{n}\,. + \end{align} + + # The reverse mapping is as follows \cite{arXiv:1311.0885,arXiv:1807.09783}. Given a CSS code with parity check matrices \(H_X\) and \(H_Z\), let both boundary operators be \(\partial = H_Z^TUH_X\) for an arbitrary invertible matrix \(U\). The fact that the stabilizer generators commute ensures that the boundary operator satisfies \(\partial^2=0\), yielding a chain complex. # Then, the normalizer of the stabilizers \({\mathsf{N}}(C_X)\) and \({\mathsf{N}}(C_Z)\) is \(\text{Ker}(\partial_2^T)\) and \(\text{Ker}(\partial_1)\), respectively. # Insert table linking manifold properties to QEC @@ -86,7 +93,9 @@ features: encoders: - 'Stabilizer measurement \cite{arxiv:1404.2495}.' - 'Clusterization, i.e., measurement of a particular cluster state \cite{arxiv:1607.02579}.' - transversal_gates: 'All CSS codes admit transversal Pauli and CNOT gates. Self-dual CSS codes admit a transversal Hadamard, completing the Clifford group. A CSS code is \textit{doubly-even} (\textit{triply-even}) if all \(X\)-type stabilizer generators have weight divisible by two (three); such codes yield a transversal \(S\) (\(T\)) gate \cite{arxiv:1509.03239}.' + transversal_gates: 'All CSS codes admit transversal Pauli and CNOT gates \cite{arXiv:quant-ph/9605011}. + Self-dual CSS codes admit a transversal Hadamard, completing the Clifford group. + A CSS code is \textit{doubly-even} (\textit{triply-even}) if all \(X\)-type stabilizer generators have weight divisible by four (eight); such codes yield a transversal \(S\) (\(T\)) gate \cite{arxiv:1509.03239}.' general_gates: - 'LDPC CSS code symmetries called \(XZ\)-dualities allow for fold-transversal gates, i.e., transversal gates followed by qubit permutations \cite{arxiv:2202.06647}.' - 'Generalized lattice surgery \cite{arxiv:2301.13738}.' @@ -139,6 +148,8 @@ relations: _meta: # Change log - most recent first changelog: + - user_id: ChrisPattison + date: '2023-08-12' - user_id: balopat date: '2023-02-28' - user_id: balopat diff --git a/codes/quantum/qubits/stabilizer/qubit_stabilizer.yml b/codes/quantum/qubits/stabilizer/qubit_stabilizer.yml index 59aa0f936..23b775f69 100644 --- a/codes/quantum/qubits/stabilizer/qubit_stabilizer.yml +++ b/codes/quantum/qubits/stabilizer/qubit_stabilizer.yml @@ -77,7 +77,7 @@ notes: relations: parents: - code_id: cws - detail: 'If the CWS set \( \mathcal{W} \) is an abelian group not containing \(-I\), then the CWS code is a stabilizer code.' + detail: 'If the CWS set \( \mathcal{W} \) is an Abelian group not containing \(-I\), then the CWS code is a stabilizer code.' - code_id: xp_stabilizer detail: 'The XP stabilizer formalism reduces to the Pauli formalism at \(N=2\).' - code_id: qudit_stabilizer diff --git a/codes/quantum/qubits/stabilizer/topological/color.yml b/codes/quantum/qubits/stabilizer/topological/color.yml index 6e108564c..53dc80726 100644 --- a/codes/quantum/qubits/stabilizer/topological/color.yml +++ b/codes/quantum/qubits/stabilizer/topological/color.yml @@ -10,7 +10,7 @@ logical: qubits name: 'Color code' introduced: '\cite{arxiv:quant-ph/0605138}' -description: 'A family of abelian topological \hyperref[code:css]{CSS stabilizer} codes defined on a \(D\)-dimensional lattice which satisfies two properties: The lattice is (1) a homogeneous simplicial \(D\)-complex obtained as a triangulation of the interior of a \(D\)-simplex and (2) is \(D+1\)-colorable. Qubits are placed on the \(D\)-simplices and generators are supported on suitable simplices \cite{doi:10.7907/059V-MG69}. For 2-dimensional color code, the lattice must be such that it is 3-valent and has 3-colorable faces, such as a honeycomb lattice. The qubits are placed on the vertices and two stabilizer generators are placed on each face \cite{arXiv:1311.0277}.' +description: 'A family of Abelian topological \hyperref[code:css]{CSS stabilizer} codes defined on a \(D\)-dimensional lattice which satisfies two properties: The lattice is (1) a homogeneous simplicial \(D\)-complex obtained as a triangulation of the interior of a \(D\)-simplex and (2) is \(D+1\)-colorable. Qubits are placed on the \(D\)-simplices and generators are supported on suitable simplices \cite{doi:10.7907/059V-MG69}. For 2-dimensional color code, the lattice must be such that it is 3-valent and has 3-colorable faces, such as a honeycomb lattice. The qubits are placed on the vertices and two stabilizer generators are placed on each face \cite{arXiv:1311.0277}.' protection: 'As with the surface code, the code distance depends on the specific kind of lattice used to define the code. More precisely, the distance depends on the homology of logical string operators \cite{arXiv:1311.0277}.' @@ -69,7 +69,7 @@ relations: detail: 'The 2D color code has been extended to Galois qudits.' - code_id: surface detail: 'The 3D color code is equivalent to multiple decoupled copies of the 2D surface code \cite{arxiv:1007.4601,arxiv:1503.02065,arXiv:1804.00866}. - Conversely, the 2D color code can \hyperref[topic:code-switching]{condense} to form the 2D surface code in nine different ways, i.e., by adding two body hopping terms along one of its three hexagonal directions to the stabilizer group and then taking the center of the resulting nonabelian group \cite{arxiv:2212.00042}.' + Conversely, the 2D color code can \hyperref[topic:code-switching]{condense} to form the 2D surface code in nine different ways, i.e., by adding two body hopping terms along one of its three hexagonal directions to the stabilizer group and then taking the center of the resulting non-Abelian group \cite{arxiv:2212.00042}.' - code_id: higher_dimensional_surface detail: 'The color code on a \(D\)-dimensional closed manifold is equivalent to multiple decoupled copies of the \(D-1\)-dimensional surface code \cite{arxiv:1007.4601,arxiv:1503.02065,arXiv:1804.00866}.' - code_id: quantum_triorthogonal diff --git a/codes/quantum/qubits/stabilizer/topological/fracton/haah_cubic.yml b/codes/quantum/qubits/stabilizer/topological/fracton/haah_cubic.yml index 5f0ac91e6..528b3764e 100644 --- a/codes/quantum/qubits/stabilizer/topological/fracton/haah_cubic.yml +++ b/codes/quantum/qubits/stabilizer/topological/fracton/haah_cubic.yml @@ -11,7 +11,12 @@ name: 'Haah cubic code' introduced: '\cite{arXiv:1101.1962}' description: | - Class of stabilizer codes on a length-\(L\) cubic lattice with one or two qubits per site. We also require that the stabilizer group \(\mathsf{S}\) is translation invariant and generated by two types of operators with support on a cube. In the non-CSS case, these two are related by spatial inversion. For CSS codes, we require that the product of all corner operators is the identity. We lastly require that there are no non-trival ''string operators'', meaning that single-site operators are a phase, and any period one logical operator \(l \in \mathsf{S}^{\perp}\) is just a phase. Haah showed in his original construction that there is exactly one non-CSS code of this form, and 17 CSS codes \cite{arXiv:1101.1962}. The non-CSS code is labeled code 0, and the rest are numbered from 1 - 17. Codes 1-4, 7, 8, and 10 do not have string logical operators \cite{arXiv:1101.1962,arXiv:1908.08049}. + Class of stabilizer codes on a length-\(L\) cubic lattice with one or two qubits per site. We also require that the stabilizer group \(\mathsf{S}\) is translation invariant and generated by two types of operators with support on a cube. + + In the non-CSS case, these two are related by spatial inversion. For CSS codes, we require that the product of all corner operators is the identity. We lastly require that there are no non-trival ''string operators'', meaning that single-site operators are a phase, and any period one logical operator \(l \in \mathsf{S}^{\perp}\) is just a phase. + + Haah showed in his original construction that there is exactly one non-CSS code of this form, and 17 CSS codes \cite{arXiv:1101.1962}. The non-CSS code is labeled code 0, and the rest are numbered from 1 - 17. Codes 1-4, 7, 8, and 10 do not have string logical operators \cite{arXiv:1101.1962,arXiv:1908.08049}. + Encodings using geometries with boundaries as well as lattice defects have been studied \cite{arxiv:2308.00138}. Straightforward generalizations of the above codes exist to modular qudits, oscillators, and rotors \cite{manual:{J. Haah, Two generalizations of the cubic code model, \href{https://online.kitp.ucsb.edu/online/qinfo_c17/haah/}{KITP Conference: Frontiers of Quantum Information Physics, UCSB, Santa Barbara, CA.}},arXiv:1709.04460}. #(\(l_{\infty}\) metric) diff --git a/codes/quantum/qubits/stabilizer/topological/matching.yml b/codes/quantum/qubits/stabilizer/topological/matching.yml index c04ff4d28..bc1cc7e74 100644 --- a/codes/quantum/qubits/stabilizer/topological/matching.yml +++ b/codes/quantum/qubits/stabilizer/topological/matching.yml @@ -10,7 +10,7 @@ logical: qubits name: 'Matching code' introduced: '\cite{arxiv:1501.07779}' -description: 'Member of a class of qubit stabilizer codes based on the abelian phase of the Kitaev honeycomb model.' +description: 'Member of a class of qubit stabilizer codes based on the Abelian phase of the Kitaev honeycomb model.' realizations: - 'Braiding of defects has been demonstrated for a five-qubit version of code \cite{arxiv:1609.07774}.' diff --git a/codes/quantum/qubits/stabilizer/topological/surface/higher_dim_surface/3d_surface.yml b/codes/quantum/qubits/stabilizer/topological/surface/higher_dim_surface/3d_surface.yml index 6a257bb8f..e2fa4ab8a 100644 --- a/codes/quantum/qubits/stabilizer/topological/surface/higher_dim_surface/3d_surface.yml +++ b/codes/quantum/qubits/stabilizer/topological/surface/higher_dim_surface/3d_surface.yml @@ -26,7 +26,9 @@ relations: parents: - code_id: higher_dimensional_surface - code_id: quantum_double_abelian - + cousins: + - code_id: single_shot + detail: 'Some 3D surface codes are single-shot codes \cite{arxiv:2307.08118}.' # Begin Entry Meta Information _meta: diff --git a/codes/quantum/qubits/stabilizer/topological/surface/two_dim/surface/surface.yml b/codes/quantum/qubits/stabilizer/topological/surface/two_dim/surface/surface.yml index 19f9f7519..ad2c4fc8b 100644 --- a/codes/quantum/qubits/stabilizer/topological/surface/two_dim/surface/surface.yml +++ b/codes/quantum/qubits/stabilizer/topological/surface/two_dim/surface/surface.yml @@ -15,7 +15,7 @@ alternative_names: - 'Kitaev toric code' description: | - A family of abelian topological \hyperref[code:css]{CSS stabilizer} codes + A family of Abelian topological \hyperref[code:css]{CSS stabilizer} codes whose generators are few-body \(X\)-type and \(Z\)-type Pauli strings associated to the stars and plaquettes, respectively, of a cellulation of a two-dimensional surface (with a qubit located at each edge of the @@ -133,7 +133,7 @@ features: - '\(0.35\%\) for circuit-level independent \(X,Z\) noise under optimal decoder \cite{arxiv:1609.06373}.' - 'Phenomenological noise: \(3.3\%\) for square tiling \cite{arXiv:quant-ph/0401101}.' - 'Phenomenological noise model for the 2D toric code: \(2.93(2)\%\) using several rounds of syndrome measurement \cite{arxiv:quant-ph/0207088}.' - - '\(0.5-2.9\%\) for various noise models \cite{arxiv:0811.0464} (see also Refs. \cite{arXiv:quant-ph/0207088,arXiv:1311.5003}).' + - '\(0.5-2.9\%\) for various noise circuit-level noise models \cite{arxiv:0803.0272,arxiv:0811.0464} (see also Refs. \cite{arXiv:quant-ph/0207088,arXiv:1311.5003}).' @@ -145,11 +145,14 @@ notes: - | Tutorials from error-correction perspective by - \href{https://boulderschool.yale.edu/2018/boulder-school-2018-lecture-notes}{J. Haah} + \href{https://boulderschool.yale.edu/2023/boulder-school-2023-lecture-notes}{M. Levin + and A. Kubica} and \href{https://boulderschool.yale.edu/2018/boulder-school-2018-lecture-notes}{J. Haah} and condensed-matter perspective by \href{https://boulderschool.yale.edu/2016/boulder-school-2016-lecture-notes}{M. Levin and C. Nayak}. + - 'Review of surface code decoders \cite{arxiv:2307.14989}.' + realizations: - | One cycle of syndrome readout on 19-qubit planar and 24-qubit toric codes realized in two-dimensional Rydberg atomic arrays \cite{arxiv:2112.03923}. diff --git a/codes/quantum/qubits/subsystem/subsystem_quantum_parity.yml b/codes/quantum/qubits/subsystem/subsystem_quantum_parity.yml index 470f426da..823ade6c9 100644 --- a/codes/quantum/qubits/subsystem/subsystem_quantum_parity.yml +++ b/codes/quantum/qubits/subsystem/subsystem_quantum_parity.yml @@ -36,7 +36,7 @@ description: | # \end{align} # Next, consider a square lattice of size \(n \times n\) with a qubit located at each vertex, where \(n = n_1 + n_2\). # Let \(\mathsf{T}_1\) (\(\mathsf{T}_2\)) be the stabilizer group consisting of \(\mathsf{S}_1\) (\(\mathsf{S}_2\)) operators acting on all columns (rows) of the lattice. -# Then, \(\mathsf{T} = \langle\mathsf{T}_1,\mathsf{T}_2\rangle\) is a nonabelian group from which we can construct an Abelian invariant subgroup \(\mathsf{S}\). +# Then, \(\mathsf{T} = \langle\mathsf{T}_1,\mathsf{T}_2\rangle\) is a non-Abelian group from which we can construct an Abelian invariant subgroup \(\mathsf{S}\). # This subgroup is generated by \(\mathsf{S}_1\) and \(\mathsf{S}_2\) for all stabilizer codeword combinations in both rows and columns. # By construction, \(\mathsf{S}\) is a stabilizer with \((n_1 - k_1)k_2\) stabilizer generators (i.e., the tensor product of \(I\) and \(Z\) operators), and \((n_2 - k_2)k_1\) stabilizer generators (i.e., the tensor product of \(I\) and \(X\) operators). diff --git a/codes/quantum/qubits/subsystem/subsystem_stabilizer.yml b/codes/quantum/qubits/subsystem/subsystem_stabilizer.yml index a5f73dace..5f87adaa9 100644 --- a/codes/quantum/qubits/subsystem/subsystem_stabilizer.yml +++ b/codes/quantum/qubits/subsystem/subsystem_stabilizer.yml @@ -40,7 +40,7 @@ features: notes: - - 'When the gauge group \( \mathsf{G} \) is abelian, the above is reduced to the standard stabilizer formalism.' + - 'When the gauge group \( \mathsf{G} \) is Abelian, the above is reduced to the standard stabilizer formalism.' relations: parents: diff --git a/codes/quantum/qubits/subsystem/topological/kitaev_honeycomb.yml b/codes/quantum/qubits/subsystem/topological/kitaev_honeycomb.yml index 19d5308be..27428c7be 100644 --- a/codes/quantum/qubits/subsystem/topological/kitaev_honeycomb.yml +++ b/codes/quantum/qubits/subsystem/topological/kitaev_honeycomb.yml @@ -11,14 +11,14 @@ name: 'Kitaev honeycomb code' introduced: '\cite{arxiv:cond-mat/0506438,arxiv:1701.05052}' description: | - Code whose logical subspace is labeled by different fusion outcomes of Ising anyons present in the nonabelian topological phase of the Kitaev honeycomb model \cite{arXiv:cond-mat/0506438}. - Each logical qubit is constructed out of four Majorana operators, which admit braiding-based gates due to their nonabelian statistics and which can be used for topological quantum computation. + Code whose logical subspace is labeled by different fusion outcomes of Ising anyons present in the non-Abelian topological phase of the Kitaev honeycomb model \cite{arXiv:cond-mat/0506438}. + Each logical qubit is constructed out of four Majorana operators, which admit braiding-based gates due to their non-Abelian statistics and which can be used for topological quantum computation. - The Kitaev honeycomb model can be formulated as a qubit subsystem stabilizer code based on the \(\mathbb{Z}_2^{(1)}\) abelian anyon theory, which is non-chiral and non-modular \cite[Sec. 7.3]{arxiv:2211.03798}. + The Kitaev honeycomb model can be formulated as a qubit subsystem stabilizer code based on the \(\mathbb{Z}_2^{(1)}\) Abelian anyon theory, which is non-chiral and non-modular \cite[Sec. 7.3]{arxiv:2211.03798}. The model realizes all anyon theories of the 16-fold way, i.e., all minimal modular extensions of the \(\mathbb{Z}_2^{(1)}\) anyon theory \cite{arxiv:cond-mat/0506438}\cite[Footnote 25]{arXiv:2211.03798}. - The Kitaev honeycomb code utilizes the nonabelian Ising-anyon topological order of the Kitaev honeycomb model \cite{arXiv:cond-mat/0506438} (a.k.a. \(p+ip\) superconducting phase \cite{arxiv:1104.5485}) as well as abelian \(\mathbb{Z}_2\) topological order. - More generally, the Hamiltonian realizes all anyon theories of the 16-fold way, i.e., all minimal modular extensions of the \(\mathbb{Z}_2^{(1)}\) abelian non-chiral non-modular anyon theory \cite{arxiv:cond-mat/0506438}\cite[Footnote 25]{arXiv:2211.03798}. + The Kitaev honeycomb code utilizes the non-Abelian Ising-anyon topological order of the Kitaev honeycomb model \cite{arXiv:cond-mat/0506438} (a.k.a. \(p+ip\) superconducting phase \cite{arxiv:1104.5485}) as well as Abelian \(\mathbb{Z}_2\) topological order. + More generally, the Hamiltonian realizes all anyon theories of the 16-fold way, i.e., all minimal modular extensions of the \(\mathbb{Z}_2^{(1)}\) Abelian non-chiral non-modular anyon theory \cite{arxiv:cond-mat/0506438}\cite[Footnote 25]{arXiv:2211.03798}. features: encoders: @@ -32,7 +32,7 @@ relations: - code_id: majorana_stab detail: 'While the Kitaev honeycomb model is bosonic, a fermionic mapping is useful for solving and understanding the model. Logical subspace of the Kitaev honeycomb code can be formulated as a joint eigenspace of certain Majorana operators \cite[Sec. 4.1]{arxiv:1701.05052}. Logical Paulis are also be constructed out of Majorana operators.' - code_id: qudit_znone - detail: 'The Kitaev honeycomb model can be formulated as a qubit subsystem stabilizer code based on the \(\mathbb{Z}_{q=2}^{(1)}\) abelian anyon theory, which is non-chiral and non-modular \cite[Sec. 7.3]{arxiv:2211.03798}.' + detail: 'The Kitaev honeycomb model can be formulated as a qubit subsystem stabilizer code based on the \(\mathbb{Z}_{q=2}^{(1)}\) Abelian anyon theory, which is non-chiral and non-modular \cite[Sec. 7.3]{arxiv:2211.03798}.' cousins: - code_id: surface detail: 'The Kitaev honeycomb model can be formulated as a qubit subsystem stabilizer code. diff --git a/codes/quantum/qudits/qudit_stabilizer.yml b/codes/quantum/qudits/qudit_stabilizer.yml index 31c1d48dc..f55df058d 100644 --- a/codes/quantum/qudits/qudit_stabilizer.yml +++ b/codes/quantum/qudits/qudit_stabilizer.yml @@ -17,7 +17,7 @@ description: | Each code can be represented by a \textit{check matrix} (a.k.a. \textit{stabilizer generator matrix}) \(H=(A|B)\), where each row \((a|b)\) is the \(q\)-ary symplectic representation of a stabilizer generator. The check matrix can be brought into standard form via Gaussian elimination \cite{arxiv:1101.1519}. - One can switch between stabilizer codes by appending another abelian subgroup of the Pauli group to the stabilizer group and taking the center of the resulting larger group. + One can switch between stabilizer codes by appending another Abelian subgroup of the Pauli group to the stabilizer group and taking the center of the resulting larger group. \begin{defterm}{Code switching} \label{topic:code-switching} Code switching is a map between stabilizer codes that is done using a stabilizer group \(\mathsf{F}\) of the \(n\)-qudit Pauli group, @@ -25,7 +25,8 @@ description: | \mathsf{S}\to\mathsf{N}_{\left\langle \mathsf{S},\mathsf{F}\right\rangle }\left(\mathsf{F}\right)~, \end{align} where \(\mathsf{Z}\) denotes taking the center of a group. - In the context of abelian topological stabilizer codes, code switching implements \textit{anyon condensation} of any anyons represented by operators in the group \(\mathsf{F}\). + Code switching may not preserve the logical information and instead implement logical measurements; conditions on \(\mathsf{S}\) and \(\mathsf{F}\) such that qubit stabilizer code switching preserves logical information are derived in \cite[Prop. II.1]{arxiv:2304.01277}. + In the context of Abelian topological stabilizer codes, code switching implements \textit{anyon condensation} of any anyons represented by operators in the group \(\mathsf{F}\). \end{defterm} diff --git a/codes/quantum/qudits/subsystem/qudit_subsystem_stabilizer.yml b/codes/quantum/qudits/subsystem/qudit_subsystem_stabilizer.yml index 4fb79ee6d..bd4a3c48b 100644 --- a/codes/quantum/qudits/subsystem/qudit_subsystem_stabilizer.yml +++ b/codes/quantum/qudits/subsystem/qudit_subsystem_stabilizer.yml @@ -28,7 +28,7 @@ description: | One can gauge fix \cite{arxiv:quant-ph/0508131} an Abelian subgroup of the gauge group by adding it to the stabilizer group. \begin{defterm}{Gauge fixing} \label{topic:gauge-fixing} - Gauge fixing is a map between subsystem codes that is done using an abelian subgroup \(\mathsf{F}\subseteq\mathsf{G}\), + Gauge fixing is a map between subsystem codes that is done using an Abelian subgroup \(\mathsf{F}\subseteq\mathsf{G}\), \begin{align} \begin{split} \mathsf{S}&\to\left\langle \mathsf{S},\mathsf{F}\right\rangle \\ @@ -50,6 +50,7 @@ description: | \mathsf{G}&\to\left\langle \mathsf{G},\mathsf{F}\right\rangle ~. \end{split} \end{align} + The stabilizer group of the output subsystem code is a subgroup of that of the input code, \(\mathsf{Z}\left(\left\langle \mathsf{G},\mathsf{F}\right\rangle \right)\subseteq\mathsf{Z}\left(\mathsf{G}\right)\). When \(\mathsf{F}\) is a subgroup of the logical Pauli group, this is also called \textit{gauging}. If \(\mathsf{F}\) is itself a Pauli group of \(m\) logical qubits of the original subsystem code, then gauging those qubits is equivalent to treating them as gauge qubits. \end{defterm} diff --git a/codes/quantum/qudits/subsystem/topological/topological_abelian.yml b/codes/quantum/qudits/subsystem/topological/topological_abelian.yml index 04c5d7e8f..40453648b 100644 --- a/codes/quantum/qudits/subsystem/topological/topological_abelian.yml +++ b/codes/quantum/qudits/subsystem/topological/topological_abelian.yml @@ -11,7 +11,7 @@ name: 'Abelian topological code' #introduced: '' description: | - Code whose codewords realize topological order associated with an Abelian anyon theory, equivalently, a unitary braided fusion category which is an Abelian group under fusion \cite{arxiv:2004.12048}. + Code whose codewords realize topological order associated with an Abelian anyon theory, equivalently, a unitary braided fusion category which is also an Abelian group under fusion \cite{arxiv:2004.12048}. A theory is defined by an Abelian group \(A\) of anyon types whose multiplication relations define the fusion rules, and a set of exchange statistics \(\theta(a)\in U(1)\) obtained by exchanging two anyons of type \(a\in A\). The exchange statistics in turn define braiding relations, @@ -20,7 +20,7 @@ description: | \end{align} between all anyon pairs \(a,b\). - All 2D abelian topological orders can be understood within the subsystem stabilizer formalism \cite{arxiv:2211.03798}. + All 2D Abelian topological orders can be understood within the subsystem stabilizer formalism \cite{arxiv:2211.03798}. As such, many of the operations one can perform on such codes have both a stabilizer and a topological-phase interpretation. Stabilizer generators of 2D topological codes acting on 1D loops of qubits can be interpreted as one-form symmetries of the underlying phase realized by the code. Identification of an anyon \(a\) with the vacuum is equivalent to adding string excitation operators corresponding to \(a\) to the stabilizer group and taking the center to get another stabilizer group. @@ -45,17 +45,17 @@ features: relations: parents: - code_id: qudit_subsystem_stabilizer - detail: 'All Abelian topological orders can be realized as modular-qudit subsystem stabilizer codes by starting with an abelian quantum double model (slightly different from that of Ref. \cite{arxiv:2112.11394}) along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:gauging-out]{gauging out} certain bosonic anyons \cite{arxiv:2211.03798}. + detail: 'All Abelian topological orders can be realized as modular-qudit subsystem stabilizer codes by starting with an Abelian quantum double model (slightly different from that of Ref. \cite{arxiv:2112.11394}) along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:gauging-out]{gauging out} certain bosonic anyons \cite{arxiv:2211.03798}. The stabilizer generators of the new subsystem code may no longer be geometrically local.' - code_id: topological detail: 'All Abelian topological orders can be realized as modular-qudit subsystem stabilizer codes \cite{arxiv:2211.03798}. - Nonabelian topological orders are purported not to be realizable with Pauli stabilizer codes \cite{arxiv:1605.03601}.' + Non-Abelian topological orders are purported not to be realizable with Pauli stabilizer codes \cite{arxiv:1605.03601}.' cousins: - code_id: hamiltonian detail: 'Subsystem stabilizer code Hamiltonians described by an Abelian anyon theory do not always realize the corresponding anyonic topological order in their ground-state subspace and may exhibit a rich phase diagram. - For example, the Kitaev honeycomb Hamiltonian admits the anyon theories of the 16-fold way, i.e., all minimal modular extensions of the \(\mathbb{Z}_2^{(1)}\) abelian non-chiral non-modular anyon theory \cite{arxiv:cond-mat/0506438}\cite[Footnote 25]{arXiv:2211.03798}.' + For example, the Kitaev honeycomb Hamiltonian admits the anyon theories of the 16-fold way, i.e., all minimal modular extensions of the \(\mathbb{Z}_2^{(1)}\) Abelian non-chiral non-modular anyon theory \cite{arxiv:cond-mat/0506438}\cite[Footnote 25]{arXiv:2211.03798}.' - code_id: walker_wang - detail: 'Any abelian anyon theory \(A\) can be realized at one of the surfaces of a 3D Walker-Wang model whose underlying theory is an abelian TQD containing \(A\) as a subtheory \cite{arxiv:1907.02075,arxiv:2202.05442}\cite[Appx. H]{arxiv:2211.03798}.' + detail: 'Any Abelian anyon theory \(A\) can be realized at one of the surfaces of a 3D Walker-Wang model whose underlying theory is an Abelian TQD containing \(A\) as a subtheory \cite{arxiv:1907.02075,arxiv:2202.05442}\cite[Appx. H]{arxiv:2211.03798}.' # Begin Entry Meta Information diff --git a/codes/quantum/qudits/topological/quantum_double_abelian.yml b/codes/quantum/qudits/topological/quantum_double_abelian.yml index dd035b623..b4c737a67 100644 --- a/codes/quantum/qudits/topological/quantum_double_abelian.yml +++ b/codes/quantum/qudits/topological/quantum_double_abelian.yml @@ -12,8 +12,8 @@ introduced: '\cite{arXiv:quant-ph/9707021}' description: | Modular-qudit stabilizer code whose codewords realize 2D modular gapped Abelian topological order with trivial cocycle. - The corresponding anyon theory is defined by an abelian group. - All such codes can be realized by a stack of modular-qudit surface codes because all abelian groups are Kronecker products of cyclic groups. + The corresponding anyon theory is defined by an Abelian group. + All such codes can be realized by a stack of modular-qudit surface codes because all Abelian groups are Kronecker products of cyclic groups. protection: @@ -24,11 +24,11 @@ protection: relations: parents: - code_id: tqd_abelian - detail: 'The anyon theory corresponding to abelian quantum double codes is defined by an abelian group and trivial cocycle. - All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}. - Upon gauging, Type-I and II \(\mathbb{Z}_2^3\) TQDs realize the same topological order as certain abelian quantum double models \cite{arxiv:hep-th/9511195,arxiv:1508.03468,arxiv:2112.12757}.' + detail: 'The anyon theory corresponding to Abelian quantum double codes is defined by an Abelian group and trivial cocycle. + All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an Abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}. + Upon gauging, Type-I and II \(\mathbb{Z}_2^3\) TQDs realize the same topological order as certain Abelian quantum double models \cite{arxiv:hep-th/9511195,arxiv:1508.03468,arxiv:2112.12757}.' - code_id: quantum_double - detail: 'The anyon theory corresponding to (abelian) quantum double codes is defined by an (abelian) group.' + detail: 'The anyon theory corresponding to (Abelian) quantum double codes is defined by an (Abelian) group.' # Begin Entry Meta Information diff --git a/codes/quantum/qudits/topological/tqd_abelian.yml b/codes/quantum/qudits/topological/tqd_abelian.yml index db0a84f17..b34a259b5 100644 --- a/codes/quantum/qudits/topological/tqd_abelian.yml +++ b/codes/quantum/qudits/topological/tqd_abelian.yml @@ -12,24 +12,24 @@ introduced: '\cite{arxiv:1008.0654,arxiv:1211.3695,arxiv:2107.13091}' description: | Modular-qudit stabilizer code whose codewords realize 2D modular gapped Abelian topological order. - The corresponding anyon theory is defined by an abelian group and a Type-III group cocycle that can be decomposed as a product of Type-I and Type-II group cocycles; see \cite[Sec. IV.A]{arXiv:2112.11394}. + The corresponding anyon theory is defined by an Abelian group and a Type-III group cocycle that can be decomposed as a product of Type-I and Type-II group cocycles; see \cite[Sec. IV.A]{arXiv:2112.11394}. relations: parents: - code_id: qudit_stabilizer - detail: 'All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}.' + detail: 'All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an Abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}.' - code_id: topological_abelian detail: 'Abelian TQDs realize all modular gapped Abelian topological orders \cite{arxiv:2112.11394}. - Conversely, every abelian anyon theory is a subtheory of some TQD \cite[Sec. 6.2]{arxiv:2211.03798}. - Any abelian anyon theory \(A\) can be realized at one of the surfaces of a 3D Walker-Wang model whose underlying theory is an abelian TQD containing \(A\) as a subtheory \cite{arxiv:1907.02075,arxiv:2202.05442}\cite[Appx. H]{arxiv:2211.03798}.' + Conversely, every Abelian anyon theory is a subtheory of some TQD \cite[Sec. 6.2]{arxiv:2211.03798}. + Any Abelian anyon theory \(A\) can be realized at one of the surfaces of a 3D Walker-Wang model whose underlying theory is an Abelian TQD containing \(A\) as a subtheory \cite{arxiv:1907.02075,arxiv:2202.05442}\cite[Appx. H]{arxiv:2211.03798}.' - code_id: tqd - detail: 'The anyon theory corresponding to (abelian) TQD codes is defined by an (abelian) group and a Type III cocycle.' + detail: 'The anyon theory corresponding to (Abelian) TQD codes is defined by an (Abelian) group and a Type III cocycle.' cousins: - code_id: quantum_double_dihedral detail: 'Upon gauging, a Type-III \(\mathbb{Z}_2^3\) TQD realizes the same topological order as the \(G=D_4\) quantum double model \cite{arxiv:hep-th/9511195,arxiv:1508.03468,arxiv:2112.12757}.' - code_id: double_semion - detail: 'All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}.' + detail: 'All Abelian TQD codes can be realized as modular-qudit stabilizer codes by starting with an Abelian quantum double model along with a family of Abelian TQDs that generalize the double semion anyon theory and \hyperref[topic:code-switching]{condensing} certain bosonic anyons \cite{arxiv:2211.03798}.' # Begin Entry Meta Information diff --git a/codes/quantum/qudits_galois/qldpc/algebraic/2bga.yml b/codes/quantum/qudits_galois/qldpc/algebraic/2bga.yml new file mode 100644 index 000000000..5aaf5b6de --- /dev/null +++ b/codes/quantum/qudits_galois/qldpc/algebraic/2bga.yml @@ -0,0 +1,151 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: 2bga +physical: galois +logical: galois + +name: 'Two-block group-algebra (2BGA) codes' +short_name: '2BGA' +introduced: '\cite{arXiv:2306.16400}' + +description: | + 2BGA codes are the smallest \hyperref[code:lifted_product]{LP codes} + LP\((a,b)\), constructed from a pair of \hyperref[topic:group-algebra]{group algebra} elements + \(a,b\in \mathbb{F}_q[G]\), where \(G\) is a finite group, and \(\mathbb{F}_q\) is a Galois field. + For a group of order \(\ell\), we get a 2BGA code of length + \(n=2\ell\). + A 2BGA code for an Abelian group is called an \textit{Abelian 2BGA code}. + + An \(\mathbb{F}_q\)-linear code isomorphic to a \(Z\)-part of the 2BGA code LP\((a,b)\) can be most + naturally defined as a linear space of pairs + \((u,v)\in \mathbb{F}_q[G]\times \mathbb{F}_q[G]\) such that + \begin{align} + a u+v b=0, + \end{align} + with any two pairs \((u,v)\) and \((u',v')\) such that \(u'=u+w b\) + and \(v'=v-aw\) identified. The order in the products is relevant + when the group is non-Abelian. + + For example, consider the + alternating group \(G=A_4=T\), also known as the rotation group of a + regular tetrahedron, + \begin{align} + T=\langle x,y|x^3=(yx)^3=y^2=1\rangle,\quad |T|=12, + \end{align} and the + binary algebra \(\mathbb{F}_2[T]\). Select \(a=1+x+y+x^{-1}yx\) + and \(b=1+x+y+yx\) to get an \emph{essentially non-Abelian} 2BGA code + LP\([a,b]\) with parameters \([[24,5,3]]_2\) \cite{arXiv:2306.16400}. + +# \subsection{Examples} +# +# 1. GB codes: For the cyclic group \(\mathbb{Z}_{\ell}\equiv \langle x|x^\ell=1\rangle \), +# any element \(a\) of the \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q[\mathbb{Z}_{\ell}]\) can be seen as a +# polynomial \(a(x)\in \mathbb{F}_q[x]\) over the group generator \(x\), where the +# polynomial degree deg\(a(x)<\ell\). The 2BGA code LP\((a,b)\) is just +# a generalized bicycle code GB\([a(x),b(x)]\) constructed from the +# polynomials \(a(x)\) and \(b(x)\) corresponding to +# \(a,b\in \mathbb{F}_q[\mathbb{Z}_{\ell}]\). +# +# 2. Multi-dimensional quantum quasi-cyclic codes: Any finite Abelian +# group can be written as a direct product of several cyclic groups, +# e.g., \(G=C_{m_1}\times C_{m_2}\times \ldots C_{m_D}\) for a product +# of \(D\) cyclic groups, which is equivalent to a representation +# \begin{align} +# G=\langle x_1,\ldots,x_D|x_1^{m_1}=x_2^{m_2}=\ldots=x_D^{m_D}\rangle. +# \end{align} +# Respectively, an element of the \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q[G]\), where \(\mathbb{F}_q\) is +# a finite field, can be written as a \(D\)-variate polynomial in +# \(\mathbb{F}_q[x_1,x_2,\ldots,x_D]\), with the degree of the generator \(x_j\) of +# order \(m_j\) not exceeding \(m_j-1\). Thus, any Abelian 2BGA code +# can be thought of as a multi-dimensional index-two quasi-cyclic code. +# This includes toric codes and Haah's cubic codes. An equivalent +# construction in terms of Kronecker products of circulant matrices was +# introduced in \cite{arXiv:1212.6703}. +# Related higher-dimensional +# quasi-cyclic and convolutional quantum codes have been constructed in +# \cite{arxiv:2305.00137}. +# +# 3. Several Abelian 2BGA codes with stabilizer generators of weight 6 +# have been constructed by Bravyi et al. \cite{arXiv:2308.07915}. These +# are two-dimensional QC codes which admit time-optimal syndrome +# measurement circuits which can be implemented in a two-layer +# architecture, a generalization of the square-lattice architecture +# optimal for the surface codes. Circuit simulations show a threshold +# of approximately \(0.8\%\). +# +# 4. Explicit example from \cite{arXiv:2306.16400}: Consider the +# alternating group \(A_4\), also known as the rotation group of a +# regular tetrahedron, +# \begin{align} +# T=\langle x,y|x^3=(yx)^3=y^2=1\rangle,\quad |T|=12, +# \end{align} and the +# binary algebra \(\mathbb{F}_q_2[T]\). Select \(a=1+x+y+x^{-1}yx\) +# and \(b=1+x+y+yx\) to get an \emph{essentially non-Abelian} 2BGA code +# LP\([a,b]\) with parameters \([[24,5,3]]_2\) \cite{arXiv:2306.16400}. + +protection: | + Some upper and lower bounds on parameters and many examples of 2BGA codes are given in Ref. \cite{arXiv:2306.16400}. + The code dimension \(k\) for Abelian 2BGA codes is always even \cite{manual:{Kalachev, G. V., and Panteleev, P. A. (2020). On the minimum distance in one class of quantum LDPC codes. Intelligent systems. Theory and applications, 24(4), 87-117.}}. + +features: + rate: |- + The 2BGA construction gives some of the best short codes with small stabilizer weights. + + A number of 2BGA codes \([[n,k,d]]_q\) with row weights + \(W\le 8\), block lengths \(n\le 100\), and parameters such that + \(kd\ge n\) have been constructed by + exhaustive enumeration \cite{arxiv:2306.16400}. Examples include GB codes with parameters + \([[70,8,10]]_2\), \([[72,10,9]]_2\), Abelian 2BGA for groups + \(\mathbb{Z}_{mh}=\mathbb{Z}_m\times \mathbb{Z}_2\) (index-4 QC codes) with parameters + \([[48,8,6]]_2\) and \([[56,8,7]]_2\), and non-Abelian codes with + parameters \([[64,8,8]]_2\), \([[82,10,9]]_2\), \([[96,10,12]]_2\), + and \([[96,12,10]]_2\) (all of these have stabilizer generators of + weight \(W=8\).) + +relations: + parents: + - code_id: lifted_product + detail: |- + 2BGA codes are LP\((a,b)\) codes, constructed from a pair of one-by-one matrices \(a,b\in \mathbb{F}_q[G]\) in a \hyperref[topic:group-algebra]{group algebra}. + - code_id: two_block_quantum + detail: |- + 2BGA codes are two-block quantum codes whose commuting matrices are constructed with the help of a \hyperref[topic:group-algebra]{group algebra}. + cousins: + - code_id: qldpc + detail: | + Given \hyperref[topic:group-algebra]{group algebra} elements \(a,b\in \mathbb{F}_q[G]\) with weights \(W_a\) and \(W_b\) (i.e., number of non-zero terms in the expansion), the 2BGA code LP\((a,b)\) has stabilizer + generators of uniform weight \(W_a+W_b\). + - code_id: quantum_quasi_cyclic + detail: | + Any Abelian 2BGA code + can be thought of as a multi-dimensional index-two quasi-cyclic code. + More precisely, any finite Abelian + group can be written as a direct product of several cyclic groups, + e.g., \(G=C_{m_1}\times C_{m_2}\times \ldots C_{m_D}\) for a product + of \(D\) cyclic groups, which is equivalent to a representation + \begin{align} + G=\langle x_1,\ldots,x_D|x_j^{m_j}=1, x_jx_ix_j^{-1}x_i^{-1}=1, \forall 1\le i,j\le D\rangle. + \end{align} + Respectively, an element of the \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q[G]\), where \(\mathbb{F}_q\) is + a finite field, can be written as a \(D\)-variate polynomial in + \(\mathbb{F}_q[x_1,x_2,\ldots,x_D]\), with the degree of the generator \(x_j\) of + order \(m_j\) not exceeding \(m_j-1\). + An equivalent + construction in terms of Kronecker products of circulant matrices was + introduced in \cite{arXiv:1212.6703}. + Related higher-dimensional quasi-cyclic and convolutional quantum codes have been constructed in + \cite{arxiv:2305.00137}. + - code_id: group + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-16' + - user_id: LeonidPryadko + date: '2023-10-10' diff --git a/codes/quantum/qudits_galois/qldpc/algebraic/generalized_bicycle.yml b/codes/quantum/qudits_galois/qldpc/algebraic/generalized_bicycle.yml new file mode 100644 index 000000000..025563ee7 --- /dev/null +++ b/codes/quantum/qudits_galois/qldpc/algebraic/generalized_bicycle.yml @@ -0,0 +1,122 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: generalized_bicycle +physical: galois +logical: galois + +name: 'Generalized bicycle (GB) code' +short_name: 'GB' +introduced: \cite{arxiv:1212.6703,arxiv:2203.17216} + +description: | + A quasi-cyclic Galois-qudit CSS code constructed using a generalized version of the bicycle ansatz \cite{arXiv:quant-ph/0304161} from a pair of equivalent index-two quasi-cyclic linear codes. + Various instances of qubit GB codes are constructed in Ref. \cite{arXiv:2203.17216} (only codes with \(k=2\)) and in Ref. \cite{arXiv:2306.16400}. + + The stabilizer generator matrix of a \([[ n=2\ell,k,d]]_q\) GB\((a,b)\) code, constructed from polynomials \(a(x)\) and \(b(x)\), can be refined to the form + \begin{align} + H_{X}=(A|B), H_{Z}^{T}=\begin{pmatrix}A\\-B\end{pmatrix}~, + \end{align} + where \(A=a(P)\) and \(B=b(P)\) are \(\ell\times\ell\) circulant matrices, and \(P\) is the permutation matrix of a one-step length-\(\ell\) cyclic shift. + + With any GB\((a,b)\) code, there is an associated \(q\)-ary cyclic classical code \(C_{h(x)}^{\perp}=C_{g(x)}\) of length \(\ell\), with the check and generating polynomials + \begin{align} + h(x)=\text{gcd}(a(x),b(x),x^{\ell}-1) \quad\text{and}\quad g(x)=\frac{x^{\ell}-1}{h(x)}~, + \end{align} + respectively. + The number of qudits encoded in such a GB code is \(k=2\deg h(x)\), twice the dimension of the underlying classical code \cite{arxiv:1904.02703}. + + Two codes GB\((a,b)\) and GB\((a',b')\) of the same size \(n=2\ell\) are equivalent if one of the following conditions is satisfied \cite{arxiv:2203.17216}: + \begin{enumerate}[(1)] + \item \(a'(x)=a(x^{m})\) mod \(x^{\ell}-1\), \(b'(x)=b(x^{m})\) mod \(x^{\ell}-1\) for some \(m\) mutually prime with \(\ell\), gcd\((m,\ell)=1\); + \item \(a'(x)=b(x), b'(x)=a(x)\); + \item \(a'(x)\) and \(b'(x)\) are the reciprocal polynomials of \(a(x)\) and \(b(x)\), respectively; + \item \(a'(x)=\delta a(x), b'(x)=b(x)\), for some \(0\neq\delta\in GF(q)=\mathbb{F}_q\); + \item \(a'(x)=f(x)a(x), b'(x)=f(x)b(x)\), for some polynomial \(f(x)\in \mathbb{F}_q[x]\) such that gcd\((f,x^{\ell}-1)=1\). + \end{enumerate} + + The following modified construction yields \textit{asymmetric bicycle (AB) codes}: \(\mathcal{Q}'=\text{CSS}(H'_{X},H_{Z})\) has \(H'_{X}=(A_{1}|B_{1}),A_{1}=a_{1}(P),B_{1}=b{1}(P)\), where \(a_{1}=\frac{a(x)}{\text{gcd}(a,b)},b_{1}=\frac{b(x)}{\text{gcd}(a,b)}\). + +protection: | + Given the parameters \([n_{0}=2\ell,k_{0},d_{0}]_q\) of the classical linear quasi-cyclic code QC\((a,b)\), the quantum CSS code GB\((a,b)\) has parameters \([[ 2\ell,2k_{0}-2\ell,d]]_q\) where \(d\geq d_{0}\). + + Consider a quasi-cyclic QC\((a,b)\) in the special case \(a(x)=f(x)h(x),b(x)=h(x)\), where for some polynomial \(r(x)\), \(\text{gcd}(a(x),b(x),x^{\ell}-1)=p(x)\) is a factor of the generating polynomial, \(g(x)=p(x)q(x)\). Then the distance of the QC code satisfies the following two bounds: + \begin{enumerate}[(a)] + \item If \(r(x)=0,d_{0}\geq\text{min}\{d[q],1+d[q]\}\); + \item Otherwise, if gcd\((a(x),b(x),x^{\ell}-1)=1\), then \(d_{0}\text{min}{2d[q],d[q]/\text{wgt}(r)}\). + \end{enumerate} + Here, \(h(x)=\text{gcd}(a(x),b(x),x^{\ell}-1)\) and \(g(x)=\frac{x^{\ell}-1}{h(x)}\), and \(d[q]\) is the distance of the linear cyclic code generated by \(q(x)\) \cite{arxiv:2203.17216}. + + Let \(x^{\ell}-1=g(x)h(x)\) with \(g(x)\in \mathbb{F}_q[x]\) irreducible, and + \begin{align} + \label{eq:gb_gv} + d_{GV}=\text{max }d:\sum_{s=1}^{d-1}(q-1)^{s}\left[\begin{pmatrix}2\ell\\ + s \end{pmatrix}-\begin{pmatrix}\ell\\ s + \end{pmatrix}\right]\,. + \end{align} + Then, there exists \(f(x)\in \mathbb{F}_q[x]\) such that the length-\(2\ell\) quasi-cyclic code QC\((hf,h)\) has distance \(d\geq\text{min}(d[g],d_{GV})\), where \(d[g]\) is the distance of the cyclic code generated by \(g(x)\) \cite{arxiv:2203.17216}. + + \subsection{GB codes with linear distance} + Let \(\ell\) be such that \(\text{ord}_{\ell}-1=\ell-1\), where \(\text{ord}_{\ell}(q)\) is the multiplicative order function of \(q\) modulo \(\ell\). + This ensures that \(x^{\ell}-1\) has only two irreducible factors in \(\mathbb{F}_q[x]\), \(h(x)=1-x\), and \(g(x)=1+x+\cdots+x^{\ell-1}\). + Then, there is a GB code with parameters \([[ 2\ell,2,d\geq d_{GV}]]_q\) \cite{arxiv:2203.17216}. + + An incommensurate GB code with row weight \(w\) and parameters \([[ n=2\ell,k,d]]_p\) is equivalent to a CSS code local in \(D\leq w-1\) dimensions (\(D\leq w-1\) if \(\ell\) is prime). Its parameters satisfy the inequalities \(d\leq\mathcal{O}(n^{1-1/D})\) and \(kd^{2/(D-1)}\leq\mathcal{O}(n)\) \cite{arxiv:2203.17216}. + + A weight-four GB code of an odd distance \(d=2r+1\) must have length \(n\geq 1+d^{2}\). + For an even distance \(d=2r\), the length \(n\geq d^{2}\) \cite{arxiv:2203.17216}. + + +features: + rate: | + GB codes can achieve an asymptotic rate of 1/4 \cite{arxiv:2203.17216}. + For an odd prime \(\ell\), let a prime \(p\) be a quadratic residue modulo \(\ell\), i.e. \(p=m^{2}\text{mod}\ell\) for some integer \(m\). + Then, \(x^{\ell}-1\) has only three irreducible factors in \(\mathbb{F}_q(x)\), and there is a quadratic-residue cyclic code \([\ell,(\ell+1)/2, d]_p\) with \(d\geq\sqrt{\ell}\) and an irreducible generator polynomial CITE BibID: 2487773. + Using the GV distance \(d_{GV}\), a prime-field GB code with parameters \([[ 2\ell,(\ell-1)/2,d\geq \ell^{1/2}]]_p\) exists. + decoders: + - 'BP-OSD decoder \cite{arXiv:1904.02703}.' + +relations: + parents: + - code_id: 2bga + detail: | + A code GB\((a,b)\) with circulants of size \(\ell\) is a special case of a 2BGA code over the cyclic group \(\mathbb{Z}_{\ell}\). + More precisely, for the cyclic group \(\mathbb{Z}_{\ell}\equiv \langle x|x^\ell=1\rangle \), any element \(a\) of the \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q[\mathbb{Z}_{\ell}]\) can be seen as a polynomial \(a(x)\in \mathbb{F}_q[x]\) over the group generator \(x\), where the polynomial degree \(\deg a(x)<\ell\). + The 2BGA code LP\((a,b)\) is then just a generalized bicycle code GB\([a(x),b(x)]\) constructed from the polynomials \(a(x)\) and \(b(x)\) corresponding to \(a,b\in \mathbb{F}_q[\mathbb{Z}_{\ell}]\). + - code_id: lifted_product + detail: | + A code GB\((a,b)\) with circulants of size \(\ell\) is a special (degenerate) case of a lifted-product code LP\((A,B)\) code over the Abelian \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q[\mathbb{Z}_{\ell}]\) associated with the cyclic group \(\mathbb{Z}_{\ell}\equiv \langle x|x^\ell=1\rangle\), with \(1\times 1\) matrices \(A=a(x)\), \(B=b(x)\) given by the corresponding polynomials. + - code_id: quantum_quasi_cyclic + detail: | + An index-\(m\) quasi-cyclic (QC) code of length \(n=m\ell\) is usually defined as a linear code invariant under the \(m\)-step shift permutation \(T_{n}^{m}\). + cousins: + - code_id: sc_qldpc + detail: 'Qubit GB stabilizer generator matrices is equivalent to a 1D SC-QLDPC code, see \cite[Remark 7]{arxiv:2305.00137}.' + - code_id: qldpc + detail: | + Stabilizer generators of the code GB\((a,b)\) have weights given by the sum of weights of polynomials \(a(x)\) and \(b(x)\). + The GB code ansatz is convenient for designing quantum LDPC codes. + - code_id: single_shot + detail: 'A qubit GB code \([[n,k,d]]_2\) has \(k\) non-trivial relations between the syndrome bits, which is expected to help with operation in a fault-tolerant regime (in the presence of syndrome measurement errors). See Ref. \cite{arXiv:2306.16400} for many examples of such codes.' + - code_id: quantum_cyclic + detail: 'Given a canonical generating polynomial \(g(x)\) of a cyclic quantum code \([[n,k,d]]\), its generator matrix is a cyclic matrix \(G=g(P)\). Here \(P\) is the permutation matrix of one-step length-\(n\) cyclic shift.' + - code_id: hypergraph_product + detail: 'An arbitrary GB code of length \(2\ell\) is equivalent \cite{arxiv:2203.17216} to a rotated quantum hypergraph-product code with periodicity vectors \(\vec{L}_{1}\) and \(\vec{L}_{2}\) such that \(\lvert{\vec{L}_{1}\times\vec{L}_{2}\rvert=\ell}\).' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-16' + - user_id: LeonidPryadko + date: '2023-10-10' + - user_id: VictorVAlbert + date: '2023-05-02' + - user_id: LeonidPryadko + date: '2023-05-02' + - user_id: RenyuWang + date: '2023-05-02' diff --git a/codes/quantum/qudits_galois/qldpc/expander_lifted_product.yml b/codes/quantum/qudits_galois/qldpc/expander_lifted_product.yml index 4f709cfc7..3d84e1a93 100644 --- a/codes/quantum/qudits_galois/qldpc/expander_lifted_product.yml +++ b/codes/quantum/qudits_galois/qldpc/expander_lifted_product.yml @@ -18,7 +18,7 @@ description: | The small classical codes used in the construction of good QLDPC codes are required to have a certain product-expansion property (Lemma 10 in Ref. \cite{arXiv:2111.03654}); it is proven that random codes satisfy said property in the thermodynamic limit. -protection: 'Code performance strongly depends on \(G\). Certain nonabelian groups yield asymptotically good QLDPC codes with parameters \([[n, k = \Theta(n), d = \Theta(n)]]\) \cite{arXiv:2111.03654}. Abelian groups like \(\mathbb{Z}_{\ell}\) for \(\ell=\Theta(n / \log n)\) yield constant-rate codes with parameters \([[n, k = \Theta(n), d = \Theta(n / \log n)]]\) \cite{arxiv:2012.04068}; this construction can be derandomized by being reformulated as a balanced product code \cite{arXiv:2012.09271}.' +protection: 'Code performance strongly depends on \(G\). Certain non-Abelian groups yield asymptotically good QLDPC codes with parameters \([[n, k = \Theta(n), d = \Theta(n)]]\) \cite{arXiv:2111.03654}. Abelian groups like \(\mathbb{Z}_{\ell}\) for \(\ell=\Theta(n / \log n)\) yield constant-rate codes with parameters \([[n, k = \Theta(n), d = \Theta(n / \log n)]]\) \cite{arxiv:2012.04068}; this construction can be derandomized by being reformulated as a balanced product code \cite{arXiv:2012.09271}.' features: rate: 'Expander lifted-product codes include the first examples \cite{arXiv:2111.03654} of (asymptotically) \textit{good QLDPC codes}, i.e., codes with asymptotically constant rate and linear distance. The existence of such codes proves the QLDPC conjecture \cite{arXiv:2103.06309}. Another notable family encodes \(k \in \Theta(n^\alpha \log n)\) logical qubits with distance \(d \in \Omega(n^{1 - \alpha} / \log n)\) for any number of physical qubits \(n\) and any real parameter \(0 \leq \alpha < 1\) \cite{arxiv:2012.04068}.' diff --git a/codes/quantum/qudits_galois/qldpc/galois_topological.yml b/codes/quantum/qudits_galois/qldpc/galois_topological.yml index d43beff46..b1c3ba544 100644 --- a/codes/quantum/qudits_galois/qldpc/galois_topological.yml +++ b/codes/quantum/qudits_galois/qldpc/galois_topological.yml @@ -21,7 +21,7 @@ relations: cousins: - code_id: quantum_double_abelian detail: 'A Galois qudit for \(q=p^m\) can be decomposed into a Kronecker product of \(m\) modular qudits \cite{doi:10.1109/18.959288}; see Sec. 5.3 of Ref. \cite{arxiv:quant-ph/0501074}. - Galois-qudit topological surface and color codes yield abelian quantum-double codes via this decomposition.' + Galois-qudit topological surface and color codes yield Abelian quantum-double codes via this decomposition.' # Begin Entry Meta Information diff --git a/codes/quantum/qudits_galois/qldpc/generalized_bicycle.yml b/codes/quantum/qudits_galois/qldpc/generalized_bicycle.yml deleted file mode 100644 index a44e86bb1..000000000 --- a/codes/quantum/qudits_galois/qldpc/generalized_bicycle.yml +++ /dev/null @@ -1,107 +0,0 @@ -####################################################### -## This is a code entry in the error correction zoo. ## -## https://github.com/errorcorrectionzoo ## -####################################################### - -code_id: generalized_bicycle -physical: galois -logical: galois - -name: 'Generalized bicycle (GB) code' -short_name: 'GB' -introduced: \cite{arxiv:1212.6703,arxiv:2203.17216} - -description: | - A quasi-cyclic Galois-qudit CSS code constructed using a generalized version of the bicycle ansatz \cite{arXiv:quant-ph/0304161} from a pair of equivalent index-two quasi-cyclic linear codes. - - The stabilizer generator matrix of a \([[ n=2\ell,k,d]]\) GB\((a,b)\) code over \(GF(q)\), constructed from polynomials \(a(x)\) and \(b(x)\), can be refined to the form - \begin{align} - H_{X}=(A|B), H_{Z}^{T}=\begin{pmatrix}A\\-B\end{pmatrix}~, - \end{align} - where \(\ell\times\ell\) are circulant matrices \(A=a(P)\) and \(B=b(P)\), and \(P\) is the permutation matrix of a one-step length-\(\ell\) cyclic shift. - - With any GB\((a,b)\) code, there is an associated \(q\)-ary cyclic classical code \(C_{h(x)}^{perp}=C_{g(x)}\) of length \(\ell\), with the check and generating polynomials - \begin{align} - h(x)=\text{gcd}(a(x),b(x),x^{\ell}-1) \text{and} g(x)=\frac{x^{\ell}-1}{h(x)}~, - \end{align} - respectively. - The number of qudits encoded in such a GB code is \(k=2\text{deg}h(x)\), twice the dimension of the underlying classical code \cite{arxiv:1904.02703}. - - Two codes GB\((a,b)\) and GB\((a',b')\) of the same size \(n=2\ell\) are equivalent if the following five conditions are satisfied \cite{arxiv:2203.17216}: - (1) \(a'(x)=a(x^{m})\) mod \(x^{\ell}-1\), \(b'(x)=b(x^{m})\) mod \(x^{\ell}-1\) for some \(m\) mutually prime with \(\ell\), gcd\((m,\ell)=1\); - (2) \(a'(x)=b(x), b'(x)=a(x)\); - (3) \(a'(x)\) and \(b'(x)\) are the reciprocal polynomials of \(a(x)\) and \(b(x)\), respectively; - (4) \(a'(x)=\delta a(x), b'(x)=b(x)\), for some \(0\neq\delta\in GF(q)\); - (5) \(a'(x)=f(x)a(x), b'(x)=f(x)b(x)\), for some polynomial \(f(x)\in GF(q)[x]\) such that gcd\((f,x^{\ell}-1)=1\). - - The following modified construction yields \textit{asymmetric bicycle (AB) codes}: \(\mathcal{Q}'=\text{CSS}(H'_{X},H_{Z})\) has \(H'_{X}=(A_{1}|B_{1}),A_{1}=a_{1}(P),B_{1}=b{1}(P)\), where \(a_{1}=\frac{a(x)}{\text{gcd}(a,b)},b_{1}=\frac{b(x)}{\text{gcd}(a,b)}\). - -protection: | - Given the parameters \([[n_{0}=2\ell,k_{0},d_{0}]]_q\) of the classical linear quasi-cyclic code QC\((a,b)\), the quantum CSS code GB\((a,b)\) has parameters \([[ 2\ell,2k_{0}-2\ell,d]]_q\) where \(d\geq d_{0}\). - - Consider a quasi-cyclic QC\((a,b)\) in the special case \(a(x)=f(x)h(x),b(x)=h(x)\), where for some polynomial \(r(x)\), \(\text{gcd}(a(x),b(x),x^{\ell}-1)=p(x)\) is a factor of the generating polynomial, \(g(x)=p(x)q(x)\). Then the distance of the QC code satisfies the following two bounds: - (a) If \(r(x)=0,d_{0}\geq\text{min}{d[q],1+d[q]}\); - (b) Otherwise, if gcd\((a(x),b(x),x^{\ell}-1)=1\), then \(d_{0}\text{min}{2d[q],d[q]/\text{wgt}(r)}\). - Here, \(h(x)=\text{gcd}(a(x),b(x),x^{\ell}-1)\) and \(g(x)=\frac{x^{\ell}-1}{h(x)}\), and \(d[q]\) is the distance of the linear cyclic code generated by \(q(x)\) \cite{arxiv:2203.17216}. - - Let \(x^{\ell}-1=g(x)h(x)\) with \(g(x)\in GF(q)[x]\) irreducible, and - \begin{align} - \label{eq:gb_gv} - d_{GV}=\text{max }d:\sum_{s=1}^{d-1}(q-1)^{s}\left[\begin{pmatrix}2\ell\\ - s \end{pmatrix}-\begin{pmatrix}\ell\\ s - \end{pmatrix}\right]\,. - \end{align} - Then, there exists \(f(x)\in GF(q)[x]\) such that the length-\(2\ell\) quasi-cyclic code QC\((hf,h)\) has distance \(d\geq\text{min}(d[g],d_{GV})\), where \(d[g]\) is the distance of the cyclic code generated by \(g(x)\) \cite{arxiv:2203.17216}. - - \subsection{GB codes with linear distance} - Let \(\ell\) be such that \(\text{ord}_{\ell}-1=\ell-1\), where \(\text{ord}_{\ell}(q)\) is the multiplicative order function of \(q\) modulo \(\ell\). - This ensures that \(x^{\ell}-1\) has only two irreducible factors in \(GF(q)[x]\), \(h(x)=1-x\), and \(g(x)=1+x+\cdots+x^{\ell-1}\). - Then, there is a GB code with parameters \([[ 2\ell,2,d\geq d_{GV}]]_q\) \cite{arxiv:2203.17216}. - - An incommensurate GB code with row weight \(w\) and parameters \([[ n=2\ell,k,d]]_p\) is equivalent to a CSS code local in \(D\leq w-1\) dimensions (\(D\leq w-1\) if \(\ell\) is prime). Its parameters satisfy the inequalities \(d\leq\mathcal{O}(n^{1-1/D})\) and \(kd^{2/(D-1)}\leq\mathcal{O}(n)\) \cite{arxiv:2203.17216}. - - A weight-four GB code of an odd distance \(d=2r+1\) must have length \(n\geq 1+d^{2}\). - For an even distance \(d=2r\), the length \(n\geq d^{2}\) \cite{arxiv:2203.17216}. - - -features: - rate: | - GB codes can achieve an asymptotic rate of 1/4 \cite{arxiv:2203.17216}. - For an odd prime \(\ell\), let a prime \(p\) be a quadratic residue modulo \(\ell\), i.e. \(p=m^{2}\text{mod}\ell\) for some integer \(m\). - Then, \(x^{\ell}-1\) has only three irreducible factors in \(GF(q)(x)\), and there is a quadratic-residue cyclic code \([\ell,(\ell+1)/2, d]_p\) with \(d\geq\sqrt{\ell}\) and an irreducible generator polynomial CITE BibID: 2487773. - Using the GV distance \(d_{GV}\), a prime-field GB code with parameters \([[ 2\ell,(\ell-1)/2,d\geq \ell^{1/2}]]_p\) exists. - decoders: - - 'BP-OSD decoder \cite{arXiv:1904.02703}.' - - -relations: - parents: - - code_id: galois_css - detail: 'A GB code is a Galois-qudit CSS code constructed from a pair of equivalent index-two quasi-cyclic linear codes.' - - code_id: quantum_quasi_cyclic - detail: 'An index-\(m\) quasi-cyclic (QC) code of length \(n=m\ell\) is usually defined as a linear-code invariant under the \(m\)-step shift permutation \(T_{n}^{m}\).' - cousins: - - code_id: sc_qldpc - detail: 'Qubit GB stabilizer generator matrices can be used as sub-matrices to define a 1D SC-QLDPC code \cite{arxiv:2305.00137}.' - - code_id: qldpc - detail: 'A code GB\((a,b)\) is given by the sum of weights of polynomials \(a(x)\) and \(b(x)\). - The GB code ansatz is convenient for designing quantum LDPC codes.' - - code_id: single_shot - detail: 'In some GB error-correcting schemes, localized syndrome measurement errors only give rise to localized errors in the correction stage. - Then, a single round of measurements is enough, and fault-tolerant error correction is quantum-local \cite{arxiv:1404.5504}.' - - code_id: quantum_cyclic - detail: 'Given a canonical generating polynomial \(g(x)\) of a cyclic quantum code \([[n,k,d]]\), its generator matrix is a cyclic matrix \(G=g(P)\). Here \(P\) is the permutation matrix of one-step length-\(n\) cyclic shift.' - - code_id: hypergraph_product - detail: 'An arbitrary GB code of length \(2\ell\) is equivalent to a rotated quantum hypergraph-product code with periodicity vectors \(\vec{L}_{1}\) and \(\vec{L}_{2}\) such that \(\lvert{\vec{L}_{1}\times\vec{L}_{2}=\ell}\rvert\).' - - -# Begin Entry Meta Information -_meta: - # Change log - most recent first - changelog: - - user_id: VictorVAlbert - date: '2023-05-02' - - user_id: LeonidPryadko - date: '2023-05-02' - - user_id: RenyuWang - date: '2023-05-02' diff --git a/codes/quantum/qudits_galois/qldpc/lifted_product.yml b/codes/quantum/qudits_galois/qldpc/lifted_product.yml index fe48aaf00..5df06e1cb 100644 --- a/codes/quantum/qudits_galois/qldpc/lifted_product.yml +++ b/codes/quantum/qudits_galois/qldpc/lifted_product.yml @@ -11,16 +11,24 @@ name: 'Lifted-product (LP) code' short_name: 'LP' introduced: \cite{arxiv:1904.02703,arXiv:2111.03654} +alternative_names: + - 'Panteleev-Kalachev (PK) code' + description: | - Also called a \textit{Panteleev-Kalachev (PK)} code. Code that utilizes the notion of a lifted product in its construction. Lifted products of certain classical Tanner codes are the first (asymptotically) \textit{good QLDPC codes}. + Code that utilizes the notion of a lifted product in its construction. Lifted products of certain classical Tanner codes are the first (asymptotically) \textit{good QLDPC codes}. + + A code can be defined by \(LP(A,B)\), where \(A\) and \(B\) are a pair of matrices with elements from a \hyperref[topic:group-algebra]{group algebra}. + Heuristically, the code is constructed as a hypergraph product code over the \hyperref[topic:group-algebra]{group algebra}, with each entry subsequently extended into a matrix. - A \textit{lifted product over} a ring \(R\) is a product of two chain complexes whose chains are free modules over \(R\). An interesting case is when \(R=\mathbb{F}_q G\), the group-\(G\) algebra over the finite field \({\mathbb{F}}_q = GF(q)\); in this case, the product can be called a \(G\)-\textit{lifted product}. Just like its further generalization the balanced product, a lifted product code generalizes a hypergraph product code in that a reduction of symmetry is exploited to decrease the number of physical qubits required. + More technically, a \textit{lifted product over} a ring \(R\) is a product of two chain complexes whose chains are free modules over \(R\). An interesting case is when \(R=\mathbb{F}_q [G]\), the \hyperref[topic:group-algebra]{group-\(G\) algebra} over the finite field \({\mathbb{F}}_q = GF(q)\); in this case, the product can be called a \(G\)-\textit{lifted product}. Just like its further generalization the balanced product, a lifted product code generalizes a hypergraph product code in that a reduction of symmetry is exploited to decrease the number of physical qubits required. The key operation behind the \(G\)-lifted product is the \(G\)-\textit{lift}, a group-algebraic version of the \hyperref[topic:lifting]{lifting} procedure of protograph LDPC codes. - A \(G\)-lift of a \(\mathbb{F}_q\)-valued matrix \(A\) substitutes matrix elements of \(A\) with matrices forming the regular representation of the group algebra \({\mathbb{F}}_q G\) according to some rule. + A \(G\)-lift of a \(\mathbb{F}_q\)-valued matrix \(A\) substitutes matrix elements of \(A\) with matrices forming the regular representation of the \hyperref[topic:group-algebra]{group algebra} \({\mathbb{F}}_q [G]\) according to some rule. A combination of the lift and the usual hypergraph product yields lifted-product codes. The two operations commute: one can first take the usual hypergraph product of two chain complexes, and then lift the resulting product complex; equivalently, one can take the hypergraph product of the two lifted complexes. + + protection: 'Code performance strongly depends on the group \(G\) used in the product \cite{arxiv:2012.04068}.' features: @@ -32,7 +40,7 @@ notes: relations: parents: # - code_id: homological_product -# detail: 'Lifted product obtained from the homological product over a group algebra \(\mathbb{F}_q G\) of two length-two chain complexes over \(\mathbb{F}_q G\), i.e., classical binary codes with a free action of the group \(G\).' +# detail: 'Lifted product obtained from the homological product over a \hyperref[topic:group-algebra]{group algebra} \(\mathbb{F}_q [G]\) of two length-two chain complexes over \(\mathbb{F}_q [G]\), i.e., classical binary codes with a free action of the group \(G\).' - code_id: balanced_product diff --git a/codes/quantum/qudits_galois/stabilizer/galois_css.yml b/codes/quantum/qudits_galois/stabilizer/css/galois_css.yml similarity index 100% rename from codes/quantum/qudits_galois/stabilizer/galois_css.yml rename to codes/quantum/qudits_galois/stabilizer/css/galois_css.yml diff --git a/codes/quantum/qudits_galois/stabilizer/quantum_secret_sharing.yml b/codes/quantum/qudits_galois/stabilizer/css/quantum_secret_sharing.yml similarity index 100% rename from codes/quantum/qudits_galois/stabilizer/quantum_secret_sharing.yml rename to codes/quantum/qudits_galois/stabilizer/css/quantum_secret_sharing.yml diff --git a/codes/quantum/qudits_galois/stabilizer/quantum_singleton.yml b/codes/quantum/qudits_galois/stabilizer/css/quantum_singleton.yml similarity index 100% rename from codes/quantum/qudits_galois/stabilizer/quantum_singleton.yml rename to codes/quantum/qudits_galois/stabilizer/css/quantum_singleton.yml diff --git a/codes/quantum/qudits_galois/stabilizer/skew-cyclic_galois_css.yml b/codes/quantum/qudits_galois/stabilizer/css/skew-cyclic_galois_css.yml similarity index 100% rename from codes/quantum/qudits_galois/stabilizer/skew-cyclic_galois_css.yml rename to codes/quantum/qudits_galois/stabilizer/css/skew-cyclic_galois_css.yml diff --git a/codes/quantum/qudits_galois/stabilizer/css/two_block_quantum.yml b/codes/quantum/qudits_galois/stabilizer/css/two_block_quantum.yml new file mode 100644 index 000000000..28dae2636 --- /dev/null +++ b/codes/quantum/qudits_galois/stabilizer/css/two_block_quantum.yml @@ -0,0 +1,37 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: two_block_quantum +physical: galois +logical: galois + +name: 'Two-block quantum code' +introduced: \cite{arXiv:1212.6703} + +alternative_names: + - 'Two-square-block code' + +description: | + Galois-qudit CSS code whose stabilizer generator matrices \(H_X=(A,B)\) and \(H_Z=(B^T,-A^T)\), are constructed from a pair of square \(\ell \times \ell\) commuting matrices \(A\) and \(B\). + +protection: | + Code parameters are generally unknown, although they can be formally expressed in terms of ranks of some matrices related to $A$ and $B$. The corresponding expressions, as well as some upper and lower bounds on parameters are given in \cite{arXiv:2306.16400}. + +relations: + parents: + - code_id: galois_css + cousins: + - code_id: qldpc + detail: 'When matrices \(A\) and \(B\) have row and column weights bounded by \(W\), a two-block quantum code is a quantum LDPC code with stabilizer generators bounded by \(2W\).' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2023-10-16' + - user_id: LeonidPryadko + date: '2023-10-10' diff --git a/codes/quantum/spins/gnu_permutation_invariant.yml b/codes/quantum/spins/gnu_permutation_invariant.yml index 4daa776b0..2d5c0a592 100644 --- a/codes/quantum/spins/gnu_permutation_invariant.yml +++ b/codes/quantum/spins/gnu_permutation_invariant.yml @@ -12,15 +12,23 @@ short_name: 'GNU' introduced: '\cite{arXiv:1302.3247}' description: | - Can be expressed in terms of Dicke states where the logical states are + Can be expressed in terms of Dicke states whose coefficients are square-roots of the binomial distribution. + The logical states are \begin{align} |\overline{\pm}\rangle = \sum_{\ell=0}^{n} \frac{(\pm 1)^\ell}{\sqrt{2^n}} \sqrt{n \choose \ell} |D^m_{g \ell}\rangle~. \end{align} Here, \(m\) is the number of particles used for encoding \(1\) qubit, and \(g, n \leq m\) are arbitrary positive integers. + The state \(|D^m_w\rangle\) is a Dicke state -- a normalized permutation-invariant state on \(m\) spin-half systems with \(w\) excitations, i.e., a normalized sum over all basis elements with \(w\) ones and \(m - w\) zeroes. + Each Dicke state in the code can be \textit{shifted} by adding a shift \(s\) to both \(m\) and \(w\). protection: 'Depends on the family. One family which is completely symmetrized versions of Bacon-Shor codes (parameterized by \(t\)) protects against arbitrary weight-\(t\) spin errors. Additionally, codes with large enough length \((t+1)(3t+1)+t\) can approximately correct \(t\) spontaneous decay errors.' +features: + decoders: + - 'For a family of shifted gnu codes, decoding can be done using projection, probability amplitude rebalancing, and gate teleportation in time \(O(n^2)\) \cite{arXiv:2102.02494}.' + + relations: parents: - code_id: spins_into_spins diff --git a/codes/qubit_stabilizer_oaqecc.yml b/codes/qubit_stabilizer_oaqecc.yml index b89ba2928..debfb8a00 100644 --- a/codes/qubit_stabilizer_oaqecc.yml +++ b/codes/qubit_stabilizer_oaqecc.yml @@ -12,7 +12,7 @@ short_name: 'Qubit stabilizer OAQECC' introduced: \cite{arxiv:2304.11442} description: |- - Operator-algebra QECC in which the commutant \(\mathcal{A}'\) of the logical algebra \(\mathcal{A}\) arises as the group algebra of a subgroup \(\mathsf{G}\) of the \(n\)-qubit Pauli group \(\mathsf{P}_n\). + Operator-algebra QECC in which the commutant \(\mathcal{A}'\) of the logical algebra \(\mathcal{A}\) arises as the \hyperref[topic:group-algebra]{group algebra} of a subgroup \(\mathsf{G}\) of the \(n\)-qubit Pauli group \(\mathsf{P}_n\). The stabilizer \(\mathsf{S}\) is the center of \(\mathsf{G}\) modulo factors of \(i I\). The quotient \(\mathsf{P}_n / \mathsf{N(S)}\), where \(\mathsf{N(S)}\) is the normalizer of \(\mathsf{S}\), is in bijective correspondence with the factors of the logical algebra \(\mathcal{A}\). protection: |- diff --git a/users/users_db.yml b/users/users_db.yml index e3a7dba43..c1d4cf821 100644 --- a/users/users_db.yml +++ b/users/users_db.yml @@ -38,10 +38,17 @@ githubusername: ehua3765 gscholaruser: HPSt6CsAAAAJ +- user_id: AliFahimniya + name: 'Ali Fahimniya' + githubusername: fahimniya + +- user_id: ShankarBalasubramanian + name: 'Shankar N. Balasubramanian' + - user_id: M10T name: 'Milan Tenn' githubusername: M10T - + - user_id: AlexCowtan name: 'Alexander Cowtan' githubusername: alexcowtan