Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Этот метод применяется к СЛАУ

с симметрической положительно-определенной -матрицей A: ,

для любого q.

Его можно считать итерационным, так как решение ищется в виде

,

где – параметр, – так называемый вектор сопряженного гради-ента, k – номер итерации.

С другой стороны, пусть построена последовательность

.

И пусть эта последовательность векторов является линейно-независимой и образует базис пространства . В этом случае любой вектор пространства , и в частности вектор , может быть представлен в виде разложения по базису

и, следовательно,

,

или

.

Таким образом, число итераций, необходимое для вычисления точного решения в отсутствии ошибок округления, известно и равно n. По этой причине метод можно считать прямым, так как заранее можно подсчитать число арифметических операций, требуемых для получения решения.

Построим метод сопряженных градиентов. Предположим, что на k -й итерации каким-либо способом вычислено . Тогда

.

Как вычислить параметр ? Рассмотрим квадратичную функцию

.

Минимум этой квадратичной функции достигается на решении системы . Итерационный процесс метода сопряженных градиентов можно рассматривать как процесс поиска минимума функции . Параметр на k -й итерации следует выбирать таким образом, чтобы функция в направлении достигала минимального значения, т. е.

.

Отсюда

.

Так как

, ,

то

,

где – текущий вектор невязки.

Невязку в методе сопряженных градиентов можно вычислить другим, более экономичным способом. Действительно,

.

Вычислив лишь , на последующих шагах невязку можно корректировать из соотношения

.

Так как вычислено при расчете , для нахождения потребуются лишь незначительные вычислительные затраты.

Рассмотрим теперь, как строятся на итерациях векторы сопряженных градиентов. Два вектора и являются сопряженными, или иначе A -ортогональными, если

.

Примем в качестве начального сопряженного градиента вектор , где . Построим следующее правило расчета сопряженного градиента:

.

Выберем параметр таким образом, чтобы векторы и были сопряженными. Умножим это соотношение слева сначала на матрицу A, затем на вектор :

.

Если учесть, что , нетрудно получить расчетное соотношение для параметра :

.

В итоге метод сопряженных градиентов можно представить следующим алгоритмом расчета:

1. Вычислить .

2. Вычислить в цикле (k=0, 1, 2, …):

2.1. ( – запомнить);

2.2. ;

2.3. ;

2.4. ;

2.5. .

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

.

Однако из-за наличия ошибок округления эти соотношения выполняются приближенно. Полученное после итераций решение может значительно отличаться от точного решения. Последнее не происходит, если число итераций превышает . Рано или поздно наступает такой момент, когда норма вектора невязки начинает резко уменьшаться и в конечном итоге точность решения определяется числом обусловленности матрицы (например, при работе с 15-и разрядными десятичными числами при числе обусловленности 106 можно получить в решении в лучшем случае только девять точных цифр).

Приведем в заключение оценку времени выполнения итерации метода сопряженных градиентов при решении СЛАУ с пятидиагональной матрицей A:

.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал