[Jump to code hierarchy]

Permutationally self-dual (PSD) CSS code[1]

Alternative Names: XZ-dual CSS code, Self-ZX-dual CSS code, CSS code admitting a ZX duality.

Description

A qubit CSS code whose \(X\)- and \(Z\)-type stabilizer groups are exchanged by a permutation of the physical qubits. Equivalently, a qubit CSS code for which transversal Hadamard followed by a qubit permutation is a logical operation.

More technically, let \(C_X\) and \(C_Z\) be the \(X\)- and \(Z\)-type stabilizer spaces of an \([[n,k]]\) CSS code. A code is permutationally self-dual (PSD) if there is a permutation \(\pi \in S_n\) with \(\pi(C_X)=C_Z\) and \(\pi(C_Z)=C_X\) [2]. Equivalently, the physical operator \(U_\pi H^{\otimes n}\) preserves the stabilizer group [2]. Such a \(\pi\) is called an \(XZ\)-duality, \(ZX\)-duality [1], or em symmetry [3].

A CSS code on \(2n\) qubits is the symplectic double of an \(n\)-qubit stabilizer code iff it admits a fixed-point-free involutory \(XZ\)-duality [4; Thm. 3.5]. The halved code is read off along the orbits of the duality, with the two qubits of each orbit supplying the \(X\) and \(Z\) coordinates of one qubit. Inequivalent stabilizer codes can have equivalent symplectic doubles [4; Sec. 4.2].

Ref. [5] instead defines em symmetry by the weaker condition \(H_X = P_1 H_Z P_2\) for some permutation matrices \(P_1\) and \(P_2\). Ref. [6] calls this condition weak self-duality. Every PSD code satisfies this condition for a suitable choice of parity-check matrices. The condition only requires some qubit permutation to carry \(C_Z\) onto \(C_X\). Such a permutation need not also carry \(C_X\) onto \(C_Z\).

Protection

A qubit permutation exchanging the \(X\)- and \(Z\)-type stabilizer spaces maps the supports of \(X\)-type logical operators onto the supports of \(Z\)-type ones. The \(X\)- and \(Z\)-type distances of a PSD code are therefore equal. The same permutation maps the bit-flip decoding problem onto the phase-flip decoding problem. Maximum-likelihood decoding thus succeeds with equal probability in both sectors when bit and phase flips occur independently with equal probability [6].

Transversal and Permutation-Based Gates

An \(XZ\)-duality yields Hadamard-type and phase-type fold-transversal Clifford gates, each realized by one layer of physical Clifford gates together with one qubit permutation [1].A qubit permutation composed with transversal Hadamard is a logical Clifford gate. In any CSS logical basis, every such self-duality automorphism induces a pure exchange-type logical Clifford, i.e., one whose symplectic representation has vanishing diagonal blocks [2; Prop. 1].Permutational self-duality is necessary for exchange-type logical actions. An indecomposable CSS code can host logical \(H^{\otimes k}\), \((SH)^{\otimes k}\), \((HS)^{\otimes k}\), or any mixture of these up to composition with logical \(S\), CX and CZ circuits, implemented by single-qubit Cliffords and qubit permutations in a CSS logical basis, only if the code is PSD [2].For an indecomposable PSD-but-not-self-dual code, the logical group generated by single-qubit Cliffords and qubit permutations is \(\mathrm{Trans} \rtimes \mathrm{Perm}.2\) [2]. Transversal single-qubit Cliffords realize at most \(\mathcal{U}(2\lfloor k/2 \rfloor,2)^2\), acting on two disjoint halves of the logical qubits, so their number is at most \(2^{\lfloor k/2 \rfloor(\lfloor k/2 \rfloor+1)}\) [2].

Code Capacity Threshold

The clean statistical mechanical model of a PSD code under bit-flip noise is finite-size Kramers-Wannier self-dual up to a Hadamard mixing of logical sectors [5; Thm. 1]. For a PSD code family with a unique threshold, this model is self-dual in the thermodynamic limit iff the asymptotic rate vanishes [5; Corr. 1.1]. For such zero-rate families, the fully postselected critical point is pinned to the self-dual value \(p = 1/(2+\sqrt{2}) \approx 0.2929\) [5].For zero-rate PSD families with a unique threshold, the principal Boltzmann factor construction in the replica limit gives an approximate phase boundary above the Nishimori line under bit-flip noise [5]. Treating erasures as bond dilution extends the same approximation to mixed bit-flip and erasure noise [5].

Cousins

  • Dual linear code— The \(X\)- and \(Z\)-type stabilizer spaces of a permutationally self-dual CSS code are permutation-equivalent binary linear codes.
  • \([[4,2,2]]\) Four-qubit code— Concatenating a PSD code with copies of the \([[4,2,2]]\) code along a fixed-point-free involutory \(XZ\)-duality yields a self-dual CSS code [4; Thm. 3.5].
  • Concatenated qubit code— For a suitable concatenation map, every level of the recursive concatenation of an \([[n_0,1,d_0]]\) PSD seed code is finite-size Kramers-Wannier self-dual under the statistical mechanical mapping of bit-flip decoding [5; Lemma 1]. If the resulting zero-rate family has a unique threshold, this self-duality constrains its optimal bit-flip threshold [5].
  • Bipartite cyclic cluster (BCC) code— BCC codes with \(k=2\) are permutationally self-dual. Their \(XZ\)-duality interchanges qubits \((m,1)\) and \((-m,2)\) [7].
  • Binarized-and-concatenated (B&C) phantom code— B&C phantom codes built from the CSS quantum QR codes over \(\mathbb{F}_4\) of prime length \(p\equiv 3 \bmod 8\), which have \(H_X=H_Z\), are permutationally self-dual. Transversal Hadamard composed with the block permutation induced by the coordinate map \(i\mapsto 2i \bmod p\) preserves the stabilizer group [8]. B&C phantom codes built from Hermitian self-dual starting codes are self-dual CSS codes, and hence are also permutationally self-dual [8].
  • Haah cubic code (CC)— CSS cubic codes are qubit Abelian 2BGA codes [9; Sec. III.A], so they are permutationally self-dual [10; Thm. 6]. For cubic code 1, transversal Hadamard composed with the spatial inversion \(\vec{r}\to-\vec{r}\) and a swap of the two qubits on each site exchanges the \(X\)- and \(Z\)-type stabilizers [3].
  • Group-action lift with active orthogonality (GALA) code— GALA codes satisfying the block-index involution condition have check matrices related by a qubit permutation, \(H_Z = H_X \tau\) [11]. Such a code is permutationally self-dual whenever \(\tau\) is an involution, since \(\tau\) then also maps \(H_Z\) onto \(H_X\).
  • Hypergraph product (HGP) code— Square hypergraph product codes are permutationally self-dual. Reflecting each of the two grids of qubits about its principal diagonal is an involutive \(XZ\)-duality. Composed with transversal Hadamard, it yields the Hadamard-SWAP logical gate [12; Sec. 3.1].
  • Rotated surface code— The \([[L^2,1,L]]\) rotated surface code is permutationally self-dual for odd \(L\), with an \(XZ\)-duality given by a \(\pi/2\) rotation of the qubit grid [13]. For even \(L\), the numbers of independent \(X\)- and \(Z\)-type stabilizer generators differ because they sum to the odd number \(L^2-1\). No permutation can then exchange the two stabilizer groups.
  • Kitaev surface code— Surface codes on self-dual cellulations of closed surfaces, such as the toric code, are permutationally self-dual. The isomorphism between the cellulation and its dual induces an edge permutation that exchanges vertex and face stabilizers [1; Sec. 2.3]. The planar code is also permutationally self-dual, with an \(XZ\)-duality given by a reflection along a diagonal [1; Fig. 1].
  • Abelian two-block group-algebra code— Qubit Abelian 2BGA codes are permutationally self-dual [10; Thm. 6]. Exchanging the two blocks of qubits while inverting each group element is an involutive \(XZ\)-duality [14; Sec. 3].

Primary Hierarchy

Parents
Permutationally self-dual CSS codes are qubit CSS codes whose stabilizer group is preserved by transversal Hadamard composed with a qubit permutation.
Permutationally self-dual (PSD) CSS code
Children
The \([[10,2,3]]\) code is permutationally self-dual, with an \(XZ\)-duality of order four.
The \([[10,2,3]]\) twisted XZZX toric code is permutationally self-dual, with an \(XZ\)-duality of order ten.
The carbon code is permutationally self-dual. Transversal Hadamard followed by an exchange of two of its three \([[4,2,2]]\) blocks preserves the stabilizer group [8]. This block exchange is an involutive \(XZ\)-duality.
The \([[16,6,4]]\) copy-cup code is permutationally self-dual since it is a qubit GB code. Exchanging the two blocks of eight qubits while inverting the cyclic-group index within each block exchanges the \(X\)- and \(Z\)-type stabilizer spaces [15; Sec. 3.2.2].
The surface-17 code is permutationally self-dual. Transversal Hadamard followed by a \(\pi/2\) rotation of the \(3\times 3\) qubit grid implements a logical Hadamard [13]. This rotation is an \(XZ\)-duality of order four.
Self-dual CSS codes are the permutationally self-dual CSS codes for which the \(XZ\)-duality can be taken to be the identity permutation. A PSD code on \(2n\) qubits with a fixed-point-free involutory \(XZ\)-duality becomes self-dual after concatenation with \(n\) copies of the \([[4,2,2]]\) code along the duality [4; Thm. 3.5].
Bivariate bicycle codes are permutationally self-dual. Their standard \(XZ\)-duality exchanges the two blocks of qubits while sending \(x\mapsto x^{-1}\) and \(y\mapsto y^{-1}\). This involution yields a Hadamard-type fold-transversal gate [14; Secs. 3 and 4.3]. BB codes on \(\mathbb{Z}_{\ell}\times\mathbb{Z}_{\ell}\) whose two polynomials are exchanged by swapping \(x\) and \(y\) admit a second \(XZ\)-duality. It sends \(x\mapsto y^{-1}\) and \(y\mapsto x^{-1}\) within each block and yields a phase-type fold-transversal gate [14; Sec. 4.3].
MCR codes are permutationally self-dual since they are qubit GB codes. Exchanging the two blocks of qubits while inverting the cyclic-group index within each block exchanges the \(X\)- and \(Z\)-type stabilizer spaces [15; Sec. 3.2.2].
CxC codes are permutationally self-dual since they are qubit Abelian 2BGA codes [10; Thm. 6].
La-cross codes are permutationally self-dual since both factors of the hypergraph product use the same seed check matrix [16]. Reflecting each of the two grids of qubits about its principal diagonal is an involutive \(XZ\)-duality [12; Sec. 3.1].
The Bring code is permutationally self-dual [1; Thm. 5].

References

[1]
N. P. Breuckmann and S. Burton, “Fold-Transversal Clifford Gates for Quantum Codes”, Quantum 8, 1372 (2024) arXiv:2202.06647 DOI
[2]
J. M. Koh, S. Majidy, A. Chakraborty, A. Gong, S. J. S. Tan, and N. Y. Yao, “Achieving the limits of automorphism gates”, (2026) arXiv:2609.19250
[3]
K. Su, Z. Yang, and C.-M. Jian, “Tapestry of dualities in decohered quantum error correction codes”, Physical Review B 110, (2024) arXiv:2401.17359 DOI
[4]
S. Burton, E. Durso-Sabina, and N. C. Brown, “Genons, Double Covers and Fault-tolerant Clifford Gates”, (2024) arXiv:2406.09951
[5]
L. H. English, H. Luo, Y. Wang, B. Srivastava, S. D. Bartlett, and D. J. Williamson, “Duality constrains optimal thresholds in quantum error correction”, (2026) arXiv:2607.21160
[6]
A. A. Kovalev, S. Prabhakar, I. Dumer, and L. P. Pryadko, “Numerical and analytical bounds on threshold error rates for hypergraph-product codes”, Physical Review A 97, (2018) arXiv:1804.01950 DOI
[7]
M. B. Hastings, “A Class of Cyclic Quantum Codes”, (2025) arXiv:2509.06865
[8]
J. M. Koh, A. Gong, A. C. Diaconu, D. B. Tan, A. A. Geim, M. J. Gullans, N. Y. Yao, M. D. Lukin, and S. Majidy, “Entangling logical qubits without physical operations”, (2026) arXiv:2601.20927
[9]
P. Panteleev and G. Kalachev, “Quantum LDPC Codes With Almost Linear Minimum Distance”, IEEE Transactions on Information Theory 68, 213 (2022) arXiv:2012.04068 DOI
[10]
H.-K. Lin and L. P. Pryadko, “Quantum two-block group algebra codes”, (2023) arXiv:2306.16400
[11]
W. Yang, C. Duckering, and A. Dua, “Designer Codes from GALA: Compact, Self-Dual, and Rate-1/2 QEC on Reconfigurable Atom Arrays”, (2026) arXiv:2608.07431
[12]
A. O. Quintavalle, P. Webster, and M. Vasmer, “Partitioning qubits in hypergraph product codes to implement logical gates”, Quantum 7, 1153 (2023) arXiv:2204.10812 DOI
[13]
Z.-H. Chen, M.-C. Chen, C.-Y. Lu, and J.-W. Pan, “Transversal Logical Clifford gates on rotated surface codes with reconfigurable neutral atom arrays”, (2024) arXiv:2412.01391
[14]
J. N. Eberhardt and V. Steffan, “Logical Operators and Fold-Transversal Gates of Bivariate Bicycle Codes”, (2024) arXiv:2407.03973
[15]
A. Davenport, J. Blue, and I. Chuang, “Generalized Bicycle Codes as Cyclic Submodules and their Automorphism Structure”, (2026) arXiv:2606.05044
[16]
L. Pecorari, S. Jandura, G. K. Brennen, and G. Pupillo, “High-rate quantum LDPC codes for long-range-connected neutral atom registers”, Nature Communications 16, (2025) arXiv:2404.13010 DOI
Page edit log

Your contribution is welcome!

on github.com (edit & pull request)

— see instructions

Zoo Code ID: perm_self_dual_css

Cite as:
“Permutationally self-dual (PSD) CSS code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2026. https://errorcorrectionzoo.org/c/perm_self_dual_css, arXiv:2606.11484
BibTeX:
@incollection{eczoo_perm_self_dual_css,
title={Permutationally self-dual (PSD) CSS code},
booktitle={The Error Correction Zoo},
year={2026},
editor={Albert, Victor V. and Faist, Philippe},
eprint={2606.11484},
doi={10.48550/arXiv.2606.11484},
url={https://errorcorrectionzoo.org/c/perm_self_dual_css}
}
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:
https://errorcorrectionzoo.org/c/perm_self_dual_css

Cite as:

“Permutationally self-dual (PSD) CSS code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2026. https://errorcorrectionzoo.org/c/perm_self_dual_css, arXiv:2606.11484

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/quantum/qubits/stabilizer/css/self_dual/perm_self_dual_css.yml.