Метод сопряженных градиентов.
Этот метод применяется к СЛАУ
с симметрической положительно-определенной -матрицей 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:
.
Дата добавления: 2016-01-26; просмотров: 749;