Hamming space

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In statistics and coding theory, a Hamming space is usually the set of all 2^N binary strings of length N.[1][2] It is used in the theory of coding signals and transmission.

More generally, a Hamming space can be defined over any alphabet (set) Q as the set of words of a fixed length N with letters from Q.[3][4] If Q is a finite field, then a Hamming space over Q is an N-dimensional vector space over Q. In the typical, binary case, the field is thus GF(2) (also denoted by Z2).[3]

In coding theory, if Q has q elements, then any subset C (usually assumed of cardinality at least two) of the N-dimensional Hamming space over Q is called a q-ary code of length N; the elements of C are called codewords.[3][4] In the case where C is a linear subspace of its Hamming space, it is called a linear code.[3] A typical example of linear code is the Hamming code. Codes defined via a Hamming space necessarily have the same length for every codeword, so they are called block codes when it is necessary to distinguish them from variable-length codes that are defined by unique factorization on a monoid.

The Hamming distance endows a Hamming space with a metric, which is essential in defining basic notions of coding theory such as error detecting and error correcting codes.[3]

Hamming spaces over non-field alphabets have also been considered, especially over finite rings (most notably over Z4) giving rise to modules instead of vector spaces and ring-linear codes (identified with submodules) instead of linear codes. The typical metric used in this case the Lee distance. There exist a Gray isometry between \mathbb{Z}_2^{2m} (i.e. GF(22m)) with the Hamming distance and \mathbb{Z}_4^m (also denoted as GR(4,m)) with the Lee distance.[5][6][7]

References

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

<templatestyles src="Asbox/styles.css"></templatestyles>

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 3.3 3.4 Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Cohen et al., Covering Codes, p. 15
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. http://www.encyclopediaofmath.org/index.php/Kerdock_and_Preparata_codes
  7. Lua error in package.lua at line 80: module 'strict' not found.