Skip to main content
Contents
Embed
Dark Mode Prev Up Next
\(\require{mathtools}\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\cC}{\mathcal{C}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\GF}{\mathrm{GF}}
\DeclareMathOperator{\Span}{Span}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\rk}{rk}
\DeclareMathOperator{\wt}{wt}
\newcommand{\transpose}[1]{#1^{\top}}
\newcommand{\by}{\mathbf{y}}
\newcommand{\bc}{\mathbf{c}}
\newcommand{\bx}{\mathbf{x}}
\newcommand{\bm}{\mathbf{m}}
\newcommand{\bs}{\mathbf{s}}
\newcommand{\be}{\mathbf{e}}
\newcommand{\bh}{\mathbf{h}}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\newcommand{\fillinmath}[1]{\mathchoice{\underline{\displaystyle \phantom{\ \,#1\ \,}}}{\underline{\textstyle \phantom{\ \,#1\ \,}}}{\underline{\scriptstyle \phantom{\ \,#1\ \,}}}{\underline{\scriptscriptstyle\phantom{\ \,#1\ \,}}}}
\)
Section Week 3
This is an outline of the topics we covered in the third week of class.
Subsection Tuesday 1/27
Coding Theorist of the Day.
Class Materials.
In-person meeting cancelled today. Instead, three videos posted below along with the dayβs activity.
Subsection Thursday 1/29
Coding Theorist of the Day.
Atri Rudra , PhD 2007 From Univ. Washington
work in list-decoding, in particular for Reed Solomon codes
co-author of Essential Coding Theory
Chair of new AI dept at Univ. Buffalo in NY
Notes from Group Work.
Do worksheet
Switched \(H\) reported by group to this:
\begin{equation*}
H=\begin{bmatrix}
1 \amp 0 \amp 1 \amp 1 \\ 0 \amp 1 \amp 2 \amp 1
\end{bmatrix}
\end{equation*}
This is the 3-ary Hamming code with
\(r=2\) for
\(\mathbb{F} q\) and is a
\(\left[\frac{q^{r}-1}{q-1}, \frac{q^{r}-1}{q-1}-r, 3\right]_{q}\) code. The
\(q\) -ary Hamming codes have parity-check matrix
\(H_{q, r}\text{,}\) the matrix with all nonzero vectors of
\(F_{q}^{r}\) with 1st entry
\(1\) as columns.
For the rest of the parts, go back to groupβs \(H\text{:}\)
\begin{equation*}
H=\begin{bmatrix}
1 \amp 0 \amp 2 \amp 1 \\ 0 \amp 1 \amp 1 \amp 1
\end{bmatrix}
\end{equation*}
\(\displaystyle G=\left[\begin{array}{cc|cc}1 \amp 2 \amp 1 \amp 0 \\
2 \amp 2 \amp 0 \amp 1\end{array}\right]\)
\(\mathbf{m}=(12) \rightarrow\)
\begin{align*}
\mathbf{x}\amp =\mathbf{m} G=\begin{pmatrix} 2 \amp 0 \amp 1 \amp 2 \end{pmatrix}\\
\mathbf{y}\amp=\begin{pmatrix} 1 \amp 0 \amp 1 \amp 2 \end{pmatrix}
\end{align*}
\begin{equation*}
H\transpose{\by}=\left[\begin{array}{cc|cc}
1 \amp 0 \amp 2 \amp 1 \\
0 \amp 1 \amp 1 \amp 1
\end{array}\right]
\begin{pmatrix}
1 \\ 0 \\ 1 \\ 2\end{pmatrix}
=\begin{pmatrix}
2 \\0
\end{pmatrix}=2\begin{pmatrix}
1 \\0
\end{pmatrix}=2 H^{1}
\end{equation*}
And we have \(\mathbf{y}=\mathbf{x}+\begin{pmatrix}
2 \amp 0 \amp 0 \amp 0
\end{pmatrix}\text{.}\)
In general, if \(\by=\bx+\mathbf{e}\) with \(\mathbf{e}=a \mathbf{e}_{i}\) (single error of magnitude \(a\) in position \(i\) ), then
\begin{equation*}
H\transpose{(\bx+\mathbf{e})}=H\transpose{\bx}+H \transpose{\mathbf{e}}=0+H\transpose{\mathbf{e}}=H^{i} \cdot a\mathbf{e}_{i}=aH^i
\end{equation*}
See below algorithm.
Algorithm 24 . Efficient Decoding Algorithm for 1-error Correcting Linear Codes.
Compute syndrome
\(\bs=H\transpose{\by}\)
If
\(\bs=\mathbf{0}\) : done, return
\(\mathbf{y}\)
Else check if
\(\bs=a H^{i}\) for some
\(i \in \{1,\ldots, n\}, a \in \F_{q}\setminus\{0\}\) and return
\(\mathbf{y}-a \mathbf{e}_{i}\text{,}\) where
\(\mathbf{e}_i\) is the
\(i\) th standard basis vector.
If
\(\bs\) is not a multiple of a column of
\(H\text{,}\) two or more errors happened.
Note: Some two error patterns will give erroneous result at step 2!