<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Justesen_code</id>
	<title>Justesen code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Justesen_code"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Justesen_code&amp;action=history"/>
	<updated>2026-05-12T23:08:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Justesen_code&amp;diff=7074634&amp;oldid=prev</id>
		<title>imported&gt;L Dimitrova: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Justesen_code&amp;diff=7074634&amp;oldid=prev"/>
		<updated>2025-02-08T18:40:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Error-correcting code}}&lt;br /&gt;
{{infobox code&lt;br /&gt;
 | name           = Binary Justesen Codes&lt;br /&gt;
 | image          =&lt;br /&gt;
 | image_caption  =&lt;br /&gt;
 | namesake       = Jørn Justesen&lt;br /&gt;
 | type           = [[Linear block code]]&lt;br /&gt;
 | block_length   = &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&lt;br /&gt;
 | message_length = &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;&lt;br /&gt;
 | rate           = =&amp;lt;math&amp;gt;\frac{R}{2}=\frac{k}{2n}&amp;lt;/math&amp;gt;&lt;br /&gt;
 | distance       = &amp;lt;math&amp;gt;\delta n&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;\delta\geq \Big(1-R-\epsilon\Big) H^{-1}_2\big(\frac{1}{2}-\epsilon\big) \sim 0.11(1-R-\epsilon)&amp;lt;/math&amp;gt; for small &amp;lt;math&amp;gt;\epsilon&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
 | alphabet_size  = 2&lt;br /&gt;
 | notation       = &amp;lt;math&amp;gt;\left[ n, k/2, \delta n \right]_2&amp;lt;/math&amp;gt;-code&lt;br /&gt;
 | properties     = constant rate, constant relative distance, constant alphabet size&lt;br /&gt;
}}&lt;br /&gt;
In [[coding theory]], &amp;#039;&amp;#039;&amp;#039;Justesen codes&amp;#039;&amp;#039;&amp;#039; form a class of [[Error detection and correction|error-correcting codes]] that have a constant rate, constant relative distance, and a constant alphabet size.&lt;br /&gt;
&lt;br /&gt;
Before the Justesen error correction code was discovered, no error correction code was known that had all of these three parameters as a constant.&lt;br /&gt;
&lt;br /&gt;
Subsequently, other ECC codes with this property have been discovered, for example [[expander code]]s.&lt;br /&gt;
These codes have important applications in [[computer science]] such as in the construction of [[small-bias sample space]]s.&lt;br /&gt;
&lt;br /&gt;
Justesen codes are derived as the [[Concatenated error correction code|code concatenation]] of a [[Reed–Solomon error correction|Reed–Solomon code]] and the [[Wozencraft ensemble]].&lt;br /&gt;
&lt;br /&gt;
The Reed–Solomon codes used achieve constant rate and constant relative distance at the expense of an alphabet size that is &amp;#039;&amp;#039;linear&amp;#039;&amp;#039; in the message length.&lt;br /&gt;
&lt;br /&gt;
The [[Wozencraft ensemble]] is a family of codes that achieve constant rate and constant alphabet size, but the relative distance is only constant for most of the codes in the family.&lt;br /&gt;
&lt;br /&gt;
The concatenation of the two codes first encodes the message using the Reed–Solomon code, and then encodes each symbol of the codeword further using a code from the [[Wozencraft ensemble]] – using a different code of the ensemble at each position of the codeword.&lt;br /&gt;
&lt;br /&gt;
This is different from usual code concatenation where the inner codes are the same for each position. The Justesen code can be constructed very efficiently using only [[logarithmic space]].&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
&lt;br /&gt;
The Justesen code is the concatenation of an &amp;lt;math&amp;gt;(N,K,D)_{q^k}&amp;lt;/math&amp;gt; outer code &amp;lt;math&amp;gt;C_{out}&amp;lt;/math&amp;gt; and different &amp;lt;math&amp;gt;(n,k,d)_q&amp;lt;/math&amp;gt; inner codes &amp;lt;math&amp;gt;C_{in}^i&amp;lt;/math&amp;gt;, for&amp;lt;math&amp;gt;1 \le i \le N&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More precisely, the concatenation of these codes, denoted by &amp;lt;math&amp;gt;C_{out}  \circ (C_{in}^1 ,...,C_{in}^N )&amp;lt;/math&amp;gt;, is defined as follows. Given a message &amp;lt;math&amp;gt;m \in [q^k]^K&amp;lt;/math&amp;gt;, we compute the codeword produced by an outer code &amp;lt;math&amp;gt;C_{out}&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;C_{out}(m) = (c_1,c_2,..,c_N)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then we apply each code of N linear inner codes to each coordinate of that codeword to produce the final codeword; that is, &amp;lt;math&amp;gt;C_{out} \circ (C_{in}^1,..,C_{in}^N)(m) = (C_{in}^1(c_1),C_{in}^2(c_2),..,C_{in}^N(c_N))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Look back to the definition of the outer code and linear inner codes, this definition of the Justesen code makes sense because the codeword of the outer code is a vector with &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; elements, and we have &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; linear inner codes to apply for those &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
Here for the Justesen code, the outer code &amp;lt;math&amp;gt;C_{out}&amp;lt;/math&amp;gt; is chosen to be [[Reed–Solomon error correction|Reed Solomon code]] over a [[Field (mathematics)|field]] &amp;lt;math&amp;gt;\mathbb{F}_{q^k}&amp;lt;/math&amp;gt; evaluated over &amp;lt;math&amp;gt;\mathbb{F}_{q^k}-\{ 0 \}&amp;lt;/math&amp;gt; of [[Code rate|rate]] &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt; &amp;lt; &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; &amp;lt; &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The outer code &amp;lt;math&amp;gt;C_{out}&amp;lt;/math&amp;gt; have the relative distance &amp;lt;math&amp;gt;\delta_{out} = 1 - R&amp;lt;/math&amp;gt; and block length of &amp;lt;math&amp;gt;N = q^k-1&amp;lt;/math&amp;gt;. The set of inner codes is the [[Wozencraft ensemble]] &amp;lt;math&amp;gt;\{ C_{in}^\alpha  \} _{\alpha  \in \mathbb{F}_{q^k }^* }&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Property of Justesen code==&lt;br /&gt;
&lt;br /&gt;
As the linear codes in the Wonzencraft ensemble have the rate &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, Justesen code is the concatenated code &amp;lt;math&amp;gt;C^* = C_{out} \circ (C_{in}^1,C_{in}^2,..,C_{in}^N)&amp;lt;/math&amp;gt; with the rate &amp;lt;math&amp;gt;\frac{R}{2}&amp;lt;/math&amp;gt;. We have the following theorem that estimates the distance of the concatenated code &amp;lt;math&amp;gt;C^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Theorem==&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;\varepsilon &amp;gt; 0.&amp;lt;/math&amp;gt; Then &amp;lt;math&amp;gt;C^*&amp;lt;/math&amp;gt; has relative distance of at least &amp;lt;math&amp;gt;(1-R-\varepsilon)H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Proof===&lt;br /&gt;
&lt;br /&gt;
In order to prove a lower bound for the distance of a code &amp;lt;math&amp;gt;C^*&amp;lt;/math&amp;gt; we prove that the [[Hamming distance]] of an arbitrary but distinct pair of codewords has a lower bound. So let &amp;lt;math&amp;gt;\Delta(c^1,c^2)&amp;lt;/math&amp;gt; be the Hamming distance of two codewords &amp;lt;math&amp;gt;c^1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;c^2&amp;lt;/math&amp;gt;. For any given&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;m_1 \neq m_2 \in \left (\mathbb{F}_{q^k} \right )^K, &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
we want a lower bound for &amp;lt;math&amp;gt;\Delta(C^*(m_1),C^*(m_2)).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that if &amp;lt;math&amp;gt;C_{out}(m) = (c_1,\cdots,c_N)&amp;lt;/math&amp;gt;, then &amp;lt;math&amp;gt;C^*(m) = (C_{in}^1(c_1),\cdots,C_{in}^N(c_N))&amp;lt;/math&amp;gt;. So for the lower bound &amp;lt;math&amp;gt;\Delta(C^*(m_1),C^*(m_2))&amp;lt;/math&amp;gt;, we need to take into account the distance of &amp;lt;math&amp;gt;C_{in}^1, \cdots, C_{in}^N.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppose&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
C_{out}(m_1) &amp;amp;= \left (c_1^1,\cdots,c_N^1 \right ) \\&lt;br /&gt;
C_{out}(m_2) &amp;amp;= \left  (c_1^2,\cdots,c_N^2 \right )&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall that &amp;lt;math&amp;gt;\left \{ C_{in}^1, \cdots, C_{in}^N \right \}&amp;lt;/math&amp;gt; is a [[Wozencraft ensemble]]. Due to &amp;quot;Wonzencraft ensemble theorem&amp;quot;, there are at least &amp;lt;math&amp;gt;(1-\varepsilon) N&amp;lt;/math&amp;gt; linear codes &amp;lt;math&amp;gt;C_{in}^i&amp;lt;/math&amp;gt; that have distance &amp;lt;math&amp;gt;H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ) \cdot 2k.&amp;lt;/math&amp;gt; So if for some &amp;lt;math&amp;gt;1 \leqslant i \leqslant N, c_i^1 \ne c_i^2&amp;lt;/math&amp;gt; and the code &amp;lt;math&amp;gt;C_{in}^i&amp;lt;/math&amp;gt; has distance &amp;lt;math&amp;gt;\geqslant H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right) \cdot 2k,&amp;lt;/math&amp;gt; then&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\Delta \left (C_{in}^i \left (c_i^1 \right), C_{in}^i \left (c_i^2 \right ) \right ) \geqslant H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ) \cdot 2k.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further, if we have &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; numbers &amp;lt;math&amp;gt;1 \leqslant i \leqslant N&amp;lt;/math&amp;gt; such that &amp;lt;math&amp;gt;c_i^1 \ne c_i^2&amp;lt;/math&amp;gt; and the code &amp;lt;math&amp;gt;C_{in}^i&amp;lt;/math&amp;gt; has distance &amp;lt;math&amp;gt;\geqslant H_q^{-1}(\tfrac{1}{2}-\varepsilon) \cdot 2k,&amp;lt;/math&amp;gt; then&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\Delta \left (C^*(m_1),C^*(m_2) \right ) \geqslant H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ) \cdot 2k \cdot T.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So now the final task is to find a lower bound for &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;. Define:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; S = \left \{ i  \ : \ 1 \leqslant i \leqslant N, c_i^1 \ne c_i^2 \right \}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; is the number of linear codes &amp;lt;math&amp;gt;C_{in}^i, i \in S&amp;lt;/math&amp;gt; having the distance &amp;lt;math&amp;gt;H_q^{-1}\left (\tfrac{1}{2}-\varepsilon \right) \cdot 2k.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we want to estimate &amp;lt;math&amp;gt;|S|.&amp;lt;/math&amp;gt; Obviously &amp;lt;math&amp;gt;|S|= \Delta(C_{out}(m_1),C_{out}(m_2)) \geqslant (1-R)N&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Due to the [[Wozencraft ensemble|Wozencraft Ensemble Theorem]], there are at most &amp;lt;math&amp;gt;\varepsilon N&amp;lt;/math&amp;gt; linear codes having distance less than &amp;lt;math&amp;gt;H_q^{-1}(\tfrac{1}{2}-\varepsilon) \cdot 2k,&amp;lt;/math&amp;gt; so&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;T \geqslant |S| - \varepsilon N \geqslant (1-R)N - \varepsilon N = (1-R-\varepsilon)N.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, we have&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\Delta(C^*(m_1),C^*(m_2)) \geqslant H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ) \cdot 2k \cdot T \geqslant H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ) \cdot 2k \cdot (1-R-\varepsilon) \cdot N.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is true for any arbitrary &amp;lt;math&amp;gt;m_1 \ne m_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;C^*&amp;lt;/math&amp;gt; has the relative distance at least &amp;lt;math&amp;gt;(1-R-\varepsilon)H_q^{-1} \left (\tfrac{1}{2}-\varepsilon \right ),&amp;lt;/math&amp;gt; which completes the proof.&lt;br /&gt;
&lt;br /&gt;
==Comments==&lt;br /&gt;
We want to consider the &amp;quot;strongly explicit code&amp;quot;. So the question is what the &amp;quot;strongly explicit code&amp;quot; is. Loosely speaking, for linear code, the &amp;quot;explicit&amp;quot; property is related to the complexity of constructing its generator matrix G.&lt;br /&gt;
&lt;br /&gt;
That in effect means that we can compute the matrix in logarithmic space without using the brute force algorithm to verify that a code has a given satisfied distance.&lt;br /&gt;
&lt;br /&gt;
For the other codes that are not linear, we can consider the complexity of the encoding algorithm.&lt;br /&gt;
&lt;br /&gt;
So by far, we can see that the Wonzencraft ensemble and Reed-Solomon codes  are strongly explicit. Therefore, we have the following result:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Corollary:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; The concatenated code &amp;lt;math&amp;gt;C^*&amp;lt;/math&amp;gt; is an asymptotically good code(that is, rate &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; &amp;gt; 0 and relative distance &amp;lt;math&amp;gt;\delta&amp;lt;/math&amp;gt; &amp;gt; 0 for small q) and has a strongly explicit construction.&lt;br /&gt;
&lt;br /&gt;
==An example of a Justesen code==&lt;br /&gt;
&lt;br /&gt;
The following slightly different code is referred to as the Justesen code in MacWilliams/MacWilliams. It is the particular case of the above-considered &lt;br /&gt;
Justesen code for a very particular Wonzencraft ensemble:&lt;br /&gt;
&lt;br /&gt;
Let &amp;#039;&amp;#039;R&amp;#039;&amp;#039; be a Reed-Solomon code of length &amp;#039;&amp;#039;N&amp;#039;&amp;#039; = 2&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;1, [[dimension (vector space)|rank]] &amp;#039;&amp;#039;K&amp;#039;&amp;#039; and minimum weight &amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;amp;nbsp;+&amp;amp;nbsp;1.&lt;br /&gt;
&lt;br /&gt;
The symbols of &amp;#039;&amp;#039;R&amp;#039;&amp;#039; are elements of &amp;#039;&amp;#039;F&amp;#039;&amp;#039; = GF(2&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;) and the codewords are obtained by taking every polynomial &amp;amp;fnof; over &amp;#039;&amp;#039;F&amp;#039;&amp;#039; of degree less than &amp;#039;&amp;#039;K&amp;#039;&amp;#039; and listing the values of &amp;amp;fnof; on the non-zero elements of &amp;#039;&amp;#039;F&amp;#039;&amp;#039; in some predetermined order.&lt;br /&gt;
&lt;br /&gt;
Let α be a [[primitive element (finite field)|primitive element]] of &amp;#039;&amp;#039;F&amp;#039;&amp;#039;.  For a codeword &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; = (&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;,&amp;amp;nbsp;...,&amp;amp;nbsp;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;) from &amp;#039;&amp;#039;R&amp;#039;&amp;#039;, let &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039; be the vector of length 2&amp;#039;&amp;#039;N&amp;#039;&amp;#039; over &amp;#039;&amp;#039;F&amp;#039;&amp;#039; given by&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \mathbf{b} = \left( a_1, a_1, a_2, \alpha^1 a_2, \ldots, a_N, \alpha^{N-1} a_N \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and let &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; be the vector of length 2&amp;#039;&amp;#039;N&amp;#039;&amp;#039; &amp;#039;&amp;#039;m&amp;#039;&amp;#039; obtained from &amp;#039;&amp;#039;b&amp;#039;&amp;#039; by expressing each element of &amp;#039;&amp;#039;F&amp;#039;&amp;#039; as a binary vector of length &amp;#039;&amp;#039;m&amp;#039;&amp;#039;.  The &amp;#039;&amp;#039;Justesen code&amp;#039;&amp;#039; is the linear code containing all such &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The parameters of this code are length 2&amp;#039;&amp;#039;m&amp;#039;&amp;#039; &amp;#039;&amp;#039;N&amp;#039;&amp;#039;, dimension &amp;#039;&amp;#039;m&amp;#039;&amp;#039; &amp;#039;&amp;#039;K&amp;#039;&amp;#039; and [[Block code|minimum distance]] at least&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{i=1}^\ell i \binom{2m}{i} , &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\ell&amp;lt;/math&amp;gt; is the greatest [[integer]] satisfying &amp;lt;math&amp;gt;\sum_{i=1}^\ell \binom{2m}{i}\leq N-K+1&amp;lt;/math&amp;gt;. (See MacWilliams/MacWilliams for a proof.)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Concatenated error correction code]]&lt;br /&gt;
* [[Linear code]]&lt;br /&gt;
* [[Reed–Solomon error correction|Reed-Solomon error correction]]&lt;br /&gt;
* [[Wozencraft ensemble]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://web.archive.org/web/20100702120650/http://www.cse.buffalo.edu/~atri/courses/coding-theory/ Lecture 28: Justesen Code. Coding theory&amp;#039;s course. Prof. Atri Rudra].&lt;br /&gt;
* [http://people.csail.mit.edu/madhu/FT02/ Lecture 6: Concatenated codes. Forney codes. Justesen codes. Essential Coding Theory]. &lt;br /&gt;
* {{cite journal | author=J. Justesen | title=A class of constructive asymptotically good algebraic codes | journal=IEEE Trans. Inf. Theory | volume=18 | year=1972 | pages=652–656 | doi=10.1109/TIT.1972.1054893 | issue=5 }}&lt;br /&gt;
* {{cite book | author=F.J. MacWilliams | author-link=Jessie MacWilliams |author2=N.J.A. Sloane | title=The Theory of Error-Correcting Codes | url=https://archive.org/details/theoryoferrorcor0000macw | url-access=registration | publisher=North-Holland | year=1977 | isbn=0-444-85193-3 | pages=[https://archive.org/details/theoryoferrorcor0000macw/page/306 306–316] }}&lt;br /&gt;
&lt;br /&gt;
[[Category:Error detection and correction]]&lt;br /&gt;
[[Category:Finite fields]]&lt;br /&gt;
[[Category:Coding theory]]&lt;/div&gt;</summary>
		<author><name>imported&gt;L Dimitrova</name></author>
	</entry>
</feed>