-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
163 additions
and
8 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
####################################################### | ||
## This is a code entry in the error correction zoo. ## | ||
## https://github.com/errorcorrectionzoo ## | ||
####################################################### | ||
|
||
code_id: binary_linear | ||
physical: bits | ||
logical: bits | ||
|
||
name: 'Linear binary code' | ||
#introduced: '' | ||
|
||
description: | | ||
An \((n,2^k,d)\) linear code is denoted as \([n,k]\) or \([n,k,d]\), where \(d\) is the code's distance. Its codewords form a linear subspace, i.e., for any codewords \(x,y\), \(x+y\) is also a codeword. A code that is not linear is called \textit{nonlinear}. | ||
Linear codes can be defined in terms of a \textit{generator matrix} \(G\), whose rows form a basis for the \(k\)-dimensional codespace. Given a message \(x\), the corresponding encoded codeword is \(G^T x\). The generator matrix can be reduced via coordinate permutations to its \textit{standard} or \textit{systematic form} \(G = [I_k~A]\), where \(I_k\) is a \(k\times k\) identity matrix and \(A\) is a \(k \times (n-k)\) binary matrix. | ||
protection: | | ||
Distance \(d\) of a linear code is the number of nonzero entries in the (nonzero) codeword with the smallest such number. Corrects any error set for which no two elements of the set add up to a codeword. | ||
Linear codes admit a \textit{parity check matrix} \(H\), whose columns make up a set of \textit{parity checks}, i.e., a maximal linearly independent set of vectors that are in the kernel of \(G\). It follows that | ||
\begin{align} | ||
G H^{\text{T}} = 0 \mod 2~. | ||
\end{align} | ||
features: | ||
rate: 'A family of linear codes \(C_i = [n_i,k_i,d_i]\) is \textit{asymptotically good} if the asymptotic rate \(\lim_{i\to\infty} k_i/n_i\) and asymptotic distance \(\lim_{i\to\infty} d_i/n_i\) are both positive.' | ||
|
||
decoders: | ||
- 'Decoding an arbitary linear binary code is NP-hard \cite{doi:10.1109/TIT.1978.1055873}.' | ||
- 'Slepian''s standard-array decoding \cite{doi:10.1002/j.1538-7305.1960.tb03958.x}.' | ||
# Decoding being NP hard is discussed in Bruss Leuchs | ||
|
||
notes: | ||
- 'Tables of bounds and examples of linear codes for various \(n\) and \(k\), extending code tables by A. E. Brouwer \cite{manual:{Andries E. Brouwer, Bounds on linear codes, in: Vera S. Pless and W. Cary Huffman (Eds.), Handbook of Coding Theory, pp. 295-461, Elsevier, 1998.}}, are maintained by M. Grassl at this \href{http://codetables.markus-grassl.de/}{website}.' | ||
|
||
# relations: | ||
# parents: | ||
# - code_id: bits_into_bits | ||
# - code_id: linear | ||
|
||
|
||
# Begin Entry Meta Information | ||
_meta: | ||
contributors: | ||
- name: 'Victor V. Albert' | ||
githubusername: valbert4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters