Difference between revisions of "Channel Coding/Some Basics of Algebra"
(17 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
== # OVERVIEW OF THE SECOND MAIN CHAPTER # == | == # OVERVIEW OF THE SECOND MAIN CHAPTER # == | ||
<br> | <br> | ||
− | This chapter discusses the »Reed-Solomon codes«, invented in the early 1960s by [https://en.wikipedia.org/wiki/Irving_S._Reed Irving Stoy Reed] and [https://en.wikipedia.org/wiki/Gustave_Solomon Gustave Solomon]. Unlike binary block codes, these codes are based on a Galois field GF(2m) with m>1. So they work with | + | This chapter discusses the »Reed-Solomon codes«, invented in the early 1960s by [https://en.wikipedia.org/wiki/Irving_S._Reed $\text{Irving Stoy Reed}$] and [https://en.wikipedia.org/wiki/Gustave_Solomon $\text{Gustave Solomon}$]. Unlike binary block codes, these codes are based on a Galois field GF(2m) with m>1. So they work with multi-level symbols instead of binary characters ("bits"). |
Specifically, this chapter covers: | Specifically, this chapter covers: | ||
Line 32: | Line 32: | ||
== Definition of a Galois field == | == Definition of a Galois field == | ||
<br> | <br> | ||
− | Before we can turn to the description of Reed–Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field GF(q), named after the Frenchman [https://en.wikipedia.org/wiki/%C3%89variste_Galois Évariste Galois], whose biography is rather unusual for a mathematician.<br> | + | Before we can turn to the description of Reed–Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field GF(q), named after the Frenchman [https://en.wikipedia.org/wiki/%C3%89variste_Galois $\text{Évariste Galois}$], whose biography is rather unusual for a mathematician.<br> |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | Definition: A Galoisfield GF(q) is a [[Channel_Coding/Some_Basics_of_Algebra# | + | Definition: A Galoisfield GF(q) is a [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|$\text{finite field}$]] with q elements z0, z1, ... , zq−1, if the eight statements listed below (A) ... (H) with respect to "addition" ⇒ "+" and "multiplication" ⇒ "⋅" are true. |
*Addition and multiplication are to be understood here modulo q . | *Addition and multiplication are to be understood here modulo q . | ||
Line 64: | Line 64: | ||
::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q)\text{:} | ||
− | \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{ | + | \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} |
{\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math> | {\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. </math> | ||
Line 70: | Line 70: | ||
::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q)\text{:} | ||
− | \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{ | + | \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} |
{\rm Inv_M}(z_i) = z_i^{-1} | {\rm Inv_M}(z_i) = z_i^{-1} | ||
\hspace{0.05cm}. </math> | \hspace{0.05cm}. </math> | ||
− | (F) For addition and multiplication | + | (F) For addition and multiplication applies in each case the "Commutative Law": |
::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} | ||
Line 80: | Line 80: | ||
\hspace{0.05cm}.</math> | \hspace{0.05cm}.</math> | ||
− | (G) For addition and multiplication | + | (G) For addition and multiplication applies in each case the "Associative Law": |
::<math>\forall \hspace{0.15cm} z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:} | ||
Line 86: | Line 86: | ||
\hspace{0.05cm}.</math> | \hspace{0.05cm}.</math> | ||
− | (H) For the combination "addition – multiplication" the " | + | (H) For the combination "addition – multiplication" holds the "Distributive Law": |
::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q)\text{:} | ::<math>\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q)\text{:} | ||
\hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k | \hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k | ||
Line 95: | Line 95: | ||
<br> | <br> | ||
We first check that for the binary number set Z2={0,1} ⇒ q=2 (valid for the simple binary code) | We first check that for the binary number set Z2={0,1} ⇒ q=2 (valid for the simple binary code) | ||
− | *the eight criteria mentioned | + | *the eight criteria mentioned in the last section are met, |
*so that we can indeed speak of "GF(2)". | *so that we can indeed speak of "GF(2)". | ||
Line 140: | Line 140: | ||
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
− | Example 2: In contrast, the number set Z4={0,1,2,3} ⇒ q=4 is '''not''' a Galois field. | + | Example 2: In contrast, the number set Z4={0,1,2,3} ⇒ q=4 is »'''not'''« a Galois field. |
*The reason for this is that here is no multiplicative inverse to the element z2=2. For a Galois field it would have to be true: 2⋅InvM(2)=1. | *The reason for this is that here is no multiplicative inverse to the element z2=2. For a Galois field it would have to be true: 2⋅InvM(2)=1. | ||
Line 157: | Line 157: | ||
2 & 0 & 2 & 0 & 2\\ | 2 & 0 & 2 & 0 & 2\\ | ||
3 & 0 & 3 & 2 & 1 | 3 & 0 & 3 & 2 & 1 | ||
− | \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{ | + | \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{no }{\rm GF}(4) . |
$$}} | $$}} | ||
Line 163: | Line 163: | ||
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
Generalization (without proof for now): | Generalization (without proof for now): | ||
− | *A Galois field GF(q) can be formed in the manner described here as [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_ring| | + | *A Galois field GF(q) can be formed in the manner described here as [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_ring| $\text{ring}$]] of integer sizes modulo q only if q is a prime number: <br> q=2, q=3, q=5, q=7, q=11, ...<br> |
− | *But if the order q can be expressed in the form q=Pm with a prime P and integer m, the Galois field GF(q) can be found via an [[Channel_Coding/Extension_Field# | + | *But if the order q can be expressed in the form q=Pm with a prime P and integer m, the Galois field GF(q) can be found via an [[Channel_Coding/Extension_Field#Generalized_definition_of_an_extension_field|$\text{extension field}$]]. }}<br> |
== Group, ring, field - basic algebraic concepts == | == Group, ring, field - basic algebraic concepts == | ||
<br> | <br> | ||
− | + | In the first sections, some basic algebraic terms have already been mentioned, without their meanings having been explained in more detail. This is to be made up now in all shortness from view of a communication engineer, whereby we mainly refer to the representation in [Fri96]<ref name='Fri96'>Friedrichs, B.: Kanalcodierung – Grundlagen und Anwendungen in modernen Kommunikationssystemen. Berlin – Heidelberg: Springer, 1996.</ref> and [KM+08]<ref name='KM+08'>Kötter, R.; Mayer, T.; Tüchler, M.; Schreckenbach, F.; Brauchle, J.: Channel Coding. Lecture manuscript, Chair of Communications Engineering, TU Munich, 2008.</ref>. To summarize:<br> | |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
Definition: | Definition: | ||
− | *A Galoisfield GF(q) is a "field" with a finite number (q) of elements ⇒ '''finite field'''. | + | *A Galoisfield GF(q) is a "field" with a finite number (q) of elements ⇒ »'''finite field'''«. |
*Each field is again a special case of a "ring", which itself can be represented again as a special case of an "Abelian group".}}<br> | *Each field is again a special case of a "ring", which itself can be represented again as a special case of an "Abelian group".}}<br> | ||
Line 185: | Line 185: | ||
− | + | In the next two sections, the algebraic terms mentioned here will be discussed in more detail. | |
*For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary. | *For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary. | ||
− | *So you could jump directly to the chapter [[Channel_Coding/Extension_Field| "Extension | + | *So you could jump directly to the chapter [[Channel_Coding/Extension_Field#Verallgemeinerte_Definition_eines_Erweiterungsk.C3.B6rpers| "Extension Field"]] .<br> |
Line 200: | Line 200: | ||
Definition: A algebraic group (G,+) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied: | Definition: A algebraic group (G,+) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied: | ||
#For all z_i, z_j ∈ \mathcal{G} holds (z_i + z_j) ∈ \mathcal{G} ⇒ "Closure–criterion for +".<br> | #For all z_i, z_j ∈ \mathcal{G} holds (z_i + z_j) ∈ \mathcal{G} ⇒ "Closure–criterion for +".<br> | ||
− | #There is always | + | #There is always a neutral element N_{\rm A} ∈ \mathcal{G} with respect to addition, so that for all z_i ∈ \mathcal{G} holds: zi+NA=zi. Given a group of numbers: NA≡0.<br> |
− | #For all z_i ∈ \mathcal{G} there is an element {\rm Inv_A}(z_i) ∈ \mathcal{G} | + | #For all z_i ∈ \mathcal{G} there is an inverse element {\rm Inv_A}(z_i) ∈ \mathcal{G} with respect to addition: zi+InvA(zi)=NA. For a number group: InvA(zi)=−zi.<br> |
#For all z_i, z_j, z_k ∈ \mathcal{G} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for +".<br> | #For all z_i, z_j, z_k ∈ \mathcal{G} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for +".<br> | ||
− | #If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" zi+zj=zj+zi is satisfied, one speaks of a "commutative group" or an "Abelian group", named after the Norwegian mathematician [https://en.wikipedia.org/wiki/Niels_Henrik_Abel Niels Hendrik Abel].}}<br> | + | #If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" zi+zj=zj+zi is satisfied, one speaks of a "commutative group" or an "Abelian group", named after the Norwegian mathematician [https://en.wikipedia.org/wiki/Niels_Henrik_Abel $\text{Niels Hendrik Abel}$].}}<br> |
{{GraueBox|TEXT= | {{GraueBox|TEXT= | ||
Line 216: | Line 216: | ||
:Since moreover the commutative law is fulfilled, it is an "abelian group".<br> | :Since moreover the commutative law is fulfilled, it is an "abelian group".<br> | ||
− | '''(2)''' The "set of natural numbers" ⇒ {0,1,2,...} is not an algebraic group with respect to addition, | + | '''(2)''' The "set of natural numbers" ⇒ {0,1,2,...} is not an algebraic group with respect to addition, <br> since for no single element zi there exists the additive inverse InvA(zi)=−zi .<br> |
− | |||
− | '''(3)''' The "bounded set of natural numbers" ⇒ {0,1,2,...,q−1} on the other hand then satisfies the conditions on a group (G,+), | + | '''(3)''' The "bounded set of natural numbers" ⇒ {0,1,2,...,q−1} on the other hand then satisfies the conditions on a group (G,+), <br> if one defines the addition modulo q. |
− | |||
'''(4)''' On the other hand, {1,2,3,...,q} is not a group because the neutral element of addition (NA=0) is missing.}}<br> | '''(4)''' On the other hand, {1,2,3,...,q} is not a group because the neutral element of addition (NA=0) is missing.}}<br> | ||
Line 226: | Line 224: | ||
== Definition and examples of an algebraic ring == | == Definition and examples of an algebraic ring == | ||
<br> | <br> | ||
− | According to the [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring. | + | According to the [[Channel_Coding/Some_Basics_of_Algebra#Group.2C_ring.2C_field_-_basic_algebraic_concepts|$\text{overview graphic}$]] |
*one gets from the group (G,+) | *one gets from the group (G,+) | ||
Line 241: | Line 239: | ||
The following properties must be satisfied: | The following properties must be satisfied: | ||
− | #In terms of addition, the ring (R,+,⋅) is an [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group| | + | #In terms of addition, the ring (R,+,⋅) is an [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group|$\text{Abelian group}$]] (G,+).<br> |
− | #In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure | + | #In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure criterion for ⋅".<br> |
− | #There is always also | + | #There is always also a neutral element N_{\rm M} ∈ \mathcal{R} with respect to multiplication, so that for all z_i ∈ \mathcal{R} holds: zi⋅NM=zi. For a number group: NM≡1.<br> |
#For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for ⋅".<br> | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi+(zj+zk)=(zi+zj)+zk ⇒ "Associative law for ⋅".<br> | ||
#For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi⋅(zj+zk)=zi⋅zj+zi⋅zk ⇒ "Distributive law for ⋅".}}<br> | #For all z_i, z_j, z_k ∈ \mathcal{R} holds: zi⋅(zj+zk)=zi⋅zj+zi⋅zk ⇒ "Distributive law for ⋅".}}<br> | ||
Further the following agreements shall hold: | Further the following agreements shall hold: | ||
− | *A ring (R,+,⋅) is not necessarily commutative. If in fact the "commutative law" also holds for all elements z_i, z_j ∈ \mathcal{R} with respect to multiplication (zi⋅zj=zj⋅zi) then it is called in the technical literature a | + | *A ring (R,+,⋅) is not necessarily commutative. If in fact the "commutative law" also holds for all elements z_i, z_j ∈ \mathcal{R} with respect to multiplication (zi⋅zj=zj⋅zi) then it is called in the technical literature a »'''commutative ring'''«. |
− | *Exists for each element z_i ∈ \mathcal{R} except NA (neutral element of addition, zero element) an element InvM(zi) inverse with respect to multiplication such that zi⋅InvM(zi)=1 holds, then there is a | + | *Exists for each element z_i ∈ \mathcal{R} except NA (neutral element of addition, zero element) an element InvM(zi) inverse with respect to multiplication such that zi⋅InvM(zi)=1 holds, then there is a »<b>division ring</b>«.<br> |
− | *The ring is | + | *The ring is »<b>free of zero divisors</b>« if from zi⋅zj=0 follows necessarily zi=0 or zj=0. In abstract algebra, a zero divisor of a ring is an element zi different from the zero element if there exists an element zj≠0 such that the product zi⋅zj=0 .<br> |
− | *A commutative ring free of zero divisors is called | + | *A commutative ring free of zero divisors is called »<b>integral domain</b>«.<br><br> |
{{BlaueBox|TEXT= | {{BlaueBox|TEXT= | ||
− | Conclusion: Comparing the definitions of [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group| | + | Conclusion: Comparing the definitions of [[Channel_Coding/Some_Basics_of_Algebra#Definition_and_examples_of_an_algebraic_group| $\text{group}$]], "ring" (see above), [[Aufgaben:Aufgabe_2.1:_Gruppe,_Ring,_Körper|$\text{field}$]] and [[Channel_Coding/Some_Basics_of_Algebra#Definition_of_a_Galois_field|$\text{Galois field}$]], we recognize that a »'''Galois field'''« GF(q) |
#is a finite field with q elements,<br> | #is a finite field with q elements,<br> | ||
#is at the same time a "commutative division ring", and <br> | #is at the same time a "commutative division ring", and <br> | ||
Line 272: | Line 270: | ||
[[Aufgaben:Exercise_2.2Z:_Galois_Field_GF(5)|Exercise 2.2Z: Galois Field GF(5)]] | [[Aufgaben:Exercise_2.2Z:_Galois_Field_GF(5)|Exercise 2.2Z: Galois Field GF(5)]] | ||
− | == | + | ==References== |
<references/> | <references/> | ||
{{Display}} | {{Display}} |
Latest revision as of 16:09, 19 November 2022
Contents
# OVERVIEW OF THE SECOND MAIN CHAPTER #
This chapter discusses the »Reed-Solomon codes«, invented in the early 1960s by Irving Stoy Reed and Gustave Solomon. Unlike binary block codes, these codes are based on a Galois field GF(2m) with m>1. So they work with multi-level symbols instead of binary characters ("bits").
Specifically, this chapter covers:
- The basics of »linear algebra«: »set«, »group«, »ring«, »field«, finite field«,
- the definition of »extension fields« ⇒ GF(2m) and the corresponding operations,
- the meaning of »irreducible polynomials« and »primitive elements«,
- the »description and realization possibilities« of a Reed-Solomon code,
- the error correction of such a code at the »binary ersaure channel« (BEC),
- the decoding using the »Error Locator Polynomial ⇒ "Bounded Distance Decoding" (BDD),
- the »block error probability« of Reed-Solomon codes and »typical applications«.
Definition of a Galois field
Before we can turn to the description of Reed–Solomon codes, we need some basic algebraic notions. We begin with the properties of the Galois field GF(q), named after the Frenchman Évariste Galois, whose biography is rather unusual for a mathematician.
Definition: A Galoisfield GF(q) is a finite field with q elements z0, z1, ... , zq−1, if the eight statements listed below (A) ... (H) with respect to "addition" ⇒ "+" and "multiplication" ⇒ "⋅" are true.
- Addition and multiplication are to be understood here modulo q .
- The order q indicates the number of elements of the Galois field.
Criteria of a Galois field:
(A) GF(q) is closed ⇒Closure:
- ∀zi∈GF(q),zj∈GF(q):(zi+zj)∈GF(q),(zi⋅zj)∈GF(q).
(B) There is a neutral element NA with respect to addition, the so-called "zero element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}+\hspace{0.05cm}":
- \exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i + z_j = z_i \hspace{0.25cm} \Rightarrow \hspace{0.25cm} z_j = N_{\rm A} = \text{ 0} \hspace{0.05cm}.
\rm (C) There is a neutral element N_{\rm M} with respect to multiplication, the so-called "identity element" \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Identity \ for \ "\hspace{-0.05cm}·\hspace{0.05cm}":
- \exists \hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i \cdot z_j = z_i \hspace{0.3cm}\Rightarrow \hspace{0.3cm} z_j = N_{\rm M} = {1} \hspace{0.05cm}.
\rm (D) For each z_i there exists an "additive inverse" {\rm Inv_A}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}+\hspace{0.05cm}":
- \forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {0} \hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} {\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}.
\rm (E) For each z_i except the zero element, there exists the "multiplicative inverse" {\rm Inv_M}(z_i) \hspace{0.2cm}\Rightarrow \hspace{0.2cm}\rm Inverse \ for \ "\hspace{-0.05cm}\cdot\hspace{0.05cm}":
- \forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {1}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}\text{short:}\hspace{0.3cm} {\rm Inv_M}(z_i) = z_i^{-1} \hspace{0.05cm}.
\rm (F) For addition and multiplication applies in each case the "\rm Commutative \ Law":
- \forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j \in {\rm GF}(q)\text{:} \hspace{0.25cm}z_i + z_j = z_j + z_i ,\hspace{0.15cm}z_i \cdot z_j = z_j \cdot z_i \hspace{0.05cm}.
\rm (G) For addition and multiplication applies in each case the "\rm Associative \ Law":
- \forall \hspace{0.15cm} z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q)\text{:} \hspace{0.25cm}(z_i + z_j) + z_k = z_i + (z_j + z_k ),\hspace{0.15cm}(z_i \cdot z_j) \cdot z_k = z_i \cdot (z_j \cdot z_k ) \hspace{0.05cm}.
\rm (H) For the combination "addition – multiplication" holds the "\rm Distributive \ Law":
- \forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q)\text{:} \hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k \hspace{0.05cm}.
Examples and properties of Galois fields
We first check that for the binary number set Z_2 = \{0, 1\} ⇒ q=2 (valid for the simple binary code)
- the eight criteria mentioned in the last section are met,
- so that we can indeed speak of "{\rm GF}(2)".
You can see the addition table and multiplication table below:
- Z_2 = \{0, 1\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c|cccccc} + & 0 & 1 \\ \hline 0 & 0 & 1 \\ 1 & 1 & 0 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c|cccccc} \cdot & 0 & 1 \\ \hline 0 & 0 & 0 \\ 1 & 0 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}{\rm GF}(2) .
One can see from this representation:
- Each element of the addition and multiplication table of Z_2 is again z_0 = 0 or z_0 = 1 ⇒ the criterion \rm (A) is satisfied.
- The set Z_2 contains the zero element (\hspace{-0.05cm}N_{\rm A} = z_0 = 0) and the one element (\hspace{-0.05cm}N_{\rm M} = z_1 = 1) ⇒ the criteria \rm (B) and \rm (C) are satisfied.
- The additive inverses {\rm Inv_A}(0) = 0 and {\rm Inv_A}(1) = -1 \ {\rm mod}\ 2 = 1 exist and belong to Z_2 ⇒ the criterion \rm (D) is satisfied.
- Similarly, the multiplicative inverse {\rm Inv_M}(1) = 1 ⇒ the criterion \rm (E) is satisfied.
- The validity of the commutative law \rm (F) in the set Z_2 can be recognized by the symmetry with respect to the table diagonals.
- The criteria \rm (G) and \rm (H) are also satisfied here ⇒ all eight criteria are satisfied ⇒ Z_2 = \rm GF(2).
\text{Example 1:} The number set Z_3 = \{0, 1, 2\} ⇒ q = 3 satisfies all eight criteria and is thus a Galois field \rm GF(3):
- Z_3 = \{0, 1, 2\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c | cccccc} + & 0 & 1 & 2\\ \hline 0 & 0 & 1 & 2 \\ 1 & 1 & 2 & 0 \\ 2 & 2 & 0 & 1 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c | cccccc} \cdot & 0 & 1 & 2\\ \hline 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 2 \\ 2& 0 & 2 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}{\rm GF}(3) .
\text{Example 2:} In contrast, the number set Z_4 = \{0, 1, 2, 3\} ⇒ q = 4 is »not« a Galois field.
- The reason for this is that here is no multiplicative inverse to the element z_2 = 2. For a Galois field it would have to be true: 2 \cdot {\rm Inv_M}(2) = 1.
- But in the multiplication table there is no entry with "1" in the third row and third column (each valid for the multiplicand z_2 = 2).
- Z_4 = \{0, 1, 2, 3\}\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{Addition: } \left[ \begin{array}{c | cccccc} + & 0 & 1 & 2 & 3\\ \hline 0 & 0 & 1 & 2 & 3\\ 1 & 1 & 2 & 3 & 0\\ 2 & 2 & 3 & 0 & 1\\ 3 & 3 & 0 & 1 & 2 \end{array} \right] \hspace{-0.1cm} ,\hspace{0.25cm}\text{Multiplication: } \left[ \begin{array}{c | cccccc} \cdot& 0 & 1 & 2 & 3\\ \hline 0 & 0 & 0 & 0 & 0\\ 1 & 0 & 1 & 2 & 3\\ 2 & 0 & 2 & 0 & 2\\ 3 & 0 & 3 & 2 & 1 \end{array} \right]\hspace{0.25cm} \Rightarrow\hspace{0.25cm}\text{no }{\rm GF}(4) .
\text{Generalization (without proof for now):}
- A Galois field {\rm GF}(q) can be formed in the manner described here as \text{ring} of integer sizes modulo q only if q is a prime number:
q = 2, q = 3, q = 5, q = 7, q = 11, ...
- But if the order q can be expressed in the form q = P^m with a prime P and integer m, the Galois field {\rm GF}(q) can be found via an \text{extension field}.
Group, ring, field - basic algebraic concepts
In the first sections, some basic algebraic terms have already been mentioned, without their meanings having been explained in more detail. This is to be made up now in all shortness from view of a communication engineer, whereby we mainly refer to the representation in [Fri96][1] and [KM+08][2]. To summarize:
\text{Definition:}
- A \rm Galois\, field {\rm GF}(q) is a "field" with a finite number (q) of elements ⇒ »finite field«.
- Each field is again a special case of a "ring", which itself can be represented again as a special case of an "Abelian group".
The diagram illustrates step by step how the following subordinate sets arise from a set \mathcal{M} by definition of addition, multiplication and division:
- Abelian group \mathcal{G} ,
- ring \mathcal{R},
- field \mathcal{F},
- finite field \mathcal{F}_q or Galois field {\rm GF}(q).
In the next two sections, the algebraic terms mentioned here will be discussed in more detail.
- For understanding the Reed–Solomon codes, however, this knowledge is not absolutely necessary.
- So you could jump directly to the chapter "Extension Field" .
Definition and examples of an algebraic group
For the general definitions of "group" (and later "ring") we assume a set with infinitely many elements:
- \mathcal{M} = \{\hspace{0.1cm}z_1,\hspace{0.1cm} z_2,\hspace{0.1cm} z_3 ,\hspace{0.1cm}\text{ ...} \hspace{0.1cm}\}\hspace{0.05cm}.
\text{Definition:} A \text{algebraic group} (\mathcal{G}, +) is an (arbitrary) subset \mathcal{G} ⊂ \mathcal{M} together with an additive linkage ("+") defined between all elements, but only if the following properties are necessarily satisfied:
- For all z_i, z_j ∈ \mathcal{G} holds (z_i + z_j) ∈ \mathcal{G} ⇒ "Closure–criterion for +".
- There is always a neutral element N_{\rm A} ∈ \mathcal{G} with respect to addition, so that for all z_i ∈ \mathcal{G} holds: z_i +N_{\rm A} = z_i. Given a group of numbers: N_{\rm A} \equiv 0.
- For all z_i ∈ \mathcal{G} there is an inverse element {\rm Inv_A}(z_i) ∈ \mathcal{G} with respect to addition: z_i + {\rm Inv_A}(z_i)= N_{\rm A} . For a number group: {\rm Inv_A}(z_i) =- z_i.
- For all z_i, z_j, z_k ∈ \mathcal{G} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for +".
- If in addition for all z_i, z_j ∈ \mathcal{G} the "commutative law" z_i + z_j= z_j + z_i is satisfied, one speaks of a "commutative group" or an "Abelian group", named after the Norwegian mathematician \text{Niels Hendrik Abel}.
\text{Examples of algebraic groups:}
(1) The "set of rational numbers" is defined as the set of all quotients I/J with integers I and J ≠ 0.
- This set is a group (\mathcal{G}, +) with respect to addition, since
- for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs to \mathcal{G} ,
- the associative law applies,
- with N_{\rm A} = 0 the neutral element of the addition is contained in \mathcal{G} and
- it exists for each a the additive inverse {\rm Inv_A}(a) = -a .
- for all a ∈ \mathcal{G} and b ∈ \mathcal{G} also the sum a+b belongs to \mathcal{G} ,
- Since moreover the commutative law is fulfilled, it is an "abelian group".
(2) The "set of natural numbers" ⇒ \{0, 1, 2, \text{...}\} is not an algebraic group with respect to addition,
since for no single element z_i there exists the additive inverse {\rm Inv_A}(z_i) = -z_i .
(3) The "bounded set of natural numbers" ⇒ \{0, 1, 2, \text{...}\hspace{0.05cm}, q\hspace{-0.05cm}-\hspace{-0.05cm}1\} on the other hand then satisfies the conditions on a group (\mathcal{G}, +),
if one defines the addition modulo q.
(4) On the other hand, \{1, 2, 3, \text{...}\hspace{0.05cm},q\} is not a group because the neutral element of addition (N_{\rm A} = 0) is missing.
Definition and examples of an algebraic ring
According to the \text{overview graphic}
- one gets from the group (\mathcal{G}, +)
- by defining a second arithmetic operation "multiplication" ("\cdot") to the "ring" (\mathcal{R}, +, \cdot).
So you need a multiplication table as well as an addition table for this.
\text{Definition:} A \text{algebraic ring} (\mathcal{R}, +, \cdot) is a subset \mathcal{R} ⊂ \mathcal{G} ⊂ \mathcal{M} together with two arithmetic operations defined in this set,
- addition ("+")
- and multiplication ("·").
The following properties must be satisfied:
- In terms of addition, the ring (\mathcal{R}, +, \cdot) is an \text{Abelian group} (\mathcal{G}, +).
- In addition, for all z_i, z_j ∈ \mathcal{R} also (z_i \cdot z_j) ∈ \mathcal{R} ⇒ "Closure criterion for \cdot".
- There is always also a neutral element N_{\rm M} ∈ \mathcal{R} with respect to multiplication, so that for all z_i ∈ \mathcal{R} holds: z_i \cdot N_{\rm M} = z_i. For a number group: N_{\rm M} \equiv 1.
- For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i + (z_j + z_k)= (z_i + z_j) + z_k ⇒ "Associative law for \cdot ".
- For all z_i, z_j, z_k ∈ \mathcal{R} holds: z_i \cdot (z_j + z_k) = z_i \cdot z_j + z_i \cdot z_k ⇒ "Distributive law for \cdot ".
Further the following agreements shall hold:
- A ring (\mathcal{R}, +, \cdot) is not necessarily commutative. If in fact the "commutative law" also holds for all elements z_i, z_j ∈ \mathcal{R} with respect to multiplication (z_i \cdot z_j= z_j \cdot z_i) then it is called in the technical literature a »commutative ring«.
- Exists for each element z_i ∈ \mathcal{R} except N_{\rm A} (neutral element of addition, zero element) an element {\rm Inv_M}(z_i) inverse with respect to multiplication such that z_i \cdot {\rm Inv_M}(z_i) = 1 holds, then there is a »division ring«.
- The ring is »free of zero divisors« if from z_i \cdot z_j = 0 follows necessarily z_i = 0 or z_j = 0. In abstract algebra, a zero divisor of a ring is an element z_i different from the zero element if there exists an element z_j \ne 0 such that the product z_i \cdot z_j = 0 .
- A commutative ring free of zero divisors is called »integral domain«.
\text{Conclusion:} Comparing the definitions of \text{group}, "ring" (see above), \text{field} and \text{Galois field}, we recognize that a »Galois field« {\rm GF}(q)
- is a finite field with q elements,
- is at the same time a "commutative division ring", and
- also describes an "integral domain".
Exercises for the chapter
Exercise 2.1: Group, Ring, Field
Exercise 2.1Z: Which Tables Describe Groups?
Exercise 2.2: Properties of Galois Fields
Exercise 2.2Z: Galois Field GF(5)
References