Итерационный метод решения систем линейных уравнений с использованием д-градиента
В.А. Есаулов, Д.В.Гринченков, В.А. Мохов
Южно-Российский государственный политехнический университет (НПИ) имени М.И.
Платова
Аннотация: Цель и задачи данной работы состоят в развитии итерационных методов методов решения систем линейных уравнения. Достижение цели и задач обеспечивается путем разработки итерационного метода с использованием аппарата д-дифференцирования. С помощью программного пакета Ма^аЬ проведен вычислительный эксперимент, в результате которого подтверждена работоспособность предложенного метода.
Ключевые слова: система линейных уравнений, целевая функция, градиентный метод, итерационный метод, моделирование, алгоритм, экстремум функции, д-производная, относительная погрешность, норма вектора, невязка, обусловленность задачи.
Численное решение систем линейных алгебраических уравнений (СЛАУ) - одна из наиболее часто встречающихся задач в научно-технических исследованиях, экономике, статистике [1, 2]. Все используемые на практике методы решения СЛАУ можно разделить на прямые и итерационные [3]. Известно, что многие прямые методы решения СЛАУ, основанные на концепции абсолютной точности, при наличии погрешностей не могут быть положены в основу универсальных вычислительных программ для ЭВМ в силу неустойчивости решений к погрешностям.
Преимуществом итерационных методов является удобное применение в современной вычислительной технике. Они позволяют получить решение с заранее заданной точностью [3-5].
Введение
J
Построение итерационного метода решения СЛАУ с использованием q-
градиента
Общая схема организации итерационного процесса решения СЛАУ Ax = b имеет вид [1, 4]:
= ^(AXk -b), (1)
где Xk, Xk+j -приближения решения СЛАУ на k-й и (к+1)-й итерациях; тк - шаг итерационного процесса.
В ряде итерационных методов решение СЛАУ рассматривают как
задачу минимизации функции невязки [4, 5]:
/ \2 m ( n '
f (X) = ||AX - b||2 = £ £ajX} - Ь ^ min , (2)
i=i vj = J
где X - вектор переменных целевой функции.
В итерационной постановке (3) может решаться с применением градиентных методов, имеющих вид:
Xk+! = Xk -TkVf (Xk), (3)
Xk, Xk+1 - значения аргумента функции (2) на k-й и (k+1) -й итерациях; Рассмотрим итерационный процесс решения СЛАУ с применением q-производной [6, 7]. Использование q-производных при расчете антиградиента в методе наискорейшего спуска [6, 8] также дает возможность повышения качества поиска оптимума функции.
Определение q-производной имеет следующий вид [6]:
f (qx) - f (x)
DJ (x) =
, x * 0
qx - x df (0)
dx df ( x)
x = 0 , (4)
q = 1
dx
Используя в (3) q-градиент с учетом (4) получим следующий итерационный процесс:
J
^+1 = ^(\Хк - 2ATb)
(5)
где qk , 1 < qk < 2 - порядок q-градиента на к-й итерации;
А^ =((2Ат А + (1 + qk - 22)й1а%(АтА))) - главная матрица СЛАУ на к-й итерации.
Из (5) видно, что при фиксированном значении qk шаг тк может определяться вариационными методами решения СЛАУ [4, 5]. Так, для метода минимальных невязок, величина тк рассчитается как
(гк, Ла )
■ k' qt k
КМ
(6)
Где rk = 2ATb - A%Xk - величина невязки.
В случае использования метода наискорейшего спуска для тк имеем:
(7)
Клл)'
Рассмотрим варианты расчета оптимальной величины qk. Общая формула оценки величины qk может быть сформулирована через оценку минимума (1) на k-ой итерации:
f(Хк+1) = ||AXk+1 -b||2 ^min, (8)
С учетом представлений (6), (7), задачу (8) можно переформулировать как задачу поиска qk следующим образом:
f (xk+1) =
xk +
((k , Aq/k)
4k_ Aq/k
2 'k
- b
^ min , 1 < qk < 2,
(9)
С учетом (5), для формулы (7) оценки тк задача (8) примет вид
f ( Xk+1) =
2
xk +
((k ( Aq/k )
- b
qk k > у
^ min , 1 < qk < 2,
(10)
2
r
2
2
r
Поиск величины qk, как видно из (9), (10) представляет собой одномерную нелинейную задачу, может усложнить реализацию (5). В этой связи интерес представляет поиск способов упрощенного расчета qk, минимально снижающих точность расчета решения СЛАУ.
При поиске эвристики, адекватно описывающей расчет qk, будем исходить из определения q-производной (4). Из нее видно, что q показывает, во сколько раз отличаются начальная и конечная точки, в которых вычисляются значения функций.
Рассмотрим векторы Хк+1 и Хк. Вектор 4 = Хк+1 - Хк можно интерпретировать как невязку между приближениями, характеризующую сходимость процесса (1). С учетом 4 связь между координатами Хк+1 и Хк можно представить следующим образом:
Хк+1 = Хк +4 = (/+ок )Хк (11)
где Ок - матрица перехода, связывающая 4 и Хк;
I - единичная матрица.
Матрицу Ок можно рассматривать как преобразование растяжения Хк, она будет иметь диагональный характер. Коэффициенты растяжения соответственно составят
Х' - Х'
0к = ЬХ^ (12)
где Х'к и Хкк+1 - '-е координаты векторов Хк и Хк+1.
Если считать, что компоненты Х'к и Х'к+1 достаточно близки по своему
значению, (23) можно аппроксимировать как
Х ' - Х ' Х ' - Х ' Х ' - Х '
ок = л к+1 лк к+1 лк к+1 лк (13)
Хк Хк+1 Х
Хк+, + Х'к
где Х =—— - среднее значение.
Выражение (12) можно определить как относительную погрешность координаты Х'к+1 относительно Х'к. С учетом геометрического смысла (4) элемент можно интерпретировать как порядок частной q-производной функции (2) по переменной xi. Таким образом, из анализа (12), (13) можно сделать вывод о том, что величину порядка qk можно оценить по величине погрешности между векторами Хки Хк.
Если рассмотреть величину порядка q-градиента в смысле (12), (13), то (5) можно записать следующим образом:
Хк+1 = Хк-Тк((2АтА + Ок • diag(АтА))хк -2АтЬ) (14)
Упростим (14), преобразовав элементы матрицы Ок в одно значение. Для этого оценим параметр порядка q-градиента qk как погрешность для векторов Хк+1 и Хк следующим образом:
1 , 1 , \Хк+1 - ХЛ /1 СЧ
qk =1=1 + и „ и (15)
IIх к+11
Формула (15) описывает степень близости Хк и Хкпри условии, что
Хкна к-й итерации можно рассматривать как точку минимума (1).
От выбора нормы || для оценки qk в (15) зависит точность решения в
итерационном процессе (5). Наиболее очевидным решением представляется выбор норм || || как наиболее часто встречающихся в практике
оценивания параметров матриц и характеристик итерационных процессов
[5].
Вычислительный эксперимент
Для сравнительного анализа степени эффективности с методикой (5) и ее вариациями (8)-(15) выбирались методы Зейделя, Якоби, а также минимальной невязки и наискорейшего спуска [9]. Максимальное число итераций для каждого из методов задавалось как 4000. Критерием останова
итерационных процессов являлось отношение ||Хк+1 - Хк|| 2 <8 , где 8 -
допустимая погрешность. Величина погрешности задавалась как 8 = 10-7.
В качестве тестовой СЛАУ выбиралась задача Филипса [10], известная своей плохой обусловленностью. Порядок СЛАУ составил 100. При этом в качестве начального приближения задавался нулевой вектор.
Данные о величине погрешности решения СЛАУ при использовании стандартных методов и (5) с расчетом порядка q-градиента из (9), из (10) приведены в табл. 1.
Таблица № 1.
. Сводная таблица погрешностей решения задачи Филипса
Численные методы решения СЛАУ Погрешность, %
Методы Зейделя и Якоби -
Метод минимальной невязки 1.79
Метод минимальной невязки для (3) 0.63
Метод наискорейшего спуска -
Метод наискорейшего спуска для (3) 0.646
Методика (5), определение qk из (9) 0.614
Методика (5), определение qk из (10) 0.5133
Оценки погрешности решения задачи Филипса при использовании модифицированных методик определения порядка q-градиента приведены в табл. 2.
Таблица № 2
Погрешности решения задачи Филипса при использовании упрощенных
методик расчета qk
Методы решения СЛАУ Погрешность, %
Методика (13), (14) с оценкой шага тк по (6) 0.5710
Методика (13), (14) с оценкой шага тк по (7) 0.6625
Методика (5) с оценкой шага тк по (6), оценка qk по (15)
Норма ||-| для оценки qk 0.5786
Норма | 2 для оценки qk 0.5725
Норма | для оценки q, ад ±К 0.5730
Методика (5) с оценкой шага тк по (7), оценка qk по (15)
Норма | для оценки qk 0.6405
Норма • 2 для оценки qk 0.6339
Норма ||-| для оценки q, ад ±и 0.6267
Знак «-» в табл. 1, 2 означает, что указанные методы расходятся. Из сравнительного анализа погрешностей в табл. 1, 2 вытекает, что наименьшую величину ошибки для решения задачи Филипса дает методика (5) с использованием (10). Вместе с тем, модификации (13) - (15) оценки порядка градиента дают сопоставимую величину ошибки при более простом способе расчета qk.
Заключение
В статье предложена методика решения СЛАУ (5) на основе использования q-градиента от функции (2) с возможностью адаптивной оценки его порядка. Вычислительный эксперимент показал ее применимость в отношении решения плохо обусловленных задач. Следующими шагами в модификации методов решения СЛАУ могут стать обобщение проекционных методов решения СЛАУ с учетом использования q-градиентов и дополнительной информации о решаемой СЛАУ.
Литература
1. Шарый С.П. Курс вычислительных методов. Учеб. пособие. -Новосибирск: Новосиб. гос. ун-т. , 2014 г. , 279 с.
2. Целигоров Н.А., Целигорова Е.Н., Мафура Г.В. Математические модели неопределённостей систем управления и методы, используемые для их исследования // Инженерный вестник Дона, 2012, № 4(часть 2) URL: ivdon.ru/ru/magazine/archive/ n4p2y2012/1340.
3. Бегляров В.В., Берёза А.Н. Гибридный эволюционный алгоритм решения систем линейных алгебраических уравнений, описывающих электрические цепи // Инженерный вестник Дона, 2013, №1 URL: ivdon.ru/ru/magazine/archive/ n1y2013/1540.
4. Хейгеман Л. Прикладные итерационные методы: пер. с англ. / Л. Хейгеман, Д. Янг. - М.: Мир, 1986. - 446 с.
5. Голуб Дж. Матричные вычисления: пер. с англ. / Дж. Голуб, Ч. Ван Лоун. - М.: Мир, 1999. - 548 с.
6. A. C. Soterroni, R. L. Galski and F. M. Ramos, "The q-gradient vector for unconstrained continuous optimization problem" // Operations Research Proceddings 2010, Springer-Verlag Berlin Heidelberg, pp. 365-370 (2011).
7. Ernst, T.: A method for q-calculus. J. Nonlinear Math. Phys. 10, рр. 487-525 (2003).
8. Ubaid M. Al-Saggaf, Muhammad Moinuddin, Muhammad Arif, Azzedine Zerguine. Theq-Least Mean Squares algorithm // Signal Processing 111 (2015), pp. 50-60.
9. Горбаченко В. И. Вычислительная линейная алгебра с примерами на MATLAB. — СПб.: БХВ-Петербург, 2011. — 320 с.
10. Phillips D.L. A technique for the numerical solution of integral equation of the first kind // J.ACM. - 1962. - № 9. - pp. 84-97.
References
1. Sharyj S.P. Kurs vychislitel'nyh metodov. Ucheb. Posobie [The course of computing methods. Tutorial]. Novosibirsk: Novosib. gos. un-t., 2014 g., 279 p.
2. Celigorov N.A., Celigorova E.N., Mafura G.V. Inzenernyj vestnik Dona (Rus), 2012, № 4(part 2) URL: ivdon.ru/ru/magazine/archive/n4p2y2012/1340.
3. Begljarov V.V., Berjoza A.N. Inzenernyj vestnik Dona (Rus), 2013, №1 URL: ivdon.ru/ru/magazine/archive/ n1y2013/1540.
4. Hageman L. Prikladnye iteratsionnye metody [Applied Iterative Methods]: per. s angl. L. Hageman, D. Young. M.: Mir, 1986. 446 p.
5. Golub H. Matrichnye vychisleniya [Matrix Computations]: per. s angl. H. Golub, Ch. Van Loun. M.: Mir, 1999. 548 p.
6. A. C. Soterroni, R. L. Galski and F. M. Ramos, "The q-gradient vector for unconstrained continuous optimization problem". Operations Research Proceddings 2010, Springer-Verlag Berlin Heidelberg, pp. 365-370 (2011).
7. Ernst, T.: A method for q-calculus. J. Nonlinear Math. Phys. 10, рр. 487525 (2003).
8. Ubaid M. Al-Saggaf, Muhammad Moinuddin, Muhammad Arif, Azzedine Zerguine. Theq-Least Mean Squares algorithm. Signal Processing 111 (2015), pp. 50-60
9. Gorbachenko V. I. Vychislitel'naya lineynaya algebra s primerami na MATLAB [Numerical Linear Algebra with examples in MATLAB]. SPb: BKhV-Peterburg, 2011. 320 p.
10. Phillips D.L. A technique for the numerical solution of integral equation of the first kind. J.ACM. 1962. № 9. pp. 84-97.