Алгоритм марквардта для нелинейного метода наименьших квадратов
1. Задаваемые параметры
Обозначим через
все параметры модели, т. е.
; необходимо задать начальные значения
, а также параметры
и
, ограничивающие поиск, и параметр сходимости
. Во время поиска необходимо оценивать значения
и производные

на каждом шаге итерации.
2. Вычисление производных
Производные находятся по остаточным ошибкам, вычисленным в соответствии с разд. 3.3 программы 3, согласно формуле
.
3. Итерация
Этап 1. По известным
, найденным для текущих значений параметров, находятся следующие величины:
1) матрица размером 
,
где
;
2) вектор
с элементами
, где
;
3) нормирующие величины
.
Этап 2. Модифицированные (введением нормирующих множителей и наложением ограничений) линеаризованные уравнения

конструируются согласно формулам

Уравнения решаются относительно
; этот вектор денормируется для получения поправок параметров
.
Вычисляются новые значения параметров
,
и оценивается сумма квадратов остаточных ошибок
.
Этап 3. 1) Если
, исследуются поправки параметров
. Если они все меньше
, достигнута сходимость, и матрица
размером
используется для вычисления ковариационной матрицы оценок согласно программе 3. В противном случае
принимает значение
, уменьшается в
раз и продолжаются вычисления на этапе 1.
2) Если
, ограничивающий параметр
увеличивается в
раз и вычисления продолжаются в соответствии с этапом 2. Почти во всех случаях удается найти наименьшую сумму квадратов. Однако
имеет верхнее граничное значение, и если оно превышено, поиск прекращается. Когда поиск закончился успешно, либо в соответствии с критерием 1 этапа 3, либо (предположительно) после заданного числа итераций, по программе 3 вычисляются остаточная дисперсия и ковариационная матрица оценок.