Applications to error-correcting code

Created almost 9 years ago, updated about 7 hours ago

A linear code is a $k$-dimensional subspace $C$ of $\mathbb F_q^n$. Use column messages $m\in\mathbb F_q^k$ and a full-column-rank generator $G\in\mathbb F_q^{n\times k}$, so $c=Gm$. A full-row-rank parity-check matrix $H\in\mathbb F_q^{(n-k)\times n}$ satisfies $HG=0$ and $C=\ker H$.

For binary systematic encoding choose $G=\begin{bmatrix}I_k\\P\end{bmatrix}$ with $P$ of size $(n-k)\times k$ and $H=[P\ I_{n-k}]$, so $HG=0$ in $\mathbb F_2$. The row-message convention instead uses $[I_k\ P^T]$; do not mix their shapes.

If $y=c+e$ is received, its syndrome is $Hy=He$. A syndrome does not identify every arbitrary error uniquely. For a binary Hamming $(7,4)$ code, $H$ has the seven distinct nonzero 3-bit columns, so a single-bit error's syndrome identifies its position. Minimum distance three guarantees correction of at most one bit.

Like how this is organised?

Build your own knowledge tree on knowen.md: notes, decisions and tasks in one connected markdown graph, shared with your team and your AI agents.