arnaucube
arnaucube/mathPublic Self-hosted repository
Cyclic codes notes (#21)

* port initial notes on cyclic codes (from Hill's book)

* notes on generator & check polynomials

* add notes on maximal and minimal cyclic codes, Hamming cyclic codes, idempotents, from Lint's book

* add notes on trace representations of cyclic codes

* notes on Mattson-Solomon polynomials

* fix typos and formatting
arnaucube git@arnaucube.com
Mon, 20 Apr 2026 12:21:18 +0200
commit

50d65f880da84b02554fa3b958c4d841ce1cedb9

parent

ed36c4c0766d04e0047be38f8e6cab7db0cb7e73

M algebraic-coding-theory-notes.tex → algebraic-coding-theory-notes.tex

@@ -34,6 +34,11 @@ @misc{vanddetproof2,

title = {Abstract Algebra, Theory and Applications. \emph{sec.22.2}}, author = {Thomas W. Judson}, } + +@misc{commutativealgebranotes, + title = {Commutative Algebra Notes}, + howpublished = "\url{https://github.com/arnaucube/math/blob/master/commutative-algebra-notes.pdf}", +} \end{filecontents} \nocite{*}

@@ -788,7 +793,7 @@

$\longrightarrow$ for small $n$, it's fast to locate the received vector $y$ in the array, but for large $n$: use syndrome to find which coset (ie. which row of the array) contains $y$. \end{cor} -\begin{eg}{7.9} +\begin{eg}{7.10} (from example \ref{h.6.5}) $$G= \begin{bmatrix} 1 & 0 & 1 & 1\\

@@ -1427,7 +1432,7 @@ \begin{defn}{}[Packing problem]

The \emph{packing problem} for $V(r,q)$ is that of determining the values of $max_s(r, q)$ and the optimal $(n,s)$-sets. \end{defn} -\begin{thm}{14.1} +\begin{thm}{14.1} \label{14.1} There exists an $[n,n-r,d]$-code over $GF(q)$ iff $\exists$ an $(n, d-1)$-set in $V(r, q)$. \end{thm} \begin{proof}

@@ -1691,6 +1696,604 @@

$$ = \prod_{i=2}^n (x_i - x_1) ~~\cdot \prod_{2 \leq j < i \leq n} (x_i - x_j) ~~= \prod_{1 \leq j < i \leq n} (x_i - x_j) $$ +\end{proof} + + +\vspace{1.0cm} + +\section{Cyclic Codes} +This section contains notes both from Hill \cite{hill} and Lint \cite{lint} books. Hill's notes are enumerated as $X.Y$ while Lint's notes as $X.Y.Z$. + +\subsection{Recap on ideals} +More about ideals at the \emph{Commutative Algebra notes} \cite{commutativealgebranotes}. +\vspace{0.6cm} + +In the cyclic codes context, we're interested in ideals because +\begin{itemize} + \item cyclic codes are ideals of $R_n = \mathbb{F}_q[x]/(x^n-1)$. + \item $R_n$ is a PID: every ideal in $R_n$ is principal. +\end{itemize} + +\vspace{0.6cm} + +\begin{defn}{}[ideal] + $I \subset R$ ($R$ ring) such that $0 \in I$ and $\forall x \in I,~ r \in R,~ xr, rx \in I$.\\ + \hspace*{2em} ie. $I$ absorbs products in $R$. +\end{defn} + +\begin{defn}{}[prime ideal] + if $a, b \in R$ with $ab \in P$ and $P \neq R$ ($P$ a prime ideal), implies $a \in P$ or $b \in P$. +\end{defn} + +\begin{defn}{}[principal ideal] + generated by a single element, $(a)$. + + $(a)$: principal ideal, the set of all multiples $xa$ with $x \in R$. +\end{defn} + +\begin{defn}{}[prime spectrum - $Spec(A)$] + set of prime ideals of $A$. ie. + + $$Spec(A) = \{ P ~|~ P \subset A~ \text{is a prime ideal} \}$$ +\end{defn} + +\begin{defn}{}[integral domain] + Ring in which the product of any two nonzero elements is nonzero. + + ie. no zerodivisors. + + ie. $\forall~ 0 \neq a,~ 0 \neq b \in A,~ ab \neq 0 \in A$. + + Every field is an integral domain, not the converse. +\end{defn} + +\begin{defn}{}[principal ideal domain - PID] + integral domain in which every ideal is principal. ie. + ie. $\forall I \subset R,~ \exists~ a \in I$ such that $I = (a) = \{ ra ~|~ r \in R \}$. +\end{defn} + + +\vspace{1.0cm} + +\subsection{Cyclic Codes intro} + +\begin{defn}{}[cyclic code] + a code $C$ is cyclic if + \begin{enumerate}[i.] + \item $C$ is a linear code + \item any cyclic shift of a codeword is also a codeword\\ + ie. when $a_0 a_1 \ldots a_{n-1} \in C$,\\ + then so $a_{n-1} a_0 a_1 \ldots a_{n-2} \in C$. + \end{enumerate} +\end{defn} + +\begin{remark}{}[Notation] + From now on, + $$F_q = \mathbb{F}_q = GF(q)$$ + + $F_q[x]$ is a ring; and for $f(x)$ irreducible in $F_q[x]$, then $\frac{F_q[x]}{f(x)}$ is a field. + + From now on, +$$f(x) = x^n -1 ~~~\Longrightarrow~~ F_q[x]/(x^n-1) = R_n$$ + + \vspace{0.6cm} + Observe:\\ + since $x^n \cong 1 \bmod{x^n -1}$, to reduce any polynomial by modulo $x^n-1$ can just replace $x^n$ by $1$, $x^{n+1}$ by $x$, $x^{n+2}$ by $x^2$, etc. + + \vspace{0.6cm} + Correspondence: + $$a_0 a_1 \ldots a_{n-1} \in V(n,q) ~\Longleftrightarrow~ a(x)=a_0 + a_1 x + \ldots + a_{n-1} x^{n-1} \in R_n$$ + + In $R_n$, + \begin{align*} + x \cdot a(x) &= a_0 \cdot x + a_1 x^2 + \ldots + \underbrace{a_{n-1} x^n}_{=a_{n-1}\cdot 1}\\ + &=a_{n-1} + a_0 x + \ldots + a_{n-2} \cdot x^{n-1} \in R_n + \end{align*} + + ie. $a_{n-1} a_0 a_1 \ldots a_{n-2} \in V(n, q)$ + + \vspace{0.6cm} + In $R_n$: + \begin{itemize} + \item[$\rightarrow$] multiply by $x$ corresponds to performing a single cyclic shift + \item[$\rightarrow$] multiply by $x^m$ corresponds to a cyclcic shift through $m$ positions + \end{itemize} +\end{remark} + + +\vspace{1.0cm} +\begin{thm}{12.6}[Algebraic characterization of cyclic codes] \label{12.6} + a code $C \in R_n$ is a cyclic code iff + \begin{enumerate}[i.] + \item $a(x),b(x) \in C ~\Longrightarrow~ a(x)+b(x) \in C$ + \item $a(x) \in C$ and $r(x) \in R_n ~\Longrightarrow~ r(x) a(x) \in C$\\ + ie. $C$ closed under multiplication by any element of $R_n$ + \end{enumerate} +\end{thm} +\begin{proof} + \begin{enumerate}[i.] + \item let $C \in R_n$ cyclic code, then $C$ is linear, so (i) holds. + \item let $a(x) \in C$ and $r(x) = r_0 + r_1 x + \ldots + r_{n-1} x^{n-1} \in R_n$. + + Since mult. by $x$ corresponds to a cyclic shift, then $x \cdot a(x) \in C$, thus + $$x \cdot (x \cdot a(x)) = x^2 \cdot a(x) \in C$$ + and so on. + + Hence, + $$r(x) \cdot a(x) = r_0 \cdot a(x) + r_1 \cdot x \cdot a(x) + \ldots + r_{n-1} \cdot x^{n-1} \cdot a(x) \in C$$ + since each summand is in $C$; thus (ii) holds. + + \vspace{0.5cm} + Conversely, suppose (i) and (ii) hold;\\ + taking $r(x)$ to be a scalar, the conditions imply that $C$ is linear.\\ + Taking $r(x)=x$, in (ii) shows that $C$ is cyclic. + \end{enumerate} +\end{proof} + +\vspace{0.8cm} +\begin{remark}{} + \begin{enumerate}[i.] + \item Cyclic codes are the ideals of the ring $R_n$. + \item Every ideal in $R_n$ is a \emph{principal ideal}.\\ + ie. $R_n$ is a PID. + \end{enumerate} +\end{remark} + +\vspace{0.5cm} +\begin{thm}{6.1.3} + a linear code $C$ in $\mathbb{F}_q^n$ is cyclic iff $C$ is an ideal in $\mathbb{F}_q[x]/(x^n -1)$. +\end{thm} +\begin{proof} + If $C$ ideal in $\mathbb{F}[x]/(x^n -1)$ and $c(x)=c_0 + c_1 x + \ldots + c_{n-1}x^{n-1} \in C$, then + \begin{align*} + x \cdot c(x) &= c_0 x + c_1 x \cdot x + \ldots + \underbrace{c_{n-1} x^{n-1} \cdot x}_{=c_{n-1} \cdot 1 \pmod{x^n-1}}\\ + &= c_{n-1} + c_0 x + c_1 x^2 + \ldots + c_{n-2} x^{n-1} \in C\\ + \Longrightarrow&~ (c_{n-1}, c_0, c_1, \ldots, c_{n-2}) \in C + \end{align*} + + \vspace{0.5cm} + Conversely, if $C$ cyclic, then $\forall c(x) \in C,~ x \cdot c(x) \in C$. + + Therefore $x^i \cdot c(x) \in C ~\forall i \in [n]$ + + and since $C$ is linear, $a(x) \cdot c(x) \in C$ + + ie. + $$a_0 \cdot c(x) + a_1 \cdot x \cdot c(x) + a_2 \cdot x^2 \cdot c(x) + \ldots + a_{n-1} \cdot x^{n-1} \cdot c(x) \in C$$ + $\forall a(x) \in \mathbb{F}_q[x]/(x^n-1)$. +\end{proof} + +\begin{cor}{} + $\mathbb{F}_q[x]/(x^n -1)$ is a PID (Principal Ideal Domain). + + Thus $C$ consists of the multiples of $g(x) \in C$ monic and of lowest degree. + + Therefore, + \begin{itemize} + \item[$\Longrightarrow$] $g(x)$ is the \emph{generator polynomial} (more at \ref{12.9}) of $C$: $C= \langle g(x) \rangle$. + \item[$\Longrightarrow$] $g(x)$ is divisor of $x^n -1$, ie. $g(x) | (x^n-1)$.\\ + since otherwise $gcd(x^n-1, g(x))$ would be a polynomial in $C$ with degree $< deg(g(x))$, a contradiction. + + \end{itemize} +\end{cor} +\vspace{0.5cm} + +\vspace{1.0cm} +Let $f(x) \in R_n$, $\langle f(x) \rangle$ the subset of $R_n$ consisting of all multiples of $f(x)$ (reduced modulo $x^n-1$). ie. +$$\langle f(x) \rangle = \{ r(x) \cdot f(x) ~|~ r(x) \in R_n \}$$ + + +\begin{thm}{12.7} + for any $f(x) \in R_n$, the set $\langle f(x) \rangle$ is a cyclic code; named the \emph{code generated by $f(x)$}. +\end{thm} +\begin{proof} + check conditions (i), (ii) of Theorem \ref{12.6}: + \begin{enumerate}[i.] + \item if $a(x)f(x),~ b(x)f(x) \in \langle f(x) \rangle$ then + $$a(x)f(x)+b(x)f(x)= (a(x)+ b(x)) f(x) \in \langle f(x) \rangle$$ + + \item if $a(x)f(x) \in \langle f(x) \rangle$ and $r(x) \in R_n$, then + $$r(x) (a(x)f(x))= (r(x) \cdot a(x)) f(x) \in \langle f(x) \rangle$$ + \end{enumerate} +\end{proof} + +\begin{eg}{12.8} + $C=\langle 1+x^2 \rangle \in R_3$, with $GF(2)$. + + $R_3$ has $2^3=8$ elements. + + Multiply $1+x^2$ by each of the 8 elements of $R_3$ (reducing modulo $x^3-1$), obtaining 4 distinct codewords: + $$0, 1+x, 1+x^2, x+x^2$$ + Thus $C$ is the code $\{ 000, 110, 101, 011 \}$. +\end{eg} + + +\subsection{Generator polynomial and check polynomial} + +\begin{thm}{12.9} \label{12.9} + let $C$ a nonzero cyclic coded in $R_n$. Then + \begin{enumerate}[i.] + \item $\exists !~ g(x)$ monic, of smallest degree in $C$ + \item $C=\langle g(x) \rangle$ + \item $g(x)$ is a factor of $x^n -1$ + \end{enumerate} +\end{thm} +\begin{proof} + \begin{enumerate}[i.] + \item $\exists !~ g(x)$ monic, of smallest degree in $C$:\\ + let $g(x), h(x) \in C$ monic and of smallest degree. Then $g(x)-h(x) \in C$ with smaller degree, which is a contradiction if $g(x) \neq h(x)$ + + \item $C=<g(x)>$:\\ + let $a(x) \in C$. By division algorithm for $F_q[x]$, + $$a(x) = q(x) g(x) + r(x)$$ + with $deg(r(x)) < deg(g(x))$. + + But $r(x) = a(x) - q(x)g(x) \in C$ by the properties of cyclic codes (Theorem \ref{12.6}, $a,g \in C$ and $C$ an ideal) + + By minimality of $deg(g(x))$, must have $r(x) = 0$, therefore + $$a(x) \in \langle g(x) \rangle \forall a(x) \in C$$ + $$\Longrightarrow~ C=\langle g(x) \rangle$$ + + \item $g(x)$ is a factor of $x^n -1$:\\ + by division algorithm, + $$x^n -1 = q(x) g(x) + r(x)$$ + with $deg(r(x)) < deg(g(x))$. + + But then $r(x) = -q(x) g(x) \bmod{x^n -1}$, ie. $r(x)$ is a multiple of $g(x)$, and so $r(x) \in \langle g(X) \rangle$. + + By the minimality of $deg(g(x))$, we must have $r(X)=0$, which implies + $$x^n -1 = q(x) \cdot g(x) + 0$$ + $\Longrightarrow~ g(x)$ is a factor of $(x^n-1)$. + \end{enumerate} +\end{proof} + + +\begin{defn}{}[Generator polynomial] + let $C$ cyclic code, monic polynomial of least ddegree (given by Theorem \ref{12.9}) is called the \emph{generator polynomial} of $C$. + + Remark $C$ may contain other polynomials than the generator polynomial which also generate $C$. +\end{defn} + + +\begin{eg}{12.10} + All cyclic codes of length $3$:\\ + ie. ideals in $\mathbb{F}_2[x]/(x^3-1) ~\Longrightarrow$ factor $x^3-1$ in $\mathbb{F}_2$, every cyclic code corresponds to a divisor of $x^3-1$. + + $$x^3-1 = (x+1) \cdot (x^2+x+1)$$ + so by Theorem \ref{12.9}(ii): + + \begin{center} + \begin{tabular}{ c c c } + generator poly & code in $R_3$ & Corresponding code in $V(3,2)$\\ + \hline + 1 & all of $R_3$ & all of $V(3,2)$ \\ + $x+1$ & $\{0, 1+x, x+x^2,1+x^2\}$ & $\{000, 110, 011, 101\}$ \\ + $x^2+x+1$ & $\{0, 1+x+x^2\}$ & $\{000, 111\}$ \\ + $x^3-1$ & $\{0\}$ & $\{000\}$ + \end{tabular} + \end{center} + + Notice that the 2nd column contains the multiples $\pmod{x^3-1}$ of the polynomials at the 1st column. +\end{eg} + +\begin{lemma}{12.11} + let $g(x)=g_0 + g_1 + \ldots + g_r x^r$ be the generator polynomial. Then $g_0$ is nonzero. +\end{lemma} +\begin{proof} + by contradiction, let $g_0=0$. Then $x^{n-1} \cdot g(x) = x^{-1} \cdot g(x) \in C$ with degree $r-1$. + + This contradicts minimality of $deg(g(x))$; thus $g_0 \neq 0$. +\end{proof} + +\begin{thm}{12.12} \label{12.12} + let $C$ cyclic code with generator polynomial $g(x) = g_0 + g_1 x + \ldots + g_r x^r$. Then $dim(C)=n-r$, and a GM for $C$ is + $$ + G= \begin{pmatrix} + g_0 & g_1 & g_2 & \cdots & g_r & 0 & 0 & \cdots & 0\\ + 0 & g_0 & g_1 & g_2 & \cdots & g_r & 0 & \cdots & 0\\ + 0 & 0 & g_0 & g_1 & g_2 & \cdots & g_r & \cdots & 0\\ + & \vdots & & & & & & \vdots\\ + 0 & 0 & \cdots & 0 & g_0 & g_1 & g_2 & \cdots & g_r\\ + \end{pmatrix} + $$ +\end{thm} +\begin{proof} + the $n-r$ rows of $G$ are linear independent because the echelon of nonzero $g_0$'s with $0$'s below. + + These $n-r$ represent the codewords $g(x), x \cdot g(x), x^2 g(x), \ldots, x^{n-r-1}g(x)$. + + It remains to show that every codeword in $C$ can be expressed as a linear combination of them. + + From Theorem \ref{12.9}.(ii), if $a(x) \in C$ then $a(x)=q(x)\cdot g(x)$ for $q(x) \in \mathbb{F}_q[x]$. + + Since $deg(a(x)) <n,~~ deg(q(x)) < n-r$. + + Hence + \begin{align*} + q(x)g(x) &= (q_0+q_1 x + \ldots + q_{n-r-1} x^{n-r-q}) \cdot g(x)\\ + &= q_0 g(x)+q_1 x g(x) + \ldots + q_{n-r-1} x^{n-r-q} g(x) + \end{align*} + which is the desired linear combination. +\end{proof} + + +\begin{defn}{}[check polynomial] + For generator polynomial $g(x)$, which we know is a factor of $x^n -1$. + + Then, the \emph{check polynomial} $h(x)$ is such that + $$x^n-1 = g(x) h(x)$$ + + Since $g(x)$ is monic, so also is $h(x)$. By Theorem \ref{12.12}, + $$deg(g(x)) = n-k ~~\Longrightarrow~~ deg(h(x))=k$$ +\end{defn} + +\begin{thm}{12.14} \label{12.14} + $c(x) \in R_n$ is $c(x) \in C$ iff $c(x) \cdot h(x) =0$. +\end{thm} +\begin{proof} + in $R_n: ~ g(x) \cdot h(x) = x^n -1 = 0 \bmod{x_n -1}$,\\ + hence + $$c(x) \in C ~\stackrel{implies}{\Longrightarrow}~ c(x) = a(x) \cdot g(x)$$ + for some $a(x) \in R_n$. + + \begin{align*} + \Longrightarrow~ c(x) \cdot h(x) &= \overbrace{a(x) \cdot g(x)}^{c(x)} \cdot h(x)\\ + (\text{note that}~ g(x) &\cdot h(x)=0)\\ + &= a(x) \cdot 0 = 0 + \end{align*} + $\Longrightarrow~ c(x) \cdot h(x) = 0$ as stated. + + + \vspace{0.6cm} + Conversely, suppose $c(x) \cdot h(x) = 0$. + + By division algorithm, $c(x) = q(x) \cdot g(x) + r(x)$ with $deg(r) < n-k$. + + Then, $c(x) \cdot h(x) = 0$ implies + \begin{align*} + (q(x) \cdot g(x) + r(x)) \cdot h(x) &= 0\\ + q(x) \cdot g(x) \cdot h(x) + r(x) \cdot h(x) &= 0\\ + \text{recall}~ g(x)\cdot h(x) = x^n -1,~ \text{thus,}&\\ + 0 + r(x) \cdot h(x) &=0\\ + r(x) \cdot h(x) &= 0\\ + \text{ie.} r(x) \cdot h(x) = 0 \pmod{x^n-1} + \end{align*} + + But $deg(r(x) \cdot h(x)) < n-k +k = n$, so $r(x) \cdot h(x)= 0$ in $\mathbb{F}_q$. + + Hence $r(x)=0$, thus + \begin{align*} + c(x) &= q(x) \cdot g(x) \in C\\ + &\Longrightarrow~ c(x) \in C + \end{align*} + + since $C$ is an ideal of $R_n$ and $g(x) \in C$ and $q(x) \in R_n$. +\end{proof} + +\subsection{Maximal and minimal cyclic codes} + +Let $x^n-1 = f_1(x) \cdot f_2(x) \cdot \ldots \cdot f_t(x)$, with $f_i(x)$ irreducible polynomials. + +\begin{defn}{6.1.6}[maximal and minimal cyclic codes] + the cyclic code generated by $f_i(x)$ is called a \emph{maximal cyclic code} (since it's a maximal ideal), denoted $M_i^+$. + + The code generated by $(x^n-1)/f_i(x)$ is called a \emph{minimal cyclic code}, denoted $M_i^-$. Also named \emph{irreducible code}. +\end{defn} + +\vspace{0.5cm} + +\begin{defn}{}[Zeros of a cyclic code] + Let $x^n-1= f_1(x) \cdot \ldots \cdot f_t(x)$. Let $\beta_i$ be a zero of $f_i(x)$ in some extension field of $\mathbb{F}_q$\\ + ie. $f_i(\beta)=0$, and $f_i(x)$ is the minimal polynomial of $\beta_i$. +\end{defn} + +$\Longrightarrow~ M_i^+$ is the set of polynomials $c(x)$ for which $c(\beta_i)=0$. + +In general, a cyclic code can be specified by requiring that all codewords have certain zeros: require that all codewords have $\beta_i$ points as zeros. For example: + +Start by any set $\alpha_1, \alpha_2, \ldots, \alpha_s$. Define the code $C$ by +$$c(x) \in C ~\text{iff}~ c(\alpha_i)=0 ~\forall i=1,2, \ldots, s$$ +then $C$ is cyclic, and the generator polynomial is the least common multiple (lcm) of the minimal polynomials of $\alpha_1, \alpha_2, \ldots, \alpha_s$. + +\subsection{Hamming cyclic codes} +\begin{thm}{6.3.1} + let $n := (q^m - 1)/(q-1)$, let $\beta$ a primitive $n$-th root of unity in $\mathbb{F}_{q^m}$. Let $(m, q-1)=1$. + + The cyclic code $C:= \{ c(x) | c(\beta)=0 \}$ is equivalent to the $[, n-m]$ Hamming code over $\mathbb{F}_q$. +\end{thm} +\begin{proof} + since $n=(q-1) \cdot (q^{m-2} + 2 q^{m-3} + \ldots + m-1) + m$ have $(n, q-1) = (m, q-1) = 1$. + + Therefore $\beta^{i(q-1)} \neq 1 ~\forall i \in [n]$, ie. $\beta^i \neq \mathbb{F}_q ~\forall i \in [n]$. + + Columns of $H$, which are the representations of $1, \beta, \beta^2, \ldots, \beta^{n-1}$ as vectors in $\mathbb{F}_{q^m}$, are pairwise linearly independent over $\mathbb{F}_q$. + + So $H$ is the PCM of an $[n, n-m]$ Hamming code. +\end{proof} + +\begin{eg}{6.3.2} + smallest extension of $\mathbb{F}_2$ which contains a primitive 9-th root of unity is $\mathbb{F}_{2^6}$. + + Let $\alpha$ a primitive element of the field, then $\alpha^63=1$ ,and $\beta := \alpha^7$ is a primitive 9-th root of unity. + + Then, the minimal polynomial of $\beta$ has the zeros + $$\beta, \beta^2, \beta^4, \beta^8, \beta^{16}=\beta^7, \beta^{14}=\beta^5$$ + + $\Longrightarrow$ min. polynomial: $(x^9 - 1)/(x^3 -1) = x^6 + x^3 + 1$. + + So $(x^9-1) = \underbrace{(x-1)}_{f_1(x)} \underbrace{(x^2+x+1)}_{f_2(x)} \underbrace{(x^6+x^3 + 1)}_{f_3(x)}$. + + The code $M_3^+$ has pairwise independent columns in $H$, ie. min.distance $\geq 3$. + + $M_3^+$ consists of codewords $(c_0 c_1 c_2 ~~ c_0 c_1 c_2 ~~ c_0 c_1 c_2)$, so $d=3$. + + The code $M_3^-$ has check polynomial $x^6 + x^3 + 1$, so it's a $[9, 6]$-code. + + Since $x^3-1 \in M_3^-$ (is a codeword), the distance is $2$. +\end{eg} + + +\subsection{Idempotent of a cyclic code} + +\begin{thm}{6.4.1} + $\exists!~ c(x) \in C$ which is an identity element for $C$. +\end{thm} +\begin{proof} + let $g(x)$ generator polynomial, $h(x)$ check polynomial. + + ie. $g(x) \cdot h(x) = x^n -1$ in $\mathbb{F}_q[x]$. + + Since $x^n -1$ has no multiple zeros (ie. has simple zeros),\\ + \hspace*{2em} we have $(g(x), h(x))=1$, hence by the Bezout identity: + $$\exists~ a(x), b(x) \in \mathbb{F}_q[x] ~\text{s.th.}~ a(x) g(x) + b(x) h(x) = gcd(g, h)=1$$ + + Define $c(x) := a(x) g(x) = 1-b(x) h(x)$. + + Clearly $c(x) \in C$. Furthermore, if $p(x) g(x) \in C$ (ie. $p(x)\cdot g(x)$ is any codeword in $C$), then + \begin{align*} + c(x) p(x) g(x) &= \underbrace{(1-b(x)h(x))}_{c(x)} p(x) g(x)\\ + &= p(x)g(x) - b(x)h(x)p(x)g(x)\\ + &(recall: g(x)h(x)=x^n-1)\\ + &= p(x) g(x) - b(x) p(x) \underbrace{g(x) h(x)}_{=x^n-1}\\ + &= p(x) g(x) \pmod{x^n -1} + \end{align*} + + So $c(x)$ is an identity element for $C$, and hence is unique. +\end{proof} + +Recall: +\begin{itemize} + \item[nilpotent] $a \in A$ s.th. $a^n=0$ for $n>0$ + \item[idempotent] $e \in A$ s.th. $e^2 = e$ +\end{itemize} + +\begin{defn}{6.4.2}[primitive idempotent] + the idempotent of an irreducible cyclic code $M_i^-$ is called a \emph{primitive idempotent}, denoted by $\theta_i(x)$. +\end{defn} + +\begin{thm}{6.4.3} + if $C_1, C_2$ are cyclic codes with idempotents $c_1(x), c_2(x)$, then + \begin{enumerate}[i.] + \item $C_1 \cap C_2$ has idempotent $c_1(x) \cdot c_2(x)$ + \item $C_1 + C_2$, ie. the set of all words $a+b$ with $a \in C_1,~ b \in C_2$, has idempotent $c_1(x) + c_2(x) + c_1(x) \cdot c_2(x) \in C_1+C_2$. + \end{enumerate} +\end{thm} + +\begin{thm}{6.4.4} + for the primitive idempotent we have: + \begin{enumerate}[i.] + \item $\theta_i(x) \theta_j(x)=0$ if $i \neq j$ + \item $\sum_{i=1}^t \theta_i(x) = 1$ + \item $1+ \theta_{i_1}(x) + \theta_{i_2}(x) + \ldots + \theta_{i_r}(x)$ is the idempotent of the code with generator $f_{i_1}(x) \cdot f_{i_2}(x) \cdot \ldots \cdot f_{i_r}(x)$. + \end{enumerate} +\end{thm} + +\subsection{Trace representation} + +\begin{defn}{1.1.29} + $q=p^r$, trace: $Tr: \mathbb{F}_q \longrightarrow \mathbb{F}_p$. + + If $\zeta \in \mathbb{F}_q$, then + $$Tr(\zeta) := \zeta + \zeta^p + \zeta^{p^2} + \ldots + \zeta^{p^{r-1}} \in \mathbb{F}_p$$ +\end{defn} + +\begin{thm}{1.1.30} \label{1.1.30} + properties of the trace function: + \begin{enumerate}[i.] + \item $\forall \zeta \in \mathbb{F}_q, ~~ Tr(\zeta) \in \mathbb{F}_p$ + \item there are elements $\theta \in \mathbb{F}_p$ such that $Tr(\zeta) \neq 0$ + \item $Tr$ is a linear mapping. + \end{enumerate} +\end{thm} +\begin{proof} + \begin{enumerate}[i.] + \item by definition $(Tr(\zeta))^p = Tr(\zeta)$ + \item the equation $x + x^p + \ldots + x^{p^{r-1}}=0$ can not have $q$ roots in $\mathbb{F}_q$ + \item since $(\zeta + \eta)^p = \zeta^p + \eta^p$ and $\forall a \in \mathbb{F}_p$ we have $a^p = a$ + \end{enumerate} +\end{proof} + +\begin{cor}{} + $Tr$ takes every value $p^{-1}q$ times, and the polynomial $x + x^p + \ldots + x^{p^{r-1}}$ is a product of minimal polynomials. +\end{cor} + +\begin{thm}{6.5.1} + let $k$ be the multiplicative order of $p mod n$, $q = p^k$, $\beta$ a primitive n-th root of unity in $\mathbb{F}_q$. + + Then the set + $$V := \{ c(\zeta) := ( Tr(\zeta),~ Tr(\zeta \beta),~ \ldots,~ Tr(\zeta \beta^{n-1})) ~|~ \zeta \in \mathbb{F}_q \}$$ + is an $[n, k]$ irreducible code over $\mathbb{F}_p$. +\end{thm} +\begin{proof} + by Theorem \ref{1.1.30}, $V$ is a linear code, and $c(\zeta \beta^-1)$ is a cyclic shift of $c(\zeta)$; hence $V$ is a cyclic code. + + Since $\beta$ is in no subfield of $\mathbb{F}_q$, we know that $\beta$ is a zero of an irreducible polynomial $h(x) = h_0 + h_1 x + \ldots + h_k x^k$. + + If $c(\zeta) = (c_0, c_1, \ldots, c_{n-1})$, then + $$\sum_{i=0}^k c_i h_i = Tr(\zeta h(\beta)) = Tr(0) = 0$$ + since $\beta$ is a zero of $h(x)$, so that $h(\beta)=0$. + + + So we observer $c(x) h(x) = 0$, from Theorem \ref{12.14} this means that $h(x)$ is the check polynomial,\\ + ie. we have a parity check equation for the code $V$. + + Since $h(x)$ irreducible, $x^k \cdot h(x^{-1})$ is the check polynomial for $V$, therefore, $V$ is an irreducible cyclic $[n, k]$-code. +\end{proof} + +\subsection{Mattson-Solomon Polynomial} + +\begin{defn}{}[Mattson-Solomon polynomial] +Let $\beta$ primitive n-th root of unity in the extension field $E$ of $\mathbb{F}_q$. + +Let $T$ the set of polynomials over $E$ with degree at most $n-1$, ie. +$$T = \{ p(x) \in E ~|~ deg(p(x)) \leq n-1 \}$$ + +Define $\Phi: T \longrightarrow T$ as: + +let $a(x) \in T$, then $A(X) = (\Phi_a)(X)$ is defined by +$$A(X) := \sum_{j=1}^n a(\beta^j) X^{n-j}$$ + +If $a=(a_0, a_1, \ldots, a_{n-1})$, the polynomial $A(X)$ obtained from $a_0 + a_1 x + \ldots a_{n-1} x^{n-1}$ is called the \emph{Mattson-Solomon polynomial} of the vector $a$. +\end{defn} + +\begin{lemma}{6.5.3} \label{6.5.3} + the inverse of $\Phi$ is given by + $$a(x) = n^{-1}(\Phi A)(x^{-1}) \pmod{x^n -1}$$ +\end{lemma} +\begin{proof} + $$A(\beta^k) = \sum_{j=1}^n \sum_{i=0}^{n-1} a_i \beta^{ij} \beta^{-kj} = \sum_{i=0}^{n-1} a_i \sum_{j=1}^n \beta^{(i-k)j}=n a_k$$ +\end{proof} + +\begin{remark}{} + Notation: + \begin{itemize} + \item[] $\circ$: multiplication of polynomials $mod (x^n -1)$ + \item[] $*$: defined by + $$(\sum a_i x^i) * (\sum b_i x^i) := \sum a_i b_i x^i$$ + \end{itemize} + + $\Phi$ is an isomorphism of the ring $(T, +, \circ)$ onto the ring $(T, +, *)$. +\end{remark} + +\begin{lemma}{6.5.4} + let $V$ a cyclic code over $\mathbb{F}_q$ generated by + $$g(x) = \prod_{k \in K} (x - \beta^k)$$ + + Suppose $\{1, 2, \ldots, d-1 \} \subset K$ and $a \in V$. + + Then the degree of the Mattson-Solomon polynomial $A$ of $a$ is at most $n-d$. +\end{lemma} +\begin{proof} + $a(\beta^j) = 0$ for $j \in [d]$ since $g(x)|a(x)$. + + Thus at the equation $A(X) := \sum_{j=1}^n a(\beta^j) X^{n-j}$, it will be $0$ between $1 \leq j \leq d-1$, so that degree is $n-d$. +\end{proof} + +\begin{thm}{6.5.5} + if there are $r$ n-th roots of unity which are zeros of the Mattson-Solomon polynomial $A$ of a word $a$, then $w(a) = n-r$. +\end{thm} +\begin{proof} + consequence of Lemma \ref{6.5.3}. \end{proof} \bibliographystyle{unsrt}
M commutative-algebra-notes.tex → commutative-algebra-notes.tex

@@ -225,7 +225,7 @@ Let $p(X) \in I$ be of minimal degree among nonzero elements of $I$.

Observe that $(p(X)) \subseteq I$, because $p(X) \in I$ and $I$ is an ideal. - Let $f(X) \in I$. By Euclidean division algorithm in $K[X]$, $\exists q, r \in K[X]$ such that $f(X) = q(X) \cdot p(X) + r(X)$ with eithr $r(X)=0$ or $deg(r) < deg(p)$. + Let $f(X) \in I$. By Euclidean division algorithm in $K[X]$, $\exists q, r \in K[X]$ such that $f(X) = q(X) \cdot p(X) + r(X)$ with either $r(X)=0$ or $deg(r) < deg(p)$. Since $f,p \in I$, then $r(X) = f(X) - q(X)\cdot p(X) \in I$