## Description

A matrix-based code constructed out of two linear binary or \(q\)-ary codes \(C_A,C_B\) in an outer-product construction denoted as \(C_A \otimes C_B\). Its dual is sometimes called the check-product code, denoted as \(C_{A}\boxplus C_{B}\).

Codewords are those matrices whose column vectors are in \(C_A=[n_A,k_A,d_A]\) and whose row vectors are in \(C_B=[n_B,k_B,d_B]\). Codewords \(c\) of a tensor code satisfy the parity check equation \(H_A c H^{\text{T}}_B = 0\).

A check-product code forms the matrix subspace dual to its corresponding tensor-product code, \begin{align} \label{eq:dual-tensor} C_{A}\boxplus C_{B}=C_{A}\otimes GF(2)^{n_{B}}+GF(2)^{n_{A}}\otimes C_{B}~. \tag*{(1)}\end{align} The parity-check matrix of this code is \(H_A \otimes H_B\), where \(H_{A,B}\) is the parity-check matrix of \(C_{A,B}\) [5; Lemma 3.3].

## Protection

For linear codes \(C_A=[n_A,k_A,d_A]\) and \(C_B=[n_B,k_B,d_B]\), the resulting tensor code is \(C_A \otimes C_B=[n_A n_B,k_A k_B,d_A d_B]\). Tensor codes can be useful for protecting against burst errors [6,7].

Many (but not all [8]) tensor codes are robustly testable [9–11], a property useful for constructing LTCs [12], including a family of \(c^3\)-LTCs [13]. A property equivalent to robust testability is \(\kappa\)-product expansion [14]. For check-product codes, this property means that for every codeword \(c_1 + c_2 \in C_{A}\boxplus C_{B}\), split up according to (1), \begin{align} \kappa\left(\frac{\|c_{1}\|_{A}}{n_{A}}+\frac{\|c_{2}\|_{B}}{n_{B}}\right)\leq\frac{|c_{1}+c_{2}|}{n_{A}n_{B}}~, \tag*{(2)}\end{align} where \(\|c_{1}\|_{A}\) (\(\|c_{2}\|_{B}\)) is the number of non-zero columns (rows) in \(c_1\) (\(c_2\)).

Check-product codes formed by two random linear codes are robustly testable [15; Thm. 1], a property useful for constructing asymptotically good QLDPC codes [15,16] and proving distance bounds [17].

## Rate

## Decoding

## Realizations

## Notes

## Parents

- Matrix-based code
- Parallel concatenated code — Tensor-product codes are examples of parallel concatenation [22].
- Concatenated code — Tensor-product codes can be viewed as serial concatenated codes [22].

## Cousins

- Left-right Cayley complex code — Left-right Cayley complex codewords for a fixed graph vertex are codewords of a tensor code.
- Low-density parity-check (LDPC) code — Tensor products of random LDPC codes are robustly testable [10,11].
- Reed-Solomon (RS) code — Tensor codes constructed from RS codes are robustly testable [23].
- Classical-product code — Tensor-product codes are utilized in classical-product code constructions.
- Dinur-Hsieh-Lin-Vidick (DHLV) code — Tensor codes are used in constructing quantum DHLV codes.
- Quantum check-product code — Quantum check-product codes extend the concept of a check product, which yields the dual of a tensor code, to a product between a classical and a quantum code.
- Quantum Tanner code — Tensor codes are used in constructing quantum Tanner codes.
- Quantum tensor-product code

## References

- [1]
- P. Elias, “Error-free Coding”, Transactions of the IRE Professional Group on Information Theory 4, 29 (1954) DOI
- [2]
- H. Burton and E. Weldon, “Cyclic product codes”, IEEE Transactions on Information Theory 11, 433 (1965) DOI
- [3]
- G. D. Forney, Jr (1966). Concatenated Codes. MIT Press, Cambridge, MA.
- [4]
- W. Gore, “Further results on product codes”, IEEE Transactions on Information Theory 16, 446 (1970) DOI
- [5]
- A. Cross et al., “Quantum Locally Testable Code with Constant Soundness”, (2023) arXiv:2209.11405
- [6]
- L. Bahl and R. Chien, “Single- and multiple-burst-correcting properties of a class of cyclic product codes”, IEEE Transactions on Information Theory 17, 594 (1971) DOI
- [7]
- R. Chien and S. Ng, “Dual product codes for correction of multiple low-density burst errors”, IEEE Transactions on Information Theory 19, 672 (1973) DOI
- [8]
- P. Valiant, “The Tensor Product of Two Codes Is Not Necessarily Robustly Testable”, Lecture Notes in Computer Science 472 (2005) DOI
- [9]
- E. Ben-Sasson and M. Sudan, “Robust Locally Testable Codes and Products of Codes”, (2004) arXiv:cs/0408066
- [10]
- I. Dinur, M. Sudan, and A. Wigderson, “Robust Local Testability of Tensor Products of LDPC Codes”, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques 304 (2006) DOI
- [11]
- E. Ben-Sasson and M. Viderman, “Tensor Products of Weakly Smooth Codes Are Robust”, Lecture Notes in Computer Science 290 (2008) DOI
- [12]
- I. Dinur, “The PCP theorem by gap amplification”, Journal of the ACM 54, 12 (2007) DOI
- [13]
- I. Dinur et al., “Locally Testable Codes with constant rate, distance, and locality”, (2021) arXiv:2111.04808
- [14]
- P. Panteleev and G. Kalachev, “Asymptotically Good Quantum and Locally Testable Classical LDPC Codes”, (2022) arXiv:2111.03654
- [15]
- G. Kalachev and P. Panteleev, “Two-sided Robustly Testable Codes”, (2023) arXiv:2206.09973
- [16]
- I. Dinur et al., “Good Quantum LDPC Codes with Linear Time Decoders”, (2022) arXiv:2206.07750
- [17]
- A. Leverrier and G. Zémor, “Decoding quantum Tanner codes”, (2022) arXiv:2208.05537
- [18]
- G. Forney, “Generalized minimum distance decoding”, IEEE Transactions on Information Theory 12, 125 (1966) DOI
- [19]
- P. Chaichanavong and P. H. Siegel, “Tensor-product parity code for magnetic recording”, IEEE Transactions on Magnetics 42, 350 (2006) DOI
- [20]
- F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
- [21]
- Wolf, Jack Keil. "An introduction to tensor product codes and applications to digital storage systems." 2006 IEEE Information Theory Workshop-ITW 2006 Chengdu. IEEE, 2006.
- [22]
- A. Barg and G. Zemor, “Concatenated Codes: Serial and Parallel”, IEEE Transactions on Information Theory 51, 1625 (2005) DOI
- [23]
- A. Polishchuk and D. A. Spielman, “Nearly-linear size holographic proofs”, Proceedings of the twenty-sixth annual ACM symposium on Theory of computing - STOC ’94 (1994) DOI

## Page edit log

- Victor V. Albert (2022-08-09) — most recent
- Shashank Sule (2022-04-21)

## Cite as:

“Tensor-product code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/tensor

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/matrices/tensor.yml.