Simplex code 


Also known as a maximum length feedback shift register code. An \([n,k,q^{k-1}]_q\) projective code with \(n=\frac{q^k-1}{q-1}\), denoted as \(S(q,k)\). The columns of the generator matrix are in one-to-one correspondence with the elements of the projective space \(PG(k-1,q)\), with each column being a chosen representative of the corresponding element. Its dual code is the \([n,n-k,3]_q\) \(q\)-ary Hamming code. The name of the code comes from the property that, for \(q=2\), the codewords form a \((2^k-1)\)-simplex of constant edge length if the codewords are interpreted as points in \(\mathbb{R}^n\).


Due to the small size, it can be decoded according to maximum likelihood.Some faster decoders for the \(q=2\) case: [1,2]A quantum decoder for the \(q=2\) case: [3].


See corresponding MinT database entry [4].



  • Tetracode — The tetracode is equivalent to \(S(3,2)\).


  • Extended GRS code — \(S(2,k)\) is an extended RS code [4].
  • Repetition code — \(S(2,1)\) reduces to the repetition code.
  • \(q\)-ary Hamming code — Hamming and simplex codes are dual to each other.
  • Hadamard code — Binary simplex codes are \([2^m-1,m,2^{m-1}]\) shortened Hadamard codes.
  • Simplex spherical code — Binary simplex codes map to simplex spherical codes under the antipodal mapping [7; Sec. 6.5.2][8; pg. 18]. In other words, simplex (simplex spherical) codes form simplices in Hamming (Euclidean) space.
  • Reed-Muller (RM) code — Binary simplex codes can be constructed from the generator matrix of RM\((1,k)\) by removing first the all-ones row, and then the all-zero column. Punctured RM codes and simplex codes are interconvertible via expurgation and augmentation ([9], pg. 31).
  • Gold code — Simplex codes are used to make gold codes.


R. R. Green, "A serial orthogonal decoder," JPL Space Programs Summary, vol. 37–39-IV, pp. 247–253, 1966.
A. Ashikhmin and S. Litsyn, “Simple MAP decoding of first order Reed-Muller and Hamming codes”, Proceedings 2003 IEEE Information Theory Workshop (Cat. No.03EX674) DOI
A. Barg and S. Zhou, “A quantum decoding algorithm for the simplex code”, in Proceedings of the 36th Annual Allerton Conference on Communication, Control and Computing, Monticello, IL, 23–25 September 1998 (UIUC 1998) 359–365
Rudolf Schürer and Wolfgang Ch. Schmid. “Simplex Code.” From MinT—the database of optimal net, code, OA, and OOA parameters. Version: 2015-09-03.
J. Bierbrauer, Introduction to Coding Theory (Chapman and Hall/CRC, 2016) DOI
H. Cohn and Y. Zhao, “Energy-Minimizing Error-Correcting Codes”, IEEE Transactions on Information Theory 60, 7442 (2014) arXiv:1212.1913 DOI
Forney, G. D. (2003). 6.451 Principles of Digital Communication II, Spring 2003.
T. Ericson, and V. Zinoviev, eds. Codes on Euclidean spheres. Elsevier, 2001.
F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
Page edit log

Your contribution is welcome!

on (edit & pull request)

edit on this site

Zoo Code ID: simplex

Cite as:
“Simplex code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022.
  title={Simplex code},
  booktitle={The Error Correction Zoo},
  editor={Albert, Victor V. and Faist, Philippe},
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:

Cite as:

“Simplex code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022.