Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

2.2. Метод минимальных поправок

Рассмотрим неявный итерационный метод вида

, (8)

Запишем этот метод в виде

. (9)

Вектор k =B1rk называется поправкой на (k+1)-й итерации. Она удовлетворяет тому же уравнению, что и погрешность zk=xkx неявного метода, т. е.

уравнению

. (10)

Будем предполагать, что B=BT>0. Методом минимальных поправок называется неявный итерационный метод (8), в котором параметр k+l выбирается из условия минимума нормы ||k+1||B=(Bk+1,k+1)1/2 при заданном векторе k. В случае B=Е метод минимальных поправок совпадает с методом минимальных невязок.

Найдем выражение для итерационного параметра k+l. Перепишем (10) в виде

и вычислим

.

Отсюда следует, что минимум этого выражения достигается при

. (11)

Для реализации метода минимальных поправок требуется на каждой итерации решить две системы уравнений Bk= rk и Bvk=Ak, откуда найдем вектор vk = B1 Аk (воспользуемся формулой (9)) .

Скорость сходимости метода минимальных поправок определя­ется границами спектра обобщенной задачи на собственные значения

. (12)

2.3. Метод скорейшего спуска

Рассмотрим явный метод (2) и выберем итерационный параметр k+l из условия минимума ||zk+1||A при заданном векторе zk, где zk+1=xk+1x. Поскольку погрешность zk удовлетворяет уравнению

, то

.

Следовательно, это выражение достигает минимума, если

.

Величина zk=xkx здесь неизвестна (так как неизвестно точное решение х), поэтому надо учесть, что Azk=rk=Axkf, и вычислять k+l по формуле

. (13)

2.4. Метод сопряженных градиентов

Пусть A - матрица системы . Рассмотрим следующий класс неявных двухшаговых итерационных методов:

. (14)

Здесь , k+l, k+l - итерационные параметры, которые будут определены далее. Начальное приближение x0 будем задавать произвольно, а вектор x1 вычислять по одношаговой формуле, которая получается из (14) при k=0 и l=1,

. (15)

Если параметры k+l, k+l найдены, то новое приближение xk+l выражается через два предыдущих значения хk и xk1 по формуле

. (16)

Для погрешности zk=xkx из (16) получаем уравнения

.

Введем, как и ранее, вспомогательную функцию vk=A1/2zk, для которой ||vk||=||zk||A. Функция vk удовлетворяет уравнениям

. (17)

где C=A1/2B1A1/2. Будем считать, что A и B - симметричные положительно определенные матрицы, удовлетворяющие неравенствам

. (18)

Исключая последовательно векторы vl, v2, , vkl из уравнений (17) находим, что

, (19)

где Pk(C) - многочлен степени k от оператора С, удовлетворяющий условию Pk(0)=E.

Поставим задачу выбрать итерационные параметры k, k так, чтобы при любом n=1, 2, ... была бы минимальной ||vn||=||zn||A.

Параметр 1 находится из условия минимума ||v1|| при заданном векторе v0. Так же, как и в методе скорейшего спуска, получаем

. (20)

Отметим, что при таком выборе 1 выполняется равенство (Cv1,v0)=0, т. е. векторы v1 и v0 ортогональны в смысле скалярного произведения

.

Далее, рассмотрим погрешность (19) и запишем многочлен Pk(C) в виде

, (21)

где ai(k) - числовые коэффициенты, определяемые параметрами i, i, i=l, 2, ..., k. Тогда

. (22)

Найдем условия, которым должны удовлетворять коэффициенты ai(k), минимизирующие ||vn||2. Из (22) получаем

, (23)

т. е. ||vn||2 является многочленом второй степени по переменным a1(n), ..., an(n). Приравнивая к нулю частные производные ||vn||2/aj(n), j=1, 2, ..., n, приходим к системе уравнений

, (24)

решение которой ai(n), i=1, 2, ..., n и обращает в минимум ||vn||2.