The least mean-square (LMS) algorithm solves the MMSE filter or least squares problem using a very simple iterative scheme. The current solution is updated by taking a step in the direction of the negative gradient of the instantaneous squared error. You will find this very simple algorithm to be a powerful tool for MMSE filtering and solving least squares problems.

LMS has a 50 year history in signal processing and continues to find new applications. For example, when solving very, very large least squares problems, it may not be possible to hold all the data in computer memory at once. LMS and variants are used to obtain a low-cost iterative solution that requires relatively little memory. LMS is also widely used in MMSE filtering problems to adapt or adjust the filter weights and maintain an optimal filter in response to changing characteristics of the input data.