Concatenated codes #
Given an outer word c : ι → A over a large alphabet A and an inner encoding
inner : A → κ → B of the letters of A as words over a small alphabet B, the concatenated
word Cslib.Code.concat inner c : ι × κ → B replaces every letter c i by the inner codeword
inner (c i) [For66], [GRS19]. The distance between two concatenated
words is the sum of the distances between their blocks (Cslib.Code.hammingDist_concat). If
distinct letters have inner codewords at distance at least d_in, every coordinate where the
outer words differ contributes at least d_in, so concatenating a code of minimum distance at
least d_out gives a code of minimum distance at least d_out * d_in
(Cslib.Code.le_minDist_image_concat).
Main definitions #
Cslib.Code.concat: the concatenation of an outer word with an inner encoding.
Main results #
Cslib.Code.hammingDist_concat: the distance of concatenated words is the sum over the blocks.Cslib.Code.mul_hammingDist_le_hammingDist_concat: each outer disagreement costsd_in.Cslib.Code.le_minDist_image_concat: the minimum distance of a concatenated code is at least the product of the minimum distances.
References #
With an injective inner encoding, concatenation is injective.
The distance between two concatenated words is the sum of the distances between their blocks.
If distinct letters have inner codewords at distance at least d_in, concatenated words are
at distance at least d_in times the distance of the outer words.
The distance of concatenated codes [For66]. Concatenating an outer code of minimum
distance at least d_out with an inner encoding whose codewords for distinct letters are at
distance at least d_in gives a code of minimum distance at least d_out * d_in.