{Vectors in } {Vectors in } We can represent a codeword as:

{codewords}={ } =

In a cyclic code the encoded words would then look like:

or

for all c If any codeword, length , is rotated n-times, we get back the same codeword. This code is similar to the other linear codes in that a linear map is defined as where is a linear map that rotates the elements of the code words. In matrix representation, is a rotation of the identity matrix. = The matrix rotates the code words by: For any cyclic code, we know that ; . To find cyclic codes, we look for polynomials that divide . If our cyclic code converts a vector of to one a vector of , then k = the degree of the polynomial dividing .

__Generating Matrix__
In order to make the generating matrix for a given cyclic code, we
have to pick a polynomial. From the last example, we can pick either
or . The generating matrix will be a k x n matrix,
where k=n- degree of polynomial and n= degree of code. In the last
example n=3.
__x+1__ G=
k=3-1=2

The first row of the generating matrix begins with the coefficients
on the polynomial, and the remaining spaces are filled with zeros.
The rows below are rotations of the first row.
__ G=
k=3-2=1
____Ex for n=4__
If we wanted to use the code where n=4, we would have to find the
divisors for . The divisors for this polynomial are ,
, and
. Although we had the divisor when
n=3, the generating matrix here will be different.
__x+1__ G=
k=4-1=3
__ G=
k=4-2=2
____
__ G=
k=4-3=1

In the previous two linear codes, we constructed the generating
matrix by defining the generating matrix G as G=(I).
Because we constructed the generating matrix first in the cyclic
codes, we can derive the matrix by putting the G matrix in
reduced row echelon form and taking the submatrix for .
__Finding __
From the example where n=3, we know that the generating matrix for
is
G=
If we block out the nested identity matrix, we are left with
.