For codes over an alphabet of size , the greedy packing argument gives , where . A maximal distance- code has radius- Hamming balls covering the entire space; counting their union proves the lower bound. The linear refinement is the Varshamov bound for linear codes.
// Target: algebra.bigb
A binary code rate is guaranteed with correction of every error pattern of Hamming weight at most when and . Choose minimum Hamming distance . The Gilbert–Varshamov bound and entropy bound for a Hamming ball give at least codewords. To deduce vanishing error probability for a binary symmetric channel with crossover probability , use strict inequality in the rate condition and a correction radius ; the weak law of large numbers then controls the tail. Correcting exactly the mean number of errors does not by itself ensure reliable transmission.
// Target: algebra.bigb
For , take logarithms of the Gilbert–Varshamov bound and apply the Hamming ball volume exponent. The Varshamov bound for linear codes gives the same achievable lower bound within linear codes for prime-power .
// Target: algebra.bigb
For a prime-power alphabet size , a linear code exists if . Choose parity-check columns successively, avoiding combinations of at most earlier columns. Fewer than vectors are forbidden, so such a choice is possible. No set of at most columns is dependent, and the resulting kernel has dimension at least .
// Target: probability-and-statistics.bigb