которых матрица X, например, для случая
имеет вид
Основной
шаг состоит в следующем.
(i) Для всех значений
от 1 до
умножаем на 1 и записываем произведение в ячейке двойной точности
Для всех значений
от 1 до
выполняем шаги (ii) и (iii):
(ii) Переставляем и а, округляем новое до одинарной точности для получения
и записываем на месте
.
(iii) Для: всех значений
от
до
заменяем а, на
,
(iv) Выбираем
так, что
Если таких максимумов более одного, выбираем первый. Записываем
внизу
столбца.
(v) Переставляем
округляем новое
до одинарной точности для получения
и записываем на месте
.
(vi) Для всех значений
от
до
вычисляем
и записываем на месте
Подчеркнем, что этот процесс совпадает с треугольным разложением, использующим частичный выбор главного элемента и накопление скалярных произведений (гл. 4, § 39); даже ошибки округления те же самые. Однако если
столбец X линейно зависит от предыдущих, это проявится в течение
основного шага модифицированного процесса, через появление нулей
на вспомогательном шаге
. В этом случае не нужны никакие вычисления с последующими столбцами.
Описанный процесс можно применить к матрице В, образованной векторами
Если при работе с
мы заметим, что
линейно зависим с
то мы не будем вычислять остальные векторы. Тогда
так что решение уравнений
дает коэффициенты
минимального полинома вектора
по отношению к А.