- •4.8. Методы обращения матриц
- •4.10. Методы решения слау с трехдиагональной матрицей Рассмотрим систему трехточечных уравнений
- •5. Полная и частичная проблемы собственных значений.
- •5.1. Постановка задачи
- •5.2. Метод а. Н. Крылова
- •Решение систем нелинейных уравнений
- •6.1. Метод простой итерации
- •6.2. Метод Ньютона
- •Основная литература
5. Полная и частичная проблемы собственных значений.
5.1. Постановка задачи
В предыдущем материале мы рассмотрели одну из основных групп вычислительных задач линейной алгебры — задачи численного нахождения решения системы линейных алгебраических уравнений. Сейчас рассмотрим другую важную группу таких задач, порождаемую так называемой проблемой собственных значений.
Собственным значением (или характеристическим числом) квадратной матрицы А называется такое число λ, что для некоторого ненулевого вектора х имеет место равенство
Ах= λ х. (5.0)
Любой ненулевой вектор х, удовлетворяющий этому равенству, называется собственным вектором матрицы А, соответствующим (или принадлежащим) собственному значению λ. Очевидно, что все собственные векторы матрицы определены с точностью до числового множителя. Анализ собственных значений матриц является важной темой научно-технических исследований.
Условием существования у однородной системы (5.0) ненулевого решения (для наглядности запишем эту систему в виде (А— λ Е)х = 0 является требование
|А- λ Е| =
Это уравнение обычно называют вековым (или характеристическим) уравнением матрицы А. Такие уравнения часто встречаются в приложениях. Левая часть векового уравнения
|А- λ Е| = (-1)n (λn – p1 λn-1- p2 λn-2 - …., - рп)
носит название характеристического полинома матрицы А. Старший коэффициент этого полинома равен (—1)п. Иногда вместо характеристического полинома рассматривают полином, отличающийся от характеристического множителем (-1)п. Этот полином
Р( λ ) = λn – p1 λn-1- p2 λn-2 - …., - рп
обычно называют собственным многочленом матрицы. Собственные значения матрицы являются корнями собственного многочлена. Совокупность всех собственных значений λ1, λг, .... , λп матрицы А, где каждое собственное значение выписано столько раз, какова его кратность как корня собственного многочлена, называется спектром этой матрицы. Собственными же векторами матрицы А являются нетривиальные решения однородной системы (5.0), в которой вместо λ подставлены собственные значения λi матрицы. В том случае, когда для данного собственного значения система (5.0) имеет несколько линейно независимых решений, этому собственному значению принадлежит несколько собственных векторов.
Задачу вычисления собственных значений и собственных векторов матрицы А можно разбить на три естественных этапа:
1) строение собственного многочлена Р( λ ) матрицы;
2) решение уравнения Р(λ)=0 и нахождение собственных значений λi (i=1, 2,... , п) матрицы;
3) отыскание нетривиальных решений однородных систем (А- λi Е)х = 0),(i=1,2.. ,n),
т. е. нахождение собственных векторов матрицы.
Каждый из трех отмеченных этапов решения проблемы собственных значений представляет собой достаточно сложную вычислительную задачу.
В самом деле, построение собственного многочлена Р(λ), например, связано с развертыванием определителя
(-1)n (λn – p1 λn-1- p2 λn-2 - …., - рп) = (-1)n Р(λ),
что представляет собой значительные технические трудности. Основное затруднение вызвано тем обстоятельством, что λ входит в каждую строку и в каждый столбец определителя. В общем же случае, как известно из алгебры, коэффициенты pi собственного многочлена Р(λ) представляют собой взятые со знаком (-1)i-1 суммы всех главных миноров (т. е. миноров, симметрично расположенных относительно главной диагонали) порядка i определителя матрицы Л. Число таких миноров для каждого i равно числу сочетаний из п по i. Значит, непосредственное вычисление коэффициентов собственного многочлена Р(λ) квадратной матрицы порядка п связано с вычислением 2n -1 определителей различных порядков.
Трудности в непосредственном осуществлении второго и третьего этапов решения проблемы собственных значений, т. е. трудности, связанные с решением алгебраических уравнений высоких степеней, и трудности в нахождении нетривиальных решений систем однородных линейных алгебраических уравнений, также значительны. К настоящему времени создано немало специальных вычислительных приемов, упрощающих численное нахождение собственных значений и собственных векторов матрицы. Все эти методы, как и в случае проблемы численного решения системы линейных алгебраических уравнений, можно разделить на точные и итерационные методы. К первой группе относятся методы, по которым сначала строят собственный многочлен матрицы (т. е. вычисляют его коэффициенты р1, р2, ... , рп), затем, находя его корни, получают собственные значения матрицы и уже по ним находят соответствующие собственные векторы. Методы этой группы получили название точных методов в связи с тем обстоятельством, что в случае точного задания (рациональными числами) элементов матрицы и при точном (по правилам действий над обыкновенными дробями) проведении вычислений такие методы приводят к точным значениям коэффициентов собственного многочлена, а координаты собственных векторов при этом оказываются выраженными через соответствующие собственные значения.
В методах второй группы собственные значения матрицы определяются непосредственно, без обращения к собственному многочлену, при этом обычно одновременно вычисляются и соответствующие собственные векторы. Вычислительные схемы таких методов носят итерационный характер. В них используется многократное умножение матрицы на вектор. Схемы этого типа обычно приводят к последовательности векторов, имеющей своим пределом собственный вектор, и к числовой последовательности, предел которой является соответствующим собственным значением. Сам факт сходимости этого процесса и ее скорость определяются величиной отношения модулей различных соседних собственных значений.
Как правило, итерационные методы позволяют с достаточной точностью определить лишь первые (наибольшие по модулю, например) собственные значения и соответствующие им собственные векторы. Поэтому методы этой группы чаще всего применяются к решению так называемой частичной проблемы собственных значений, т. е. их чаще используют лишь для отыскания одного или нескольких собственных значений матрицы и соответствующих собственных векторов. Точные же методы позволяют решать также и полную проблему собственных значений, т. е. дают возможность находить все собственные значения матрицы и все принадлежащие им собственные векторы. Полная проблема собственных значений в некоторых случаях может быть решена также и специальными итерационными методами. Эти методы, конечно, более трудоемки, чем точные методы и чем итерационные методы решения частичной проблемы собственных значений. Их практическое использование стало возможным лишь с появлением быстродействующих вычислительных машин. Однако перед точными методами решения полной проблемы собствейных значений итерационные методы имеют одно несомненное преимущество, связанное с возможностью нахождения всех собственных значений без предварительного построения собственного многочлена матрицы. Это особенно важно в связи с тем, что ошибки в вычислении коэффициентов собственного многочлена могут сильно сказываться на точности определения его корней, т. е. на точности нахождения собственных значений исходной матрицы (и соответствующих им собственных векторов). Кроме того, большим достоинством итерационных методов перед точными является простота и единообразие производимых действий, что особенно ценно при использовании быстродействующих вычислительных машин.
Полная и частичная проблемы собственных значений сильно различаются как по методам их решения, так и по области приложений. Так как решение полной проблемы собственных значений даже в случае матриц не очень высокого порядка обычно связано с очень большим объемом вычислительного труда, то возможность решения частичной проблемы собственных значений другими методами, минуя вычислительные трудности решения полной проблемы, является очень ценной для практики.
Таким образом, задача отыскания собственных значений и собственных векторов матрицы сводится к отысканию коэффициентов характеристического уравнения, определению его корней, и к отысканию нетривиальных решений системы Ах = Х, в которой вместо X рассматривают одно из найденных собственных значений.
Наиболее простой метод определения собственных чисел и собственных векторов матрицы основан на методе непосредственного вычисления определителя. Покажем это на конкретном примере.
Пример 1. Найти собственные числа и собственные векторы матрицы A методом непосредственного вычисления определителя (ε = 0.5 · 10-3 ).
А =
Составим характеристическое уравнение матрицы А, корнями которого являются собственные числа матрицы
|А- λ Е| = = 0.
Непосредственно вычислив определитель третьего порядка, имеем
(2 — λ) (4 — λ)( — 1— λ) — 15 — 12 — 9(4 — λ) — 10(2 — λ) — 2( — 1— λ) = 0,
откуда λ 3 — 5 λ 2 — 19 λ + 89 = 0. Полученное уравнение решаем методом Ньютона, предварительно отделив корни. Находим
f(λ ) = λ 3 — 5 λ 2— 19 λ + 89, f'(λ) = 3 λ 2—10 λ —l9,
следовательно λ1 =1,2; λ2 = 4,7.
Составим таблицу знаков функции f(λ )
-
λ
- ∞
-1,2
4.7
+∞
sign f(λ )
-
+
-
+
Как видно из таблицы, уравнение имеет три действительных корня:
λ1 [- ∞; -1,2]; λ2 [ - 1,2; 4,7]; λ3 [4,7; +∞].
Выберем для уточнения один из них, например λ2. Уменьшим промежуток
[-1,2; 4,7], в котором находится этот корень. Для этого вычислим значения функции f(λ ) в некоторых точках промежутка: f(2) = 39 > 0; f(3) = 14 > 0; f(4)= - 3 < 0. Итак, корень λ2 содержится внутри промежутка [3; 4]. Уточнение корня производим по формуле
λn+1 = λn - f(λn) / f / (λn)/
После уточнения имеем λ2 ≈ 3,7621. Для определения двух других собственных чисел решаем квадратное уравнение, полученное при делении многочлена f(λ ) на
λ- 3,7621: λ 2—1б2379 λ — 23,6571 = 0: λ1 ≈ - 4,2841; λ3 ≈ 5,5220.
Для определения собственных векторов, соответствующих найденным собственным значениям, воспользуемся системой линейных уравнений, полученных из равенства (А— λ Е)х = 0. При λ1 ≈ - 4,2841 получим систему
6,2841x1 - x2 + 3x3 = 0,
- 2х1 + 8,2841 х2 + 5х3 = 0,
Зх1 + 2x2 + 3, 2841x3 = 0.
Решив ее, получим х(1) = с (- 0,597; - 0,746; 1)T.
Аналогично определяются два других собственных вектора.
При λ2 = 3,7621 имеем
-1,7621x1 - x2 + 3x3 = 0,
- 2х1 + 0,2379 х2 + 5х3 = 0,
Зх1 + 2x2 -4,7621x3 = 0.
х(2) = с (1; -0,492; 0,423)T.
При λ3= 5,5220 имеем
-3,522x1 - x2 + 3x3 = 0,
- 2х1 + 1,522 х2 + 5х3 = 0,
Зх1 + 2x2 - 6,522x3 = 0.
х(3) = с ( - 0,00858; 0,228; 1)T.
Рассмотрим один точный вычислительный метод решения проблемы собственных значений, метод А. Н. Крылова, при этом, если противное не оговорено особо, мы будем иметь в виду лишь матрицы с вещественными элементами.