Выражение для зеркально отраженного вектора позволяет представить нормальный вектор в виде линейной функции от задаваемого вектора z:
Число
в знаменателе является нормирующим множителем. Нормальный вектор представляющий гиперплоскость обязан иметь единичную длину. Коэффициент , который в общем случае является комплексным числом, необходимо выбрать так, чтобы скалярное произведение было больше нуля. Если учесть соотношение для согласованных норм: , тоВыбрав
для комплексных матриц или – для действительных матриц, будем иметьТакое нормирование не нарушает коллинеарности отраженного и единичного векторов:
Рассмотрим пример воздействия ортогонального преобразования на матрицу
.
Приведенная методика получения унитарных (и ортогональных в частности) матриц используется во многих стандартных алгоритмах в качестве инструмента частичного преобразования исходных матриц к двух или трех диагональным, для которых в дальнейшем применяются рекуррентные формулы получения решения уравнений, называемые в литературе методом прогонки для систем с ленточными матрицами.
2.Итерационные методы с минимизацией невязки
2.1Ускорение сходимости итерационных методов
Точные методы получения решений, использующие рассмотренные эквивалентные преобразования полностью заполненной матрицы, требуют выполнения числа операций, пропорционального кубу размерности системы, и свободной памяти для хранения исходных и промежуточных значений – пропорциональной квадрату размера матрицы. Поэтому для сверх больших систем (число неизвестных больше нескольких сотен) ориентируются в основном на применение приближенных, итерационных методов.
Привлекательность тех или иных итерационных методов определяется скоростью сходимости итерационного процесса. Теоретически доказано, что итерационный процесс Гаусса-Зейделя сходится к решению при любом начальном значении искомого значения вектора решений, однако количество итерационных циклов может во много раз превышать число неизвестных (размерность матрицы). Это вызвало к жизни множество модификаций алгоритмов, обладающих большей скоростью сходимости.
Процедуры ускорения связаны с построением очередного вектора по одному или нескольким его значениям на предыдущих итерационных циклах. Фактически речь идет о построении на каждом шаге итераций интерполирующей функции с векторным аргументом, по которой вычисляют очередной вектор для подстановки. Для вычисления вектора
на (k+1) – ом шаге итераций необходимо сначала получить величину и единичный вектор направления и просуммировать предыдущий вектор с добавочным вектором: .Подстановка последнего в уравнение (
) образует вектор из покомпонентных невязок. Для задания структурной взаимосвязи каждой невязки с соответствующей компонентой вектора и образования функционала (скалярной функции от вектора невязок) возмем скалярное произведение вектора невязки на вектор-строку : .После подстановки очередного вектора функционал получит новое значение, которое будет зависеть от некоторого скаляра
: .Чтобы невязки на каждом шаге итераций становились меньше, желательно соответствующим образом выбирать
. Найдем такое значение , при котором . Для этого приравняем производную по нулю. Индекс номера итерации пока опустим.Из последнего равенства для (k+1) – й итерации величина шага
в направлении вектора должна быть вычислена так: .Если единичные векторы направления последовательно выбирать равными координатным, т.е.
, то будет реализован метод Гаусса-Зейделя (метод покоординатного спуска в задачах оптимизации).Выбирая направление изменения очередного вектора в сторону локального убывания, т.е. в сторону, противоположную вектору градиента функционала, получается метод быстрого спуска. В этом случае
2.2Метод сопряженных направлений
Среди методов, связанных с выбором направления существуют методы, в которых к векторам направлений предъявляются требования их взаимной сопряженности
, т.е. матрица A преобразует вектор в вектор, ортогональный вектору . Доказано, что выбор направлений из множества сопряженных позволяет при любом начальном свести задачу к точному решению не более, чем за n шагов, если матрица симметричная и положительно определенная ( ) размера .Классическим набором сопряженных векторов являются собственные векторы матрицы (
). Однако задача их определения сложнее решения заданной системы уравнений. Не менее сложна и задача построения произвольной системы ортогональных векторов.В то же время примером ортогональных направлений являются направления вектора градиента и нормали в заданной точке некоторой гиперповерхности. Такая поверхность выше была представлена функционалом в виде скалярного произведения вектора невязки и вектора x, которая и определяла направление спуска по направлению градиента. Если, используя такой же подход к вычислению
, в выражении для последнего вектор невязок дополнительно модифицировать, как показано ниже, то рекуррентно вычисляемые очередные направления окажутся сопряженными:Выбрав в начале итераций
и , после выполнения приведенных вычислений в (n-1) цикле будут получены векторы направлений, удовлетворяющие соотношениям ,а векторы невязок будут ортогональными:
.