ArticleslgStudy

science

Standard array

Standard array is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Standard array rather than just read about it. In short: In coding theory, a standard array (or Slepian array) is a q n − k {\displaystyle q^{n-k}} by q k {\displaystyle q^{k}} array that lists all elements of a particular F q n {\displaystyle \mathbb {F} _{q}^{n}} vector space. Standard arrays are used to decode linear codes; i.e. to find the corresponding codeword for any received vector.

Key takeaways

  • Standard array belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Standard array to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Standard array from memory before moving on to harder problems.

Reference excerpt

In coding theory, a standard array (or Slepian array) is a q n − k {\displaystyle q^{n-k}} by q k {\displaystyle q^{k}} array that lists all elements of a particular F q n {\displaystyle \mathbb {F} _{q}^{n}} vector space. Standard arrays are used to decode linear codes; i.e. to find the corresponding codeword for any received vector.

Definition A standard array for an [n,k]-code is a q n − k {\displaystyle q^{n-k}} by q k {\displaystyle q^{k}} array where:

The first row lists all codewords (with the 0 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 [5,2]-code C 3 {\displaystyle C_{3}} = {0, 01101, 10110, 11011} has a standard array as follows:

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. The first row contains the 0 vector and the codewords of C 3 {\displaystyle C_{3}} (0 itself being a codeword). Also, the leftmost column contains the vectors of minimum weight enumerating vectors of weight 1 first and then using vectors of weight 2. Also each possible vector in the vector space appears exactly once.

Constructing a standard array Because each possible vector can appear only once in a standard array some care must be taken during construction. A standard array can be created as follows:

List the codewords of C {\displaystyle C} , starting with 0, as the first row Choose any vector of minimum weight not already in the array. Write this as the first entry of the next row. This vector is denoted the 'coset leader'. Fill out the row by adding the coset leader to the codeword at the top of each column. The sum of the i-th coset leader and the j-th codeword becomes the entry in row i, column j. Repeat steps 2 and 3 until all rows/cosets are listed and each vector appears exactly once. Adding vectors is done mod q. For example, binary codes are added mod 2 (which equivalent to bit-wise XOR addition). For example, in Z 2 {\displaystyle Z_{2}} , 11000 + 11011 = 00011. That selecting different coset leaders will create a slightly different but equivalent standard array, and will not affect results when decoding.

Construction example Let C {\displaystyle C} be the binary [4,2]-code. i.e. C = {0000, 1011, 0101, 1110}. To construct the standard array, we first list the codewords in a row.

We then select a vector of minimum weight (in this case, weight 1) that has not been used. This vector becomes the coset leader for the second row.

Following step 3, we complete the row by adding the coset leader to each codeword.

We then repeat steps 2 and 3 until we have completed all rows. We stop when we have reached q n − k = 2 4 − 2 = 2 2 = 4 {\displaystyle q^{n-k}=2^{4-2}=2^{2}=4} rows.

In this example we could not have chosen the vector 0001 as the coset leader of the final row, even though it meets the criteria of having minimal weight (1), because the vector was already present in the array. We could, however, have chosen it as the first coset leader and constructed a different standard array.

Decoding via standard array 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 C {\displaystyle C} . 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 standard array is a form of nearest neighbour decoding. In practice, decoding via a standard array requires large amounts of storage - a code with 32 codewords requires a standard array with 2 32 {\displaystyle 2^{32}} entries. Other forms of decoding, such as syndrome decoding, are more efficient. Decoding via standard array does not guarantee that all vectors are decoded correctly. If we receive the vector 1010, using the standard array above would decode the message as 1110, a codeword distance 1 away. However, 1010 is also distance 1 away from the codeword 1011. In such a case some implementations might ask for the message to be resent, or the ambiguous bit may be marked as an erasure and a following outer code may correct it. This ambiguity is another reason that different decoding methods are sometimes used.

See also Linear code

References Hill, Raymond (1986). A First Course in Coding Theory. Oxford Applied Mathematics and Computing Science series. Oxford University Press. ISBN 978-0-19-853803-5.

Worked examples

Example 1 — a first encounter with Standard array

Start with the simplest possible case. Write down what Standard array claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Standard array before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Standard array ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Standard array

In research
Standard array appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Standard array in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Standard array is common in secondary-school and first-year university syllabi. It links to neighbouring topics Coding theory, so understanding it makes those chapters shorter.
In everyday life
Look for Standard array outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Standard array” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Standard array in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Standard array means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Standard array out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Standard array in simple terms?

In coding theory, a standard array (or Slepian array) is a q n − k {\displaystyle q^{n-k}} by q k {\displaystyle q^{k}} array that lists all elements of a particular F q n {\displaystyle \mathbb {F} _{q}^{n}} vector space. Standard arrays are used to decode linear codes; i.e. to find the correspond…

Why does Standard array matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Standard array?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Standard array.

Tags

  • Coding theory

Keep exploring