0% found this document useful (0 votes)
4 views23 pages

Final Report

The document discusses a mini project on Quadratic Residue Codes submitted by students of Sardar Vallabhbhai National Institute of Technology as part of their Master's program in Mathematics. It covers the fundamentals of coding theory, including error-correcting codes, cyclic codes, and specifically focuses on Quadratic Residue codes. The project is supervised by Dr. Amit Sharma and aims to provide a foundation for better encoding algorithms in data transmission.

Uploaded by

soumyadeepnewacc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views23 pages

Final Report

The document discusses a mini project on Quadratic Residue Codes submitted by students of Sardar Vallabhbhai National Institute of Technology as part of their Master's program in Mathematics. It covers the fundamentals of coding theory, including error-correcting codes, cyclic codes, and specifically focuses on Quadratic Residue codes. The project is supervised by Dr. Amit Sharma and aims to provide a foundation for better encoding algorithms in data transmission.

Uploaded by

soumyadeepnewacc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

On Quadratic Residue Codes

submitted in partial fulfillment of the requirements


for the course of MA-308 (Mini Project)
in
3 Year (6 Semester) of
rd th

(Five Year Integrated Program)


in Mathematics
submitted by

Abhijeet Bansod (I20MA006)


Rahul Maurya (I20MA030)
Soumyadeep Mandal (I20MA004)

under the supervision of


Dr. Amit Sharma
Assistant Professor

DEPARTMENT OF MATHEMATICS
SARDAR VALLABHBHAI NATIONAL INSTITUTE OF TECHNOLOGY
SURAT-395007, GUJARAT, INDIA

May 2023
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
(An Institute of National Importance, NITSER Act 2007)
Surat-395007, Gujarat, India.

APPROVAL SHEET

The report entitled “On Quadratic Residue Codes” by Abhijeet Bansod, Rahul Maurya, and
Soumyadeep Mandal is approved for the completion of the course MA-308 (Mini Project) for the de-
gree of Master of Science in Mathematics.

Dr. A.K. Shukla


(Internal Examiner)

Dr. Amit Sharma


(Supervisor)

Dr. Shailesh K. Srivastava


(Chairman)

Date: 10/05/2023
Place: Surat

i
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
(An Institute of National Importance, NITSER Act 2007)
Surat-395007, Gujarat, India.

DECLARATION

We hereby declare that the report entitled “On Quadratic Residue Codes” is a genuine record of work
carried out by us and no part of this report has been submitted to any University or Institution for
the completion of any course.

Abhijeet Bansod
Admission No.: I20MA006
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
Surat-395007

Rahul Maurya
Admission No.: I20MA030
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
Surat-395007

Soumyadeep Mandal
Admission No.: I20MA004
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
Surat-395007

Date: 10/05/2023
Place: Surat

ii
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
(An Institute of National Importance, NITSER Act 2007)
Surat-395007, Gujarat, India.

CERTIFICATE

This is to certify that the course’s report entitled “On Quadratic Residue Codes” submitted by Abhi-
jeet Bansod, Rahul Maurya and Soumyadeep Mandal in fulfillment for the completion of the course
MA 308 (Mini Project) at Sardar Vallabhbhai National Institute of Technology, Surat is a record of
their work carried out under my supervision and guidance.

Dr. Amit Sharma


Assistant Professor
Department of Mathematics
Sardar Vallabhbhai National Institute of Technology
Surat-395007

Date: 10/05/2023
Place: Surat

iii
Acknowledgment

We are very grateful as students of 5 Years Integrated M.Sc. in Mathematics at Sardar Vallabhbhai
National Institute of Technology, Surat. First, we would like to express our genuine appreciation
to our supervisor Dr. Amit Sharma for his guidance in our work. To work with him is a great
opportunity and a pleasure for us. We are thankful to Dr. Anupam Shukla, Director of SVNIT,
and Dr. Jayesh M. Dhodiya, Head of the Department of Mathematics, and all other Faculties, Re-
search Scholars, and Non-Teaching staff of our department for their regular inspiration and co-activity.

I would like to extend my sincere gratitude towards my parents who are always supporting me and
Dr. Amit Sharma for his constant guidance and support in completing this project.

(Abhijeet Bansod)

I would like to extend my sincere gratitude towards my parents who are always supporting me and
Dr. Amit Sharma for his constant guidance and support in completing this project.

(Rahul Maurya)

I would like to express gratitude towards my parents who are always supporting me and Dr. Amit
Sharma for his constant guidance and support in completing this project. He had corrected our mis-
takes regarding this project in the past which has helped us to make our project as accurate as possible.

(Soumyadeep Mandal)

iv
Preface

Coding theory is an exciting and rapidly growing field of mathematics and computer science that has
revolutionized the way we communicate and store information. The earliest form of coding can be
found in Morse codes which were used for secure end-end communications between two people.
At its core, coding theory is concerned with the design and analysis of error-correcting codes, which
are mathematical structures that enable the detection and correction of errors that can occur during
data transmission or storage.
In this project, we have introduced some basic concepts of coding theory which give a solid foundation
for what lies ahead in terms of providing algorithms for better encoding of messages.

In Chapter 1, we have introduced the basics of coding theory with the main intention of familiarising
ourselves with the Nearest Neighbour Decoding rule. In Chapter 2 the cyclic codes are being studied
whose special case would be studied further in Chapter 3 as Quadratic Residue codes. QR codes fall
into a special category of codes called the BCH codes.

v
Contents

1 Introduction To Coding Theory 1


1.1 Origins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation for coding theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Hamming (7, 4) code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Cyclic Codes 4
2.1 Definitions and Generating Polynomials of Cyclic Code . . . . . . . . . . . . . . . . . 4
2.2 Generator and Parity Check Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Quadratic Residue Codes 9


3.1 Quadratic Residues and Non-Residues . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Quadratic Residue codes over Fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Conclusion and Further Study 11

vi
Chapter 1

Introduction To Coding Theory

1.1 Origins
Many applications of finite fields have led to the development of Algebraic Coding Theory. This
branch of mathematics deals with error-correcting codes, which are employed for transmitting digital
data over noisy channels. The inception of this theory dates back to the 1940s, arising as a response to
practical communication challenges. A significant milestone was achieved in 1948 with the publication
of Claude Shannon’s groundbreaking paper ”A Mathematical Theory of Communication.” Shannon
introduced the concept of channel capacity, which quantifies the maximum amount of information
that can be conveyed through a noisy channel. In today’s world, Algebraic codes find application in
CDs, DVDs, fax machines, and scanners.

1.2 Motivation for coding theory


Let’s consider a practical example that can serve as motivation for studying coding theory. Imagine a
hypothetical scenario where we need to transmit one of two possible signals to a spacecraft approach-
ing Mars. If the proposed landing site is deemed unfavorable, we want to command the spacecraft to
orbit the planet. Otherwise, we’ll signal it to proceed with landing. Here, we’ll let 0 denote the signal
for landing and 1 denote the signal for orbiting. However, it’s essential to acknowledge that due to
noise in the imperfect transmission channel, incorrect messages can be received.

To detect and minimize the likelihood of such occurrences, we can deliberately introduce errors into
the transmission process. For instance, if we intend for the craft to orbit Mars, we could transmit
five consecutive 0s. The craft’s computer will receive this five-digit code and decode it by assess-
ing the majority of bits. Consequently, if 00000 is transmitted and 10001 is received, the computer
will determine that the intended message is 0. To lead the computer to make an incorrect decision,
at least three errors must manifest during transmission, as in this case where only two bits were flipped.

It’s important to note that depending on the problem’s complexity or the number of code words to be
sent, we can choose a scheme to introduce redundancy into the decoded message by a factor of n-folds,
where n > 0 (Gallian, 2021).[2] We select the value of n strategically to minimize the probability of
errors.

The general procedure of sending a message over some noisy channel can be summarised using the
following figure:

1
1.3 Hamming (7, 4) code
In the previous example, we saw that by adding redundancy of four bits and then using the maximum
likelihood decoding procedure, we found the actual code. Hamming (7, 4) code is an error correcting
code, which is in the form of a 7x4 matrix given by:
S T
1 0 0 0
W X
W0 1 0 0X
W X
W X
W0 0 1 0X
W X
G=W
W0 0 0 1X
X
W X
W1 1 0 0X
W X
W0 1 1 0X
U V
1 0 1 0

Note that the maximum number of possible code messages that can be sent over for transmission is
16. Each of these messages can be multiplied by the above matrix to give a 1x7 tuple.
Let us see a few of the 16 possible encoded words as in the table:

d G*d
0000 0000000
0001 0001011
0010 0010111
0100 0100101
1000 1000110

The transformation done in the above step is given by

H =Gúd

Where H are the code words formed upon transforming and d are the code words that are to be
encoded (first column of the above table). Now consider the underlined as our intended message to
be sent which is 1000. Its encoded message from the table is 1000110. Let due to a transmission error
the message received is 1100110, where only the second digit is flipped. Hence here 1100110 would
still be received as 1000 since considering any other 1x7 value from the table, it would have at least
one more bit flipped (ie... at least two bits flipped). Hence the Hamming distance of this code is 2.
This method of finding the original message is called nearest neighbor decoding rule.

2
The Hamming [7,4] can e resolved into Venn diagrams. Start by placing each digit of the message
(here: 1000) into the compartments labeled d1 , d2 , d3 , d4 and fill the rest with 0’s and 1’s in such a
way that the number of 1’s in each circle is even, so as to preserve the parity.

p1 , p2 , p3 are referred to as the parity bits and are chosen in a way that ensures an even number of
1’s in each of the three circles. These bits are also populated based on the received code word. For
instance, considering the code we received for 1000 as 0001101 (which contains an error), we select
p1 = 1, p2 = 1, p3 = 0. The issue here is that both of the bottom two circles would then have an
odd number of 1’s. This fact indicates that an error has been encountered in the lower two circles
of the code word. As a result, employing Venn diagrams enables us to identify errors in the received
message.

3
Chapter 2

Cyclic Codes

2.1 Definitions and Generating Polynomials of Cyclic Code


Definition 2.1.1 : Any Subset S, of (Fqn ) is said to be cyclic if it satisfies, (an≠1 , a0 , a1 , ...., an≠2 ) œ
S whenever (a0 , a1 , ...., an ) œ S.

In other words, a code whose words can be shifted linearly and still fit in the same set can be called
as a cyclic code.
Some examples of a cyclic code can be given as :

• C = [000, 110, 101, 011] Note that this is also a linear code.

• (7, 4) Hamming code: This is a binary cyclic code with length 7

so, it requires us to define a certain bijective mapping that converts the combinatorial structure of
cyclic codes into an algebraic one and the map is :

fi : Fqn æ Fq [x]/(xn ≠ 1), (a0 , a1 , ..., an≠1 ) æ a0 + a1 x + .... + an≠1 xn≠1 (2.1)

A crucial ring that will be used over and over in this article is going to be: Fq [x]/(xn ≠ 1). An element
of the ring can be represented as a polynomial h(x) + (xn ≠ 1), where h(x) is any polynomial of degree
less than n.

Definition 2.1.2 Suppose, R is a ring, any nonempty subset I of R is called ideal if


(i) Both a + b and a ≠ b œ I, ’a, b œ I;
(ii) r.a œ I, ’r œ R and a œ I
In other words, the ideal of any ring just absorbs the elements of the ring and keeps its elements in
the ideal upon operation. An element g of I is said to be generator of the Ideal I if the entire Ideal I
can be written in the form :

< g > := [gr : r in R].

The following is an important theorem that we will take for granted but is essential to define generator
polynomials.

4
Theorem 2.1.3 A non empty subset of C of Fqn is a cyclic code if and only if the map pi(C) from
equation (2.1) is an ideal of Fqn [x]/(xn ≠ 1)

For example take C = (0,0,0) ,(1,1,1) ,(2,2,2). This is a cyclic code since if we map this code word
into its corresponding algebraic form in F3 [x]/(x3 ≠ 1) is [0, 1 + x + x2 , 2 + 2x + 2x2 ], which is an ideal
in F3 [x]/(x3 ≠ 1) since each of the elements is a multiple of 1 + x + x2 which is a factor of x3 ≠ 1.

Definition 2.1.4 The unique monic polynomial of the least degree of a nonzero ideal I of Fq [x]/(xn ≠1)
is called the generator polynomial of I. Its fi ≠1 is a generator polynomial of C.
The two phrases that limit the existence of a generator polynomial of a code are - ’unique’ and ’least
degree’.
For example, the cyclic code 000, 110, 011, 101. Hence the corresponding ideal for the code would be
: [0, 1 + x, x + x2 , 1 + x2 ]. Now notice that among the four mentioned polynomials, 1 + x is of the least
degree and monic, hence according to the definition is the generating polynomial of the ideal given.
Also, this can be verified because ’y belonging to the ideal y is a multiple of 1 + x.

But for the above claim to be true we also need to show that g(x) is a nonzero monic polynomial that is
having least degree in I, which can be proved directly from the division algorithm of polynomials, where
the remainder r(x) on dividing xn ≠ 1 by g(x) can be shown to be zero since deg(r(x)) < deg(g(x))
from division algorithm but this contradicts the fact that the degree of g(x) in I is minimum. Hence :

xn ≠ 1 = s(x)g(x)

So, it shows that g(x) divides xn ≠ 1. For a code of length n, the generating polynomial is of degree
n-1. The generator polynomial is often used to generate the parity check matrix of the code, which
will be studied in a later section.
But for the sake of clarity we can also take the example of the simplex code Here the Ideal can be
formed by converting each code word into polynomial form and can be presented as:

Code Word (S(3,2)) Polynomial form


0000000 0
1011100 1 + x + x3 + x4
2

0101110 x + x3 + x4 + x5
0010111 x2 + x4 + x5 + x6
1110010 1 + x + x2 + x5
1110010 x + x2 + x3 + x6
1001011 1 + x3 + x5 + x6
1100101 1 + x + x4 + x6

Notice in the table that the polynomial with the least degree is 1 + x2 + x3 + x4 which hence becomes
the generating polynomial of the ideal and hence the generator of S(2,3) is (1011100) by applying the
fi ≠1 transformation on the generator polynomial.

5
Now we can introduce a theorem that would later be very useful while stating the generating polyno-
mials of a quadratic residue code.
Theorem 2.1.5 Each monic divisor of xn ≠ 1 is the generator polynomial of some cyclic code in Fqn .
Proof : Let g(x) be a monic divisor of xn ≠ 1, and let C be the ideal of Fq [x] generated by g(x). We
want to show that C is a cyclic code with generator polynomial g(x).
It can be shown that C will be a linear code with the dimension of n. Let c(x) be an element of C,
and let h(x) = (xn ≠ 1)/g(x). Then, we can write c(x) = h(x)q(x) + r(x), where r(x) is a polynomial
of degree less than deg(g(x)). Since g(–i ) = 0 for i = 0, 1, . . . , n ≠ 1, we have r(–i ) = c(–i ) for
i = 0, 1, . . . , n ≠ 1. Therefore, the sequence r(–0 ), r(–1 ), . . . , r(–n≠1 ) is a cyclic shift of the sequence
c(–0 ), c(–1 ), . . . , c(–n≠1 ). Thus, C is a cyclic code with generator polynomial g(x).

Note : Every cyclic code is a Linear code. This is because a cyclic code is a subspace of a vector
space, and every subspace of a vector space is a linear space. Therefore, every cyclic code is a linear
code. Hence every code word in a cyclic code can be written as the linear combination of other code
words in the code.

Following the notion of generating a polynomial, we need to define the generator matrix and the parity
check matrix of a code, which would be useful in decoding the received words.

2.2 Generator and Parity Check Matrices


In the previous section, we showed that a cyclic code is totally determined by its generator polynomial.
Such a code should also have generator matrices determined by this polynomial.

Theorem 2.2.1 Let G(x) = g0 + .... + gk xk≠1 be a generating polynomial of a cyclic code C in Fqn .
Then the matrix :
S T S T
g0 g1 · · · gk 0 0 ··· 0 g(x)
W XW X
W 0 g0 g1 ··· gk 0 ··· 0XW xg(x) X
W XW X
G=W . .. . . .. X=W .. X
W .. . . . X W . X
U V U V
0 0 ··· g0 g1 · · · ··· gk xk≠1 g(x)

is a generator matrix of C.
This is true since g(x), xg(x), x2 g(x), ... form a basis of C, since they are clearly linearly independent
over Fq .
Hence we only need to know the generating polynomial to sufficiently know the generator matrix. This
matrix just spans the space of the code. These row vectors can be used to generate all the code words
of the code through linear combinations. What the generator matrix does is it carries a subspace V of
F k to the subspace of F n in a way that for any k-tuple, in V, such that the vector vG, will agree with
v in first k components and have some redundancy in the next n-k components. Now that we have
the generator matrix G we can easily find the corresponding code words by multiplying the message
matrix by G.
A simple code to demonstrate the procedure of finding the generator matrix as above can be given
by[3]:

6
k := 4;
n := 7;
R< x > := PolynomialRing(GF(2));
M := RandomMatrix(GF(2), k, n);
G := M;
for i in [k+1..n] do
Gi := ZeroMatrix(GF(2), k, 1);
for j in [1..k] do
Gi[j][1] := M[j][i];
end for;
G := HorizontalJoin(G, Gi);
end for;
G;

Definition 2.2.2 Let h(x) be a polynomial h(x) = h0 + h1 x + ... + hk xk . Then we can define the
parity check matrix to be:

S T
0 0 ··· 0 hk ··· h 1 h0
W X
W0 0 ··· hk · · · h1 h0 0 X
W X
H=W. .. .. .. .. .. .. .. X
W .. . . . . . . .X
U V
hk · · · h1 h0 0 ··· 0 0

We know that the generating polynomial g(x) is a divisor of xn ≠ 1. This shows us that there exists a
polynomial h(x) over the field Fq [x] such that g(x)h(x) = xn ≠ 1. Hence in the ring Fq [x]/(xn ≠ 1) we
have g(x)h(x) = 0 since xn ≠1 is treated as a 0 polynomial in the ring of Fq [x]/(xn ≠1). Hence this ma-
trix h(x) is nothing but the parity check polynomial or simply a check polynomial as defined above. [4]

A parity check matrix is used in a linear block code to identify whether an error has occurred during
transmission. A received word is multiplied by the parity check matrix and if the resulting product is
zero, it means that no errors have occurred. If the resulting product is non-zero, it means that there
is an error in the received word.

Now let us come back to the example of Hamming [7,4] code where we had seen that the generating
polynomial of it is 1 + x + x3 . Dividing xn ≠ 1 by 1 + x + x3 in the ring Fq [x]/(xn ≠ 1) we get the
polynomial 1 + x2 + x3 , , which is the check polynomial. Now let’s say we have the check polynomial,
then we can get the check polynomial from the check matrix using the following magma code:

R < x > := PolynomialRing(Rationals());


n := |c| ≠ 1; //length of the code
C := [1, 0, 1, 1, 0, 0, 0]; // parity check polynomial of the code
d := n - 1;
H := 0;
for i in [1..d] do
H +:= C[i + 1] ú xd≠i ;
end for;
H+1;

7
Hence for the Hamming [7,4] case, the generating polynomial from the above code would be g(x) =
1 + x + x3 , which can be obtained after dividing the polynomial xn ≠ 1 by (x ≠ 1) ú (checkpolynomial).

Another method to find the generator matrix without using the definition is to convert matrix A,
which is the matrix of all the messages into rows, and then find the reduced row echelon form of this
matrix. Now since the generator matrix is the span of the vector space of all the code words, this
RREF form of the matrix is nothing but the generator matrix after some exchange of rows to make it
in the form [Ik |A], where k is the degree of the generating polynomial. Hence,

G = [Ik |A]

The Parity check matrix can now be calculated from the generator matrix by,

H = [AT |In≠k ]

Example 2.2.3 : In this example finding of a parity-check matrix for a linear code C = < S >, where
S = 11101, 10110, 01011, 11010 is discussed
Here the RREF form of the matrix can be written as :
S T S T
1 1 1 0 1 1 1 1 0 1 S T
W X W X 1 0 0 0 1
W1 0 1 1 0X
X æ W0 1 0 1 1X
W W X
A=W
W0 X W0
X æ W0 1 0 1 1X
X
U 1 0 1 1V U 0 1 1 1V U V
0 0 1 1 1
1 1 0 1 0 0 0 0 0 0
S T
1 0 0 0 1
W X
Hence the Generator matrix G = W
U0 1 0 1 1V = [I3 |X]
X
0 0 1 1 1

The parity check matrix is given by: C D


0 1 1 1 0
H = [X T |I2 ] = .
1 1 1 0 1

Definition 2.2.4: A polynomial e(x) œ Rn is termed an idempotent in Rn if e2 (x) = e(x) (Abdallah,


Quadratic).[1]

Moreover, this idempotent element is also the unique codeword in cyclic code C that serves as an
identity element. Another observation here is that if every element in a ring R is idempotent, then
R is a commutative ring. This implies that each codeword v(x) in C can be expressed as v(x)e(x).
Naturally, a ring can contain multiple idempotents, but only one element can be both an idempotent
and an identity.
Consequently, the necessary conditions for code decoding solely depend on finding the generator ma-
trix G and the parity check matrix H. In the subsequent chapter, we will explore a class of cyclic codes
known as Quadratic Residue codes. We won’t delve into the steps of the decoding algorithm since our
primary goal is to identify improved codes for efficient decoding algorithms. Decoding is a process
that can be understood based on the knowledge of the generator matrix and the parity check matrix.

8
Chapter 3

Quadratic Residue Codes

3.1 Quadratic Residues and Non-Residues


The Quadratic Residue codes fall under a special family of cyclic codes. While they were initially
studied over finite fields in early works, recently, quadratic residue codes have been investigated over
some special rings like Zn , Zmp , etc..

Definition 3.1.1: An integer 0 < x < p is such that:

x2 © q(mod p)

In this case, q is referred to as the quadratic residue modulo p. For instance, the set of quadratic
residues modulo 10 includes 1, 4, 5, 6, and 9, while the set of quadratic non–residues consists of 2,
3, 7, and 8. It’s noteworthy that the number of non-zero Quadratic Residues and Quadratic Non -
Residues is exactly equal to p≠1 2 . In this section, it’s necessary for us to consider q as a quadratic
residue modulo n in Fq , where n represents the length of the codeword.
Checking whether each x, 0 < x < p, is a quadratic residue or not would become highly computa-
tional if p is a very large prime. However, Euler introduced a formula that quickly determines if x is
a quadratic residue or not.

p≠1
Theorem 3.1.2 Euler’s Criterion: For an integer r such that 0 < r < p, we have: r 2 © ±1(mod p).
The modulo is +1 if r is a quadratic residue and ≠1 if r is a quadratic non-residue.

Definition 3.1.3 Primitive Element: The primitive element of a finite field Fq serves as the generator
of the entire multiplicative group of the field. For instance, in the finite field F11 , 2 is a primitive
element for the set of quadratic residues since the set [22i |i = 0, 1, 2, 3, ...] cyclically generates the set
1, 3, 4, 5, 9. Notably, since we are only interested in generating the group of quadratic residues, we
only consider the even powers of 2. By taking the odd powers of 2, we generate all the quadratic
non-residues of 11.
Let’s denote:
Qp æ Set of quadratic residues Np æ Set of quadratic non-residues Thus, we can express the entire
field Fp as {0}fiQp fiNp . This statement can be algebraically demonstrated by factoring the polynomial
xn ≠ 1 into monomials whose roots are pth roots of unity. In this context, we will exclusively consider
quadratic residue codes in the binary case. The quadratic residue modulo p remains unaffected by the
choice of the primitive element of the field.

9
3.2 Quadratic Residue codes over Fp
We are now ready to proceed with a procedure to obtain the generator polynomial of the QR Codes.
r
Consider the factorization: xp ≠ 1 = p≠1 i=0 (x ≠ – ). The meaning of – will be explained shortly. The
i

above product can be factored into two polynomials as defined below:


r r
gQ (x) := rœQp (x ≠ –r ) and gN (x) := nœNp (x ≠ –n )
The value of – can be determined through a simple construction of a field Flm , chosen so that Fp is
a sub-field of this larger field. Here, l is a quadratic residue of p because it ensures the existence of a
generator polynomial of degree (p ≠ 1)/2 for the quadratic residue code.
Let ◊ be a primitive element of the field Flm . We define – as:
lm ≠1
–=◊ p .
We define – in this manner because if we observe that ◊ is a primitive element of Flm , then it follows
that:

= 1 =∆ –p = 1
m ≠1
◊l

Hence, we can now conclude that the order of – is p, and thus, – is a primitive element of the field
Fp .

10
Chapter 4

Conclusion and Further Study

In this project, we studied cyclic codes and also a special family of cyclic codes called Quadratic
Residue Codes. We observed that Finite fields, also known as Galois fields, play a major role in
Coding Theory. Given a q-ary (n, M, d)-code, where n represents the length of each codeword, the
size M measures the code’s efficiency, and the distance d (Hamming Distance of Code) indicates its
error-correcting capability. Therefore, different codes are introduced to maximize the values of M and
d, which is the main focus of interest in coding theory.

In conclusion, coding theory plays a significant role in information and communication systems. It
provides a framework for designing and analyzing error-correcting codes that can safeguard digital
data from errors and ensure reliable transmission. Coding theory is a rapidly evolving field, with new
codes and decoding algorithms being developed to meet the demands of modern technology. As data
storage and communication technologies continue to advance, the necessity for efficient and reliable
error-correcting codes becomes increasingly important (Levinson, 1970).

In this report, we provided a concise introduction to the basic concepts of coding and explained
why cyclic codes are effective in encoding and decoding messages. However, we did not address the
issue of efficiency. Why should we choose QR codes when other cyclic codes are already available?
Additionally, we demonstrated QR codes over Galois fields of the form Fpn , but we can enhance
error-correcting capabilities by studying Quadratic Residue Codes over fields like Z4 or Zpm , or over
linear shift fields like Fp + vFp . Such considerations can certainly motivate us to discover codes with
significantly improved efficiency.

11
Bibliography

[1] Enad HG AbdAllah and Mohammed Al-Ashker. On quadratic residue codes over finite commuta-
tive chain rings.

[2] Joseph A Gallian. Contemporary abstract algebra. Chapman and Hall/CRC, 2021.

[3] Markus Grassl. Searching for linear codes with large minimum distance. In Discovering Mathe-
matics with Magma: Reducing the Abstract to the Concrete, pages 287–313. Springer, 2006.

[4] Jacobus Hendricus Lint. Introduction to coding theory. Springer, 1999.

12
Digital Receipt
This receipt acknowledges that Turnitin received your paper. Below you will find the receipt
information regarding your submission.

The first page of your submissions is displayed below.

Submission author: I20ma- 006, 030, 004


Assignment title: Mini
Submission title: On Quadratic Residue Codes
File name: Quadratic_Residue_Codes_3_dragged.pdf
File size: 1.23M
Page count: 16
Word count: 4,512
Character count: 19,687
Submission date: 09-Aug-2023 07:55AM (UTC+0530)
Submission ID: 2143331625

Copyright 2023 Turnitin. All rights reserved.


On Quadratic Residue Codes
ORIGINALITY REPORT

18 %
SIMILARITY INDEX
14%
INTERNET SOURCES
12%
PUBLICATIONS
0%
STUDENT PAPERS

PRIMARY SOURCES

1
ebin.pub
Internet Source 4%
2
diamond.boisestate.edu
Internet Source 2%
3
iugspace.iugaza.edu.ps
Internet Source 2%
4
pioneer.netserv.chula.ac.th
Internet Source 1%
5
Applied Number Theory, 2015.
Publication 1%
6
Predrag Ivaniš, Dušan Drajić. "Information
Theory and Coding - Solved Problems",
1%
Springer Science and Business Media LLC,
2017
Publication

7
www.math.ualberta.ca
Internet Source 1%
8
Arkadii Slinko. "Algebra for Applications",
Springer Science and Business Media LLC,
1%
2020
Publication

9
Martin Tomlinson, Cen Jung Tjhai, Marcel A.
Ambroze, Mohammed Ahmed, Mubarak Jibril.
1%
"Error-Correction Coding and Decoding",
Springer Science and Business Media LLC,
2017
Publication

10
André Neubauer, Jürgen Freudenberger,
Volker Kühn. "Coding Theory", Wiley, 2007
1%
Publication

11
home.work.caltech.edu
Internet Source 1%
12
Applications of Finite Fields, 1993.
Publication 1%
13
www.maths.uq.edu.au
Internet Source 1%
14
An Introduction to Error Correcting Codes
with Applications, 1989.
1%
Publication

15
Robert H. Morelos Zaragoza. "The Art of
Error Correcting Coding", Wiley, 2006
1%
Publication

16
Todd K. Moon. "Error Correction Coding",
Wiley, 2005
1%
Publication
17
dokumen.pub
Internet Source 1%

Exclude quotes On Exclude matches < 1%


Exclude bibliography On

You might also like