ПРАКТИЧЕСКИЙ АЛГОРИТМ ВЫЧИСЛЕНИЯ СОБСТВЕННЫХ ЗНАЧЕНИЙ СИММЕТРИЧНОЙ МАТРИЦЫ С ВЕЩЕСТВЕННЫМИ ЭЛЕМЕНТАМИ
И.Л. Макарова, канд. техн. наук, доцент А.М. Игнатенко, старший преподаватель Сочинский государственный университет (Россия, г. Сочи)
DOI:10.24412/2500-1000-2024-8-2-214-218
Аннотация. В данной статье представлен практический алгоритм вычисления собственных значений симметричной матрицы с вещественными элементами. Были проанализированы различные вычислительные методы решения этой проблемы и выявлены их недостатки. Представлен алгоритм вычисления собственных чисел матрицы, используя стандартные встроенные функции Microsoft Excel или Libre-Office Calc. Сделаны выводы о возможности использования алгоритма не только для симметрических матриц, но для просто матриц с вещественными элементами.
Ключевые слова: алгоритм, собственные значения симметричной матрицы с вещественными элементами, функции Calc.
Одной из основных задач линейной алгебры является полная или частичная проблема собственных значений [1, 2, 3]. Изучением, применением и вычислением собственных чисел и собственных векторов занимались, наверное, все выдающиеся математики - Леонард Эйлер, Джозеф-Луи Лагранж, Огюстен-Луи Коши, Джозеф Фурье, Пьер-Симон Лаплас, Чарльз Эрмит, Карл Вейерштрасс, Джозеф Лиувилль, Давид Гильберт и другие [4]. Первый численный алгоритм вычисления собственных значений и собственных векторов появился в 1929 году. Это был степенной метод Ричарда фон Мизеса [4]. Одним из самых популярных сегодня является QR-алгоритм, предложенный независимо Джоном Г.Ф. Фрэнсисом и Верой Кубла-новской в 1961 году.
В настоящее время существует огромное количество различных вычислительных методов решения этой проблемы. Можно назвать методы Крылова, Дани-
\А-ХЕ\ = (-1)П(ЯП
Получив коэффициенты характеристического уравнения, была сделана попытка определения максимального и минимального характеристических чисел итерационным методом [1]. В некоторых случаях решение получалось довольно быстро и с
левского, Леверье и Фаддеева [3], а также многие другие [6]. Кроме того, можно воспользоваться матричным калькулятором [5] или пакетами Mathcad, Маткад Прайм, Maple, Mathematica и еще множеством других. Однако, когда вам потребуется найти, например, максимальное собственное число ковариационной матрицы некоторого набора факторов, то, как правило, у вас не окажется никакой возможности применить указанные алгоритмы из-за их сложности, а указанные пакеты - из-за их отсутствия. Столкнувшись с такой проблемой, мы решили разработать алгоритм вычисления собственных чисел матрицы, используя стандартные встроенные функции Microsoft Excel или Libre-Office Calc.
Алгоритм вычисления
Первым шагом было получение характеристического многочлена известной матрицы А методом Фаддеева [3]:
-РгХп-1-----Рп).
требуемой точностью. Правда иногда процесс итераций зацикливался, не приводя к решению. В целом можно отметить следующие недостатки:
1) необходимость выбора начального значения итерационного процесса, которое неизвестно как выбирать;
2) возможно большое количество итераций;
3) возможно отсутствие разрешимости алгоритма.
Такая задача может быть решена с помощью встроенных пакетов в Excel и Libre-Office Calc. Необходимо отметить, что при этом не обязательно определяется максимальное или минимальное значение. Поэтому, если необходимо определить
По этим причинам от итерационного метода пришлось отказаться. Однако, поиск максимального или минимального собственных чисел привел к постановке оптимизационной задачи, в которой целевая функция представляла собой искомое собственное число, а единственное ограничение - характеристическое уравнение:
(1)
конкретно максимальное собственное число, надо вычислить все собственные числа. Далее, определив первое собственное число Л1, построили новый многочлен степени на единицу меньший
f = Л ^ max (min)
хп - piÀn-l-----pn = Q
(Л — Л^( лп-1-ргхп-2-----Pn-i) = 0.
Коэффициенты этого нового многочлена с помощью элементарных преобразований получались с помощью ранее найденных Р1,Р2,...,Рп и Л1. Аналогично нашли следующее Я2, решая подобную задачу оптимизации. Эти действия повторялись до тех пор, пока не было получено уравнение 2-й степени, которое решается элементарно. При этом сначала использовались
симметрические матрицы с вещественными элементами, поскольку все корни характеристического многочлена в этом случае также вещественны [1, 2, 3], и проблемы с их определением не должно быть. В качестве проверки расчетов использовались следствия известной теоремы Вие-та [2, 3]
IL IL
^Лi = tr(A) = an + a,22 + - + ann, = det(4).
i=1 i=1
(2)
Таким образом был получен алгоритм вычисления собственных чисел матрицы порядка п. Алгоритм
1. Определяем коэффициенты характеристического многочлена Р^ i = 1,п по методу Фаддеева [5,6,7]
А1 = А; Р1 = tr(A1); В1=А1 — Р1Е;
_ _ tr(A2) _
А2 = ABi; Р2 = - ; В2 = А2 — Р2Е'; ...
2
Ап-1 = АВп-2;
А-п = АВп-1;
Р =
1 п
Р2 = tr(An)
tr(An-i) п — 1
Bn-i = An-i Pn-iE;
п
= (—1)n-1det (А); Вп=Ап — РпЕ = 0.
(3)
2. Решаем задачу оптимизации / = Л ^ тах при единственном ограничении (1)
и любых по знаку Я. Вычислив значение Л1, получим следующий многочлен степени на единицу меньшей
Яп-1 - а(1)Яп-2-----а^ = 0, где
а(1} = Р1 - Л1; а(1} = Р2 + Р1Л1 - Я2; - (4)
а?" = Рп_! + РП_2ЯХ + ... + РХЯ^-2 - Я?"1.
Верхний индекс в скобках означает но- 3. Аналогично, решаем задачу оптими-
мер шага в расчетах п собственных чисел. зации / = Я ^ шах при единственном
ограничении
Яп-1 - а(1)Яп-2-----а^ = 0,
решение которого дает Я2 и следующий многочлен
Яп-2 - а(2)Яп-3-----а(222 = 0, где
а(2) = а(1) - Я2; а(2) = а(1) + а(1)Я2 - Я2; —
„(2) _ „(1) ■ „(1) 1 ■ , „(1);in-3 in-2 ап-2 = ап-2 + ап-3Я2 +^ + а1 - ^2 .
4. Продолжим аналогичные вычисления пока не получим многочлен второй степени
т2 (п-2) л (п-2) п
Я2 — а^ Я — а^ = 0, решение которого даст последние два корня характеристического многочлена:
2
D = ( а1п-2)) + 4а2п-2). Откуда
Л-п-1 =
а
( п-2)
VD
2
Яп
а
( п-2)
+ VD
2
В заключении выполним проверку найденных значений по формулам (2).
Приведем пример использования алгоритма для определения собственных чисел симметрической матрицы порядка 6:
А =
/2 1 4 2 3 1\
1 5 2 4 1 3 4 2 1 3 2 5
2 4 3 0 4 1 ,3 1 2 4 3 5, \1 3 5 1 5 2)
1
1
Следуя алгоритму, последовательно определяем коэффициенты характеристических многочленов и характеристические числа. Опуская промежуточные вычисления, которые могут выполнены как средствами Microsoft Excel, так и средствами Libre-Office Calc, результаты вычислений
представлены в таблице 1. Средства Microsoft Excel для решения задачи оптимизации используют пакет «Поиск решения», а средства Libre-Office Calc - «Сервис/Решатель». Проверка выполнения свойств (2) показала их полную согласованность.
Таблица 1 . Собственные числа матрицы А6х6
Шаг алгоритма Результаты вычислений
1 А6 - 13А5 - 18А4 + 446Л3 + 543А2 - 1966Ä + 112 = 0
2 А1 = 0,418541
3 Я5 - 12,521453Л4 - 83,992106Л3 + 405,805814А2 + 131,191229.А --1613,216341 = 0
4 А2 = 1,446810
5 А4 - 11.014583А3 - 100,015588А2 + 261.096254А + 1114,969583 = 0
6 А3 = -2,600138
7 А3 - 13,6153217? - 64,449661А + 428,112939 = 0
8 А4 = 4,121198
9 А2 - 95541523А - 103,859901 = 0
10 Х5 = -6,480069; А6 = 16,021592
Сумма и произведение полученных собственных чисел, как следовало ожидать, равны, соответственно, следу матрицы А и её определителю
Я1 + Я2 + Я3 + Я4 + Я5 + Я6 = tr(A) = 13, Xi • Х2 • Ä3 • Х4 • Ä5 • Лб = 112.
Кроме того, полученное решение срав- 3) алгоритм может быть использован на
нили с решением калькулятора собствен- лабораторных занятиях, когда вычисление
ных чисел [5]. Найденные двумя способа- собственных чисел является вспомога-
ми значения совпали. тельной, промежуточной задачей при изу-
В заключение можно сделать следую- чении различных математических дисци-
щие выводы: плин, например, дифференциальные урав-
1) полученный алгоритм достаточно нения или статистика;
прост и может быть воспроизведен даже 4) остался открытым вопрос определе-
не продвинутым пользователем; ния не максимального или минимального
2) алгоритм может быть использован не значения при решении задачи оптимиза-только для симметрических матриц, но для ции, так как конкретный алгоритм от нас просто матриц с вещественными элемен- скрыт;
тами; 5) алгоритм можно попробовать просто
для решения нелинейного уравнения. Библиографический список
1. Вержбицкий В. М. Основы численных методов: Учеб. пособие для студентов вузов, обучающихся по направлению подгот. дипломир. специалистов «Прикладная математика». - Москва: Высш. шк., 2002. - 839 с.
2. Дубров А.М., Мхитарян В.С., Трошин Л.И. Многомерные статистические методы и основы эконометрики. Учебное пособие. Московский государственный университет экономики, статистики и информатики. - М.: МЭСИ, 2002. - 79 с.
3. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. - М.: Наука, 2002.
4. Собственные значения и eigenvectors. - [Электронный ресурс]. - Режим доступа: https://translated.turbopages.org/proxy_u/en-ru.ru.9c162ef0-66b8758c-2de1c648-74722d776562.
5. Калькулятор собственных чисел и собственных векторов. - [Электронный ресурс]. -Режим доступа: https://matrixcalc.org/ru/vectors.html.
6. Математический форум Math Help Planet. - [Электронный ресурс]. - Режим доступа: https://mathhelpplanet.com/static.php?p=metody-resheniya-zadach-o-sobstvennykh-znacheniyakh-i-vektorakh-matritsy.
A PRACTICAL ALGORITHM FOR CALCULATING THE EIGENVALUES OF A SYMMETRIC MATRIX WITH REAL ELEMENTS
I.L. Makarova, Candidate of Technical Sciences, Associate Professor A.M. Ignatenko, Senior Lecturer Sochi State University (Russia, Sochi)
Abstract. This article presents a practical algorithm for calculating the eigenvalues of a symmetric matrix with real elements. Various computational methods for solving this problem have been analyzed and their disadvantages have been identified. An algorithm for calculating the eigenvalues of a matrix using standard built-in functions of Microsoft Excel or Libre-Office Calc is presented. Conclusions are drawn about the possibility of using the algorithm not only for symmetric matrices, but for simple matrices with real elements.
Keywords: algorithm, eigenvalues of a symmetric matrix with real elements, Calc functions.