The Berlekamp–Welch algorithm, also known as the Welch–Berlekamp algorithm, is named for Elwyn R. Berlekamp and Lloyd R. Welch. The algorithm efficiently corrects errors in BCH codes and Reed–Solomon codes (which are a subset of BCH codes). Unlike many other decoding algorithms, and in correspondence with the code-domain Berlekamp–Massey algorithm that uses syndrome decoding and the dual of the codes, the Berlekamp–Welch decoding algorithm provides a method for decoding Reed–Solomon codes using just the generator matrix and not syndromes.
In the problem of decoding Reed–Solomon codes, the inputs are pair wise distinct evaluation points where with dimension and distance and a codeword Our goal is to describe an algorithm that can correct many errors in polynomial time. To do so we have to find such that and the number of indices for which is less than or equal to We can assume that there exists a polynomial such that