Content deleted Content added
Create initial article |
SpiralSource (talk | contribs) Adding short description: "Array for a particular vector space" |
||
(34 intermediate revisions by 22 users not shown) | |||
Line 1:
{{Short description|Array for a particular vector space}}
In [[coding theory]], a '''standard array''' (or Slepian array) is a <math>q^{n-k}</math> by <math>q^{k}</math> array that lists all elements of a particular <math>\mathbb{F}_q^n</math> [[vector space]]. Standard arrays are used to [[Decoding methods|decode]] [[linear code]]s; i.e. to find the corresponding [[Code word (communication)|codeword]] for
▲In [[coding theory]], a '''standard array''' (or Slepian array) is a <math>q^{n-k}</math> by <math>q^{k}</math> array that lists all elements of a particular <math>\mathbb{F}_q^n</math> [[vector space]]. Standard arrays are used to [[decode]] [[linear code]]s; i.e. to find the corresponding [[codeword]] for the received vector or message.
== Definition ==
A standard array for an [''n'',''k'']-code is a <math>q^{n-k}</math> by <math>q^{k}</math> array where:
# The first row lists all [[Code word (communication)|codewords]] (with the <u>0</u> codeword on the extreme left)
# Each row is a [[coset]] with the [[coset leader]] in the first column
# The entry in the i-th row and j-th column is the sum of the i-th coset leader and the j-th codeword.
For example, the [
{| class="wikitable"
|-
| <u>[[Zero vector|0]]</u>
| 01101
| 10110
Line 56 ⟶ 55:
|}
The above is only one possibility for the standard array; had 00011 been chosen as the first [[coset leader]] of weight two, another standard array representing the code would have been constructed.
== Constructing a standard array ==
Line 69 ⟶ 68:
# Repeat steps 2 and 3 until all rows/cosets are listed and each vector appears exactly once.
=== Construction
Let <math>C</math> be the [[Binary code|binary]] [4,2]-code. i.e. C = {0000, 1011, 0101, 1110}. To construct the standard array, we first list the codewords in a row.
{| class="wikitable"
Line 111 ⟶ 110:
| 0011
| 1101
|
|}
Line 126 ⟶ 125:
| 0011
| 1101
|
|-
| 0100
Line 139 ⟶ 138:
|}
== Decoding via standard array ==
Line 145 ⟶ 144:
To decode a vector using a standard array, subtract the error vector - or coset leader - from the vector received. The result will be one of the codewords in <math>C</math>. For example, say we are using the code C = {0000, 1011, 0101, 1110}, and have constructed the corresponding standard array, as shown from the example above. If we receive the vector 0110 as a message, we find that vector in the standard array. We then subtract the vector's coset leader, namely 1000, to get the result 1110. We have received the codeword 1110.
Decoding via a
== See also ==
* [[Linear code]]
== References ==
*{{cite book
|last = Hill
|first = Raymond
|author-link = Raymond Hill (computer scientist)
|title = A First Course in Coding Theory
|url = https://archive.org/details/firstcourseincod0000hill
|url-access = registration
|publisher = [[Oxford University Press]]
|series = Oxford Applied Mathematics and Computing Science series
|year = 1986
|isbn = 978-0-19-853803-5}}
[[Category:Coding theory]]
|