lecture-4.md (3254B)
1 +++ 2 title = 'Lecture 4' 3 template = 'page-math.html' 4 +++ 5 ## Perfect & related codes 6 bounds for codes: 7 - if ints t ≤ n and word v length n, then num words length n of max distance t from v is $\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}$. If t = n, then 2ⁿ. 8 - all words of distance t from word v: add to v all words weight t 9 - Hamming bound: C length n and distance d = 2t + 1 or 2t + 2, then $|C| = \frac{2^{n}}{\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}}$ (i.e. max num of words length n distance d in code) 10 - singleton bound: for (n, k, d) linear code, d-1 ≤ n-k 11 - for (n, k, d) linear code: 12 - d = n-k+1 13 - every (n-k) rows of the parity check matrix are linearly independent 14 - every k columns of generator matrix are linearly independent 15 - C is MDS 16 - there exists code length n dimension k distance d if $\binom{n-1}{0} + \binom{n-1}{1} + \dots + \binom{n-1}{d-2} \lt 2^{n-k}$ 17 18 19 ### Perfect codes 20 perfect code: if length n, distance d = 2t+1, $|C| = \frac{2^{n}}{\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}}$ 21 22 if C nontrivial perfect code length n, distance d = 2t+1, then n=23 and d=7, or n=2ᴿ-1 for some R ≥ 2 and d=3 23 24 if C perfect code length n distance d = 2t+1, then corrects all error patterns weight ≤ t and no others. 25 26 ### Hamming codes 27 Hamming code length 2ᴿ-1 if n = 2ᴿ-1, R ≥ 2, parity check matrix rows consist of all nonzero vectors length R 28 29 - has dimension 2ᴿ-1-R, contains $2^{2^{R}-1-R}$ codewords 30 - has distance d=3 31 - is a perfect single error correcting code 32 33 ## Cyclic linear codes 34 polynomial degree n over K: $a_{0} + a_{1} x + \dots + a_{n} x^{n}$ where coefficients $a_{0} \dots a_{k}$ are elements of K. 35 36 set of polynomials over K is K[x]. 37 38 polynomial division: 39 - f(x) = q(x) h(x) + r(x), where q(x) quotient and r(x) remainder 40 - long division like normal, but arithmetic in K (so xor the terms) 41 42 a code length n can be represented as set of polynomials over K of degree max n-1. 43 - e.g. codeword 0101 ≡ 0(1) + 1(x) + 0(x²) + 1(x³) = x + x³ 44 45 If f(x) ≡ g(x) (mod h(x)), then 46 - f(x) + p(x) ≡ g(x) + p(x) (mod h(x)) 47 - f(x) p(x) ≡ g(x) p(x) (mod h(x)) 48 49 Cyclic shift π(v) of word v is when you move the last digits of v to the beginning (a rotation of the word). 50 51 Code is cyclic if rotating a codeword yields another codeword 52 53 To prove a code is cyclic, show that π(v) ∈ C for each word v in a basis for C. 54 55 To construct cyclic code: pick word v, form set S of all of its cyclic shifts, define C as linear span of S (\<S\>). 56 57 Given word v length n, let corresponding polynomial v(x), then cyclic shifts of v correspond to polynomials $x^{i} v(x) \mod 1 + x^{n}$ 58 59 If C cyclic and v ∈ C, then for any polynomial a(x), c(x) = a(x) v(x) mod (1 + xⁿ) is codeword in C 60 61 Generator polynomial: unique nonzero polynomial of min degree in C 62 63 If g(x) generator polynomial for cyclic C, and n-k = deg(g(x)), 64 - C has dimension K 65 - codewords corresponding to $g(x), x g(x), \dots, x{k-1} g(x)$ are basis for C 66 - c(x) ∈ C ⇔ g(x) divisor of every codeword c(x) 67 68 g(x) generator polynomial ⇔ g(x) divides 1+xⁿ 69 - g(x) = gcd(v(x), 1+xⁿ) 70 - easy way to find: put basis or generator matrix in RREF with last k columns leading, min degree row is the generator polynomial