Skip to main content

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.
Work on 1 through 6 in Linear Codes before watching the next video.
Work on 7 through 8 in Linear Codes before watching the next video.

Subsection Thursday 1/29

Coding Theorist of the Day.

Atri Rudra, PhD 2007 From Univ. Washington

Questions/Remarks.

Definition 20. Inner Product.
The inner product of \(\mathbf{x}, \mathbf{y} \in \mathbb{F}_{q}^{n}\) is
\begin{equation*} \mathbf{x} \cdot \mathbf{y}=\langle\mathbf{x}, \mathbf{y}\rangle=x_{1} y_{1}+x_{2} y_{2}+\ldots+x_{n} y_{n} \text{.} \end{equation*}
Definition 21. Orthogonality.
Two vectors \(\mathbf{x}, \mathbf{y}\in \F_q^n\) are orthogonal if \(\mathbf{x} \cdot \mathbf{y}=0\text{.}\)
Vectors can be self-orthogonal over \(\F_q\text{,}\) e.g.
\begin{equation*} (1,1,1,1) \cdot(1,1,1,1) =0 \end{equation*}
in \(\mathbb{F}_{2}^4\)
Definition 22. Orthogonal Complement/Dual Code.
The orthogonal complement of a linear code \(C\) in \(\mathbb{F}_{q}^{n}\) is
\begin{equation*} C^{\perp}=\left\{\mathbf{x} \in \mathbb{F}_q^n \mid \mathbf{x} \cdot \mathbf{c}=0 \text { for all } \mathbf{c} \in C\right\} \text{.} \end{equation*}
\(C^{\perp}\) is called the dual code for \(C\text{.}\)
Note 23.
If \(C\) has generator \(G\) and parity check matrix \(H\) then \(H\) is a generator for \(C^{\perp}\) and \(G\) is a parity-check matrix for \(C^{\perp}\text{.}\)
  • If \(H=\left[I_{n-k} \mid B\right] \rightarrow G=\left[-B^{\top} \mid I_{k}\right]\)
  • \(\displaystyle \left(C^{\perp}\right)^{\perp}=C\)
  • Over \(\mathbb{F}_{q}: C \cap C^{\perp}\) need not be \({0}\text{.}\) In fact, there exist self-dual codes \(C\) with \(C^{\perp}=C\)

Notes from Group Work.

  1. Do worksheet
  2. 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*}
  3. \(\displaystyle G=\left[\begin{array}{cc|cc}1 \amp 2 \amp 1 \amp 0 \\ 2 \amp 2 \amp 0 \amp 1\end{array}\right]\)
  4. \(\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*}
  5. Skipped
  6. \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*}
  7. See below algorithm.
Note: Some two error patterns will give erroneous result at step 2!