diff --git a/codes/classical/groups/group_classical.yml b/codes/classical/groups/group_classical.yml index f349e1747..e739e119b 100644 --- a/codes/classical/groups/group_classical.yml +++ b/codes/classical/groups/group_classical.yml @@ -11,8 +11,6 @@ name: 'Group-alphabet code' description: | Encodes \(K\) states (codewords) in coordinates labeled by elements of a group \(G\). The number of codewords may be infinite for infinite groups, so various restricted versions have to be constructed in practice. -protection: | - Bounds for permutation codes, i.e., codes on the symmetric group \(G=S_n\), have been developed \cite{doi:10.1016/0097-3165(79)90012-8,doi:10.1006/eujc.1998.0272}. relations: parents: diff --git a/codes/classical/groups/group_linear.yml b/codes/classical/groups/group_linear.yml index 5a5112382..30a0b0a8d 100644 --- a/codes/classical/groups/group_linear.yml +++ b/codes/classical/groups/group_linear.yml @@ -10,17 +10,17 @@ name: 'Linear code over \(G\)' introduced: '\cite{doi:10.1109/49.29613,doi:10.1109/18.133243,doi:10.1109/18.104333}' description: | - Encodes \(K\) states (codewords) in \(n\) coordinates over a group \(G\) such that the codewords form a subgroup of \(G^n\). In other words, the set of codewords is closed under the group operation. + Block code that encodes \(K\) states (codewords) in \(n\) coordinates over a group \(G\) such that the codewords form a subgroup of \(G^n\). In other words, the set of codewords is closed under the group operation. - The \textit{automorphism group} of such codes is the group \(G^n\) formed by the action of \(G\) on each coordinate as well as the coordinate permutation group \(S_n\). + For finite groups that are not finite fields, the \textit{automorphism group} of such codes is the group \(G^n\) formed by the action of \(G\) on each coordinate as well as the coordinate permutation group \(S_n\). relations: parents: - code_id: group_classical - code_id: group_orbit - detail: 'The set of codewords of a linear code over \(G\) can be thought of as an orbit of a particular codeword under the group formed by the code. - However, group orbit codes do not have to be linear \cite[Remark 8.4.3]{preset:EricZin}.' + detail: 'The set of codewords of a linear code over \(G\) can be thought of as an orbit of a particular codeword under the group formed by the code. However, group orbit codes do not have to be linear \cite[Remark 8.4.3]{preset:EricZin}.' - code_id: block + detail: 'Linear codes over \(G\) are linear block codes with \(\Sigma=G\).' cousins: - code_id: group_gkp diff --git a/codes/classical/groups/mixed/binary-ternary.yml b/codes/classical/groups/mixed/binary-ternary.yml index af04a4e27..0a4f28648 100644 --- a/codes/classical/groups/mixed/binary-ternary.yml +++ b/codes/classical/groups/mixed/binary-ternary.yml @@ -4,7 +4,6 @@ ####################################################### code_id: binary-ternary -logical: groups physical: groups name: 'Binary-ternary mixed code' @@ -16,7 +15,7 @@ protection: | See Ref. \cite{doi:10.1109/18.651001,arxiv:1606.06930} for bounds on binary-ternary mixed codes. notes: - - 'Binary-ternary mixed codes have been used in football pools, in which \(n_1\) of the matches result in either a win, a loss, or a draw, but \(n_2\) of the matches are assumed to have only two of the three possible outcomes \cite{doi:10.1016/0097-3165(91)90024-B}.' + - 'Binary-ternary mixed codes have been used in football pools, in which \(n_1\) of the matches result in either a win, a loss, or a draw, but \(n_2\) of the matches are assumed to have only a win or a loss outcome \cite{doi:10.1016/0097-3165(91)90024-B}.' relations: diff --git a/codes/classical/groups/mixed/mixed.yml b/codes/classical/groups/mixed/mixed.yml index 1c72fb330..fc079fd2b 100644 --- a/codes/classical/groups/mixed/mixed.yml +++ b/codes/classical/groups/mixed/mixed.yml @@ -9,7 +9,10 @@ physical: groups name: 'Mixed code' -description: 'Encodes \(K\) states (codewords) in a string of coordinates which takes values in more than one group.' +alternative_names: + - 'Mixed-alphabet code' + +description: 'Encodes \(K\) states (codewords) in a string of two or more coordinates, each of which takes values in one of two or more possible groups.' protection: | The Hamming, Singleton, and Plotkin bounds are straightforwardly extended to mixed alphabets \cite[Thm. 5.1]{manual:{Cameron, Peter J. "Some bridges between codes and designs." Unpublished manuscript, Queen Mary and Westfield College, London (1998).}}. @@ -19,7 +22,7 @@ relations: - code_id: group_classical cousins: - code_id: orthogonal_array - detail: 'Orthogonal arrays generalized to mixed alphabets are caled mixed-level orthogonal arrays \cite{manual:{Addelman, S., & Kempthorne, O. (1961b). Orthogonal Main-Effect Plans. Technical Report ARL 79, Aeronautical Research Lab., Wright-Patterson Air Force Base, Ohio, Nov. 1961.},doi:10.1016/B978-0-7204-2262-7.50034-X}, (see \cite[Ch. 9]{doi:10.1007/978-1-4612-1478-6}). See Ref. \cite{doi:10.1016/S0378-3758(96)00025-0} for bounds on mixed orthogonal arrays.' + detail: 'Orthogonal arrays generalized to mixed alphabets are called mixed-level orthogonal arrays \cite{manual:{Addelman, S., & Kempthorne, O. (1961b). Orthogonal Main-Effect Plans. Technical Report ARL 79, Aeronautical Research Lab., Wright-Patterson Air Force Base, Ohio, Nov. 1961.},doi:10.1016/B978-0-7204-2262-7.50034-X}, (see \cite[Ch. 9]{doi:10.1007/978-1-4612-1478-6}). See Ref. \cite{doi:10.1016/S0378-3758(96)00025-0} for bounds on mixed orthogonal arrays.' - code_id: combinatorial_design detail: 'Combinatorial designs have been generalized to mixed alphabets \cite{doi:10.1023/A:1008340128973}.' diff --git a/codes/classical/groups/binary_permutation.yml b/codes/classical/groups/permutation/binary_permutation.yml similarity index 51% rename from codes/classical/groups/binary_permutation.yml rename to codes/classical/groups/permutation/binary_permutation.yml index 9c300c16a..7708b4c25 100644 --- a/codes/classical/groups/binary_permutation.yml +++ b/codes/classical/groups/permutation/binary_permutation.yml @@ -5,24 +5,32 @@ code_id: binary_permutation physical: groups -logical: q-ary_digits -name: 'Binary permutation-based code' -introduced: '\cite{doi:10.1016/S0019-9958(79)90076-7}' +name: 'Code in permutations' +introduced: '\cite{doi:10.1109/TIT.1969.1054291,doi:10.1016/S0019-9958(79)90076-7}' + +alternative_names: + - 'Permutation-based code' description: | Encodes codewords into permutations of \(n\) objects. # If this is a perm rep, this it should be faithful so there should be group codes. +protection: | + Protects against errors in the Kendall tau distance on the space of permutations. + The Kendall distance between permutations \(\sigma\) and \(\pi\) is defined as the minimum number of adjacent transpositions required to change \(\sigma\) into \(\pi\). + Various bounds have been developed \cite{doi:10.1016/0097-3165(79)90012-8,doi:10.1006/eujc.1998.0272}. + notes: - 'Review of parallels between linear binary codes and permutation groups \cite{doi:10.1016/j.ejc.2009.03.044}.' relations: parents: - code_id: group_classical + detail: 'Codes in permutations are group-alphabet codes for the symmetric group \(G=S_n\).' cousins: - code_id: convolutional - detail: 'Permutation convolutional codes have been constructed \cite{doi:10.1109/TCOMM.2005.858683}.' + detail: 'Convolutional codes in permutations have been constructed \cite{doi:10.1109/TCOMM.2005.858683}.' # Begin Entry Meta Information diff --git a/codes/classical/groups/permutation/rank_modulation.yml b/codes/classical/groups/permutation/rank_modulation.yml new file mode 100644 index 000000000..37254e785 --- /dev/null +++ b/codes/classical/groups/permutation/rank_modulation.yml @@ -0,0 +1,40 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: rank_modulation +physical: groups + +name: 'Rank-modulation code' +introduced: '\cite{doi:10.1109/ISIT.2008.4595285,arxiv:1110.2557}' + +description: | + A family of codes in permutations derived from \(q\)-ary linear codes, such as Lee-metric codes, RS codes \cite{arxiv:1110.2557}, quadratic residue codes, and most binary codes. + +features: + rate: 'Rank modulation codes with code distance of \hyperref[topic:asymptotics]{order} \(d=\Theta(n^{1+\epsilon})\) for \(\epsilon\in[0,1]\) achieve a rate of \(1-\epsilon\) \cite{doi:10.1109/ISIT.2010.5513604}.' + +realizations: + - 'Electronic devices where charges can either increase in an individual cell or decrease in a block of adjacent cells, e.g., flash memories \cite{doi:10.1109/TIT.2009.2018336}.' + +relations: + parents: + - code_id: binary_permutation + cousins: + - code_id: gray + detail: 'The rank-modulation Gray code is an extension of the original binary Gray code to a code on the permutation group \cite{doi:10.1109/TIT.2009.2018336}.' + - code_id: q-ary_linear + detail: 'Almost all linear \(q\)-ary codes can be converted to rank-modulation codes \cite{arxiv:1110.2557}.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2022-11-07' + - user_id: VictorVAlbert + date: '2022-04-12' + - user_id: JiaxinHuang + date: '2022-04-08' diff --git a/codes/classical/groups/rank_modulation.yml b/codes/classical/groups/rank_modulation.yml deleted file mode 100644 index 4e1fd0c71..000000000 --- a/codes/classical/groups/rank_modulation.yml +++ /dev/null @@ -1,54 +0,0 @@ -####################################################### -## This is a code entry in the error correction zoo. ## -## https://github.com/errorcorrectionzoo ## -####################################################### - -code_id: rank_modulation -physical: groups -logical: q-ary_digits - -name: 'Rank-modulation Gray code (RMGC)' -short_name: 'RMGC' -introduced: '\cite{doi:10.1109/TIT.1969.1054291,doi:10.1109/ISIT.2008.4595285}' - -alternative_names: - - 'Code in permutations' - -description: | - A family of codes that encode a finite set of size \(M\) into a group \(S_n\) of permutations of \([n]=(1,2,...,n)\). - They can be derived from Lee-metric codes, RS codes \cite{arxiv:1110.2557}, quadratic residue codes and most binary codes. - -protection: | - Protects against errors in the Kendall tau distance on the space of permutations. - The Kendall distance between permutations \(\sigma\) and \(\pi\) is defined as the minimum number of adjacent transpositions required to change \(\sigma\) into \(\pi\). - -features: - rate: 'Rank modulation codes with code distance \(d=\Theta(n^{1+\epsilon})\) for \(\epsilon\in[0,1]\) achieve a rate of \(1-\epsilon\) \cite{doi:10.1109/ISIT.2010.5513604}.' - -realizations: - - 'Electronic devices where charges can either increase in an individual cell or decrease in a block of adjacent cells, e.g., flash memories \cite{doi:10.1109/TIT.2009.2018336}.' - -relations: - parents: - - code_id: group_classical - detail: 'Group-alphabet codes whose alphabet is based on the permutation group \(S_n\) are rank-modulation codes.' -# Do the points form a subgroup? - cousins: - - code_id: gray - detail: 'The rank-modulation Gray code is an extension of the original binary Gray code to a code on the permutation group \cite{doi:10.1109/TIT.2009.2018336}.' - - code_id: reed_solomon - detail: 'RS codes can be used to design rank modulation codes \cite{arxiv:1110.2557}.' - - code_id: binary_permutation - detail: 'Binary permutation-based codes also encode messages into permutations but protect against errors with the Hamming distance.' - - -# Begin Entry Meta Information -_meta: - # Change log - most recent first - changelog: - - user_id: VictorVAlbert - date: '2022-11-07' - - user_id: VictorVAlbert - date: '2022-04-12' - - user_id: JiaxinHuang - date: '2022-04-08' diff --git a/codes/classical/properties/block/block.yml b/codes/classical/properties/block/block.yml index bb79e525a..1ae7a7430 100644 --- a/codes/classical/properties/block/block.yml +++ b/codes/classical/properties/block/block.yml @@ -71,9 +71,6 @@ description: | In this way, the field elements form the Klein four group \(\mathbb{Z}_2\times\mathbb{Z}_2\) under addition. One can check that the trace operation, \(\text{tr}(\gamma) = \gamma + \gamma^2\), outputs either 0 or 1 for any element \(\gamma\in GF(4)\). - Two \(q\)-ary codes are \textit{equivalent} if the codewords of one code can be mapped into those of the other under a combination of a coordinate permutation and a permutation of the elements of each coordinate. - The full group of such composite permutations is \(S_q \wr S_n\) \cite[Def. 1.8.8]{preset:HKSbasics}\cite{preset:HKSclass}. - # The field trace in this case is similar to taking the real part of a complex number, \(\text{tr}(\gamma) = \gamma + \gamma^2\) for any element \(\gamma\). # The group of isometries of \(q\)-ary Hamming space is a combination of the monomial group, the Galois group of \(GF(q)\), and the group formed by the action of the space on itself (under addition) \cite{preset:HKSclass}. diff --git a/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml b/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml index bc05a44c7..05f495383 100644 --- a/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml +++ b/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml @@ -11,9 +11,14 @@ name: '\(q\)-ary code' description: | Encodes \(K\) states (codewords) in \(n\) \(q\)-ary coordinates over the field \(GF(q)\), i.e., \(q\)-ary strings. - Their error-correcting performance is quantified by some distance \(d\), which in turn is defined using a metric. + Error-correcting performance is quantified by some distance \(d\), which in turn is defined using a metric. The default distance is the Hamming distance \(d\), the weight (i.e., number of nonzero coordinates) of the lowest-weight nonzero codeword; such codes are usually denoted as \((n,K,d)_q\). The corresponding Hamming metric between two \(q\)-ary strings is the number of coordinates in which they differ. + Unless stated otherwise, the distance for this class is the Hamming distance. + + Two \(q\)-ary codes are \textit{equivalent} if the codewords of one code can be mapped into those of the other under a combination of a coordinate permutation and a permutation of the elements of each coordinate. + The full group of such composite permutations is \(S_q \wr S_n\) \cite[Def. 1.8.8]{preset:HKSbasics}\cite{preset:HKSclass}. + protection: | A code detects errors on up to \(d-1\) coordinates, corrects erasure errors on up to \(d-1\) coordinates, and corrects general errors on up to \(\left\lfloor (d-1)/2 \right\rfloor\) coordinates. diff --git a/codes/classical/rings/rings_into_rings.yml b/codes/classical/rings/rings_into_rings.yml index 1a7f04212..e394b5436 100644 --- a/codes/classical/rings/rings_into_rings.yml +++ b/codes/classical/rings/rings_into_rings.yml @@ -13,6 +13,7 @@ description: 'Encodes \(K\) states (codewords) in \(n\) coordinates over a finit relations: parents: - code_id: block + detail: 'Ring codes are block codes with \(\Sigma=R\).' - code_id: ecc_finite - code_id: group_classical detail: 'A ring \(R\) is an Abelian group under addition.' diff --git a/codes/quantum/qubits/small_distance/small/stab_10_1_2.yml b/codes/quantum/qubits/small_distance/small/stab_10_1_2.yml index 6cfbf8756..1b24a4244 100644 --- a/codes/quantum/qubits/small_distance/small/stab_10_1_2.yml +++ b/codes/quantum/qubits/small_distance/small/stab_10_1_2.yml @@ -11,11 +11,11 @@ name: '\([[10,1,2]]\) CSS code' introduced: '\cite{arxiv:2112.01446}' description: | - Smallest stabilizer code to implement a transversal \(T\) gate. + Smallest stabilizer code to implement a logical \(T\) gate via application of physical \(T\), \(T^{\dagger}\), and \(CCZ\) gates. features: transversal_gates: - - 'Logical \(T\) gate via application of \(T\), \(T^{\dagger}\), and \(CCZ\) \cite{arxiv:2112.01446}.' + - 'Logical \(T\) gate via application of physical \(T\), \(T^{\dagger}\), and \(CCZ\) gates \cite{arxiv:2112.01446}.' general_gates: - 'Magic-state distillation protocol \cite{arxiv:2112.01446}.' diff --git a/codes/quantum/qubits/stabilizer/topological/color/3d_color/stab_15_1_3.yml b/codes/quantum/qubits/stabilizer/topological/color/3d_color/stab_15_1_3.yml index 64682907c..d8eae1f1b 100644 --- a/codes/quantum/qubits/stabilizer/topological/color/3d_color/stab_15_1_3.yml +++ b/codes/quantum/qubits/stabilizer/topological/color/3d_color/stab_15_1_3.yml @@ -29,8 +29,7 @@ features: magic_scaling_exponent: 'Magic-state yield parameter \( \gamma= \log_d (n/k)\approx 2.47\) \cite[Box 2]{arxiv:1612.07330}\cite{arxiv:1703.07847}.' transversal_gates: - - 'This is the smallest qubit stabilizer code with a (strongly) transversal gate outside of the \hyperref[topic:clifford]{Clifford group} \cite{arxiv:2210.14066}.' - - 'A transversal logical \(T^\dagger\) is implemented by applying a \(T\) gate on every qubit \cite{arxiv:quant-ph/9610011,arxiv:1403.2734,arxiv:1612.07330}.' + - 'A transversal logical \(T\) is implemented by applying a \(T^\dagger\) gate on every qubit \cite{arxiv:quant-ph/9610011,arxiv:1403.2734,arxiv:1612.07330}. This is the smallest qubit stabilizer code with a (strongly) transversal gate outside of the \hyperref[topic:clifford]{Clifford group} \cite{arxiv:2210.14066}.' - 'A subsystem version yields a transversal \(CCZ\) gate \cite{arxiv:1304.3709}.' general_gates: