The Remez algorithm (Remez 1934), also called the Remez exchange algorithm, is an application of the Chebyshev alternation
theorem that constructs the polynomial of best approximation to certain functions
under a number of conditions. The Remez algorithm in effect goes a step beyond the
minimax approximation algorithm to give
a slightly finer solution to an approximation problem.

Parks and McClellan (1972) observed that a filter of a given length with minimal ripple would have a response with the same relationship
to the ideal filter that a polynomial of degree of best approximation has to a certain function, and
so the Remez algorithm could be used to generate the coefficients.

In this application, the algorithm is an iterative procedure consisting of two steps. One step is the determination of candidate filter coefficients
from candidate "alternation
frequencies," which involves solving a set of linear equations. The other step
is the determination of candidate alternation frequencies from the candidate filter
coefficients (Lim and Oppenheim 1988). Experience has shown that the algorithm converges
quickly, and is widely used in practice to design filters
with optimal response for a given number of taps. However, care should be used in
saying "optimal" coefficients, as this is implementation dependent and
also depends on fixed or floating-point
implementation as well as numerical accuracy.

A FORTRAN implementation is given by Rabiner (1975). A description emphasizing the mathematical foundations rather than digital signal processing applications is
given by Cheney (1999), who also spells Remez as Remes (Cheney 1999, p. 96).