Методы решения задач о собственных
значениях и векторах матриц
Постановка задачи
Пусть [math]A[/math] — действительная числовая квадратная матрица размера [math](n\times n)[/math] . Ненулевой вектор [math]X= \bigl(x_1,\ldots,x_n\bigr)^T[/math] размера [math](n\times1)[/math] , удовлетворяющий условию
называется собственным вектором матрицы [math]A[/math] . Число [math]\lambda[/math] в равенстве (2.1) называется собственным значением. Говорят, что собственный вектор [math]X[/math] соответствует (принадлежит) собственному значению [math]\lambda[/math] .
Равенство (2.1) равносильно однородной относительно [math]X[/math] системе:
Система (2.2) имеет ненулевое решение для вектора [math]X[/math] (при известном [math]\lambda[/math] ) при условии [math]|A-\lambda E|=0[/math] . Это равенство есть характеристическое уравнение:
где [math]P_n(\lambda)[/math] — характеристический многочлен n-й степени. Корни [math]\lambda_1, \lambda_2,\ldots,\lambda_n[/math] характеристического уравнения (2.3) являются собственными (характеристическими) значениями матрицы [math]A[/math] , а соответствующие каждому собственному значению [math]\lambda_i,
i=1,\ldots,n[/math] , ненулевые векторы [math]X^i[/math] , удовлетворяющие системе
являются собственными векторами.
Требуется найти собственные значения и собственные векторы заданной матрицы. Поставленная задача часто именуется второй задачей линейной алгебры.
Проблема собственных значений (частот) возникает при анализе поведения мостов, зданий, летательных аппаратов и других конструкций, характеризующихся малыми смещениями от положения равновесия, а также при анализе устойчивости численных схем. Характеристическое уравнение вместе с его собственными значениями и собственными векторами является основным в теории механических или электрических колебаний на макроскопическом или микроскопическом
уровнях.
Различают полную и частичную проблему собственных значений, когда необходимо найти весь спектр (все собственные значения) и собственные векторы либо часть спектра, например: [math]\rho(A)= \max_|\lambda_i(A)|[/math] и [math]\min_|\lambda_i(A)|[/math] . Величина [math]\rho(A)[/math] называется спектральным радиусом .
1. Если для собственного значения [math]\lambda_i[/math] — найден собственный вектор [math]X^i[/math] , то вектор [math]\mu X^i[/math] , где [math]\mu[/math] — произвольное число, также является собственным вектором, соответствующим этому же собственному значению [math]\lambda_i[/math] .
2. Попарно различным собственным значениям соответствуют линейно независимые собственные векторы; k-кратному корню характеристического уравнения соответствует не более [math]k[/math] линейно независимых собственных векторов.
3. Симметрическая матрица имеет полный спектр [math]\lambda_i,
i=\overline<1,n>[/math] , действительных собственных значений; k-кратному корню характеристического уравнения симметрической матрицы соответствует ровно [math]k[/math] линейно независимых собственных векторов.
4. Положительно определенная симметрическая матрица имеет полный спектр действительных положительных собственных значений.
Метод непосредственного развертывания
Полную проблему собственных значений для матриц невысокого порядка [math](n\leqslant10)[/math] можно решить методом непосредственного развертывания. В этом случае будем иметь
Уравнение [math]P_n(\lambda)=0[/math] является нелинейным (методы его решения изложены в следующем разделе). Его решение дает [math]n[/math] , вообще говоря, комплексных собственных значений [math]\lambda_1,\lambda_2,\ldots,\lambda_n[/math] , при которых [math]P_n(\lambda_i)=0
(i=\overline<1,n>)[/math] . Для каждого [math]\lambda_i[/math] может быть найдено решение однородной системы [math](A-\lambda_iE)X^i=0,
i=\overline<1,n>[/math] . Эти решения [math]X^i[/math] , определенные с точностью до произвольной константы, образуют систему [math]n[/math] , вообще говоря, различных векторов n-мерного пространства. В некоторых задачах несколько этих векторов (или все) могут совпадать.
Алгоритм метода непосредственного развертывания
1. Для заданной матрицы [math]A[/math] составить характеристическое уравнение (2.5): [math]|A-\lambda E|=0[/math] . Для развертывания детерминанта [math]|A-\lambda E|[/math] можно использовать различные методы, например метод Крылова, метод Данилевского или другие методы.
2. Решить характеристическое уравнение и найти собственные значения [math]\lambda_1, \lambda_2, \ldots,\lambda_n[/math] . Для этого можно применить методы, изложенные далее.
3. Для каждого собственного значения составить систему (2.4):
и найти собственные векторы [math]X^i[/math] .
Замечание. Каждому собственному значению соответствует один или несколько векторов. Поскольку определитель [math]|A-\lambda_iE|[/math] системы равен нулю, то ранг матрицы системы меньше числа неизвестных: [math]\operatorname
Пример 2.1. Найти собственные значения и собственные векторы матрицы [math]A\in \mathbb
1. Запишем уравнение (2.5): [math]|A-\lambda E|= \begin
2. Находим его корни (собственные значения): [math]\lambda_1=5,
3. Составим систему [math](A-\lambda_iE)X^i=0,
i=1,2[/math] , для каждого собственного
значения и найдем собственные векторы:
Отсюда [math]x_1^1=-x_2^1[/math] . Если [math]x_2^1=\mu[/math] , то [math]x_1^1=-\mu[/math] . В результате получаем [math]X^1= \bigl\
Для [math]\lambda_2=-1[/math] имеем
Отсюда [math]x_2^2=2x_1^2[/math] . Если [math]x_1^2=\mu[/math] , то [math]x_2^2=2\mu[/math] . В результате получаем [math]X^2= \bigl\
Пример 2.2. Найти собственные значения и собственные векторы матрицы [math]A= \begin
1. Запишем характеристическое уравнение (2.5):
2. Корни характеристического уравнения: [math]\lambda_<1,2>=1[/math] (кратный корень), [math]\lambda_3=3[/math] — собственные значения матрицы.
3. Найдем собственные векторы.
Для [math]\lambda_<1,2>=1[/math] запишем систему [math](A-\lambda_<1,2>E)\cdot X^<1,2>=0\colon[/math]
Поскольку [math]\operatorname
x_3^<1,2>=3[/math] , получаем [math]x_1^<1,2>=1[/math] и собственный вектор [math]X^1= \begin
x_3^<1,2>=1[/math] , получаем [math]x_1^<1,2>=-1[/math] и другой собственный вектор [math]X^2= \begin
Для собственного значения [math]\lambda_3=3[/math] запишем систему [math](A-\lambda_3E)\cdot X^3=0\colon[/math]
Поскольку [math]\operatorname
x_1^3=-x_2^3[/math] . Полагая [math]x_2^3=1[/math] , получаем [math]x_1^3=-1[/math] и собственный вектор [math]X^3=\begin
Метод итераций для нахождения собственных значений и векторов
Для решения частичной проблемы собственных значений и собственных векторов в практических расчетах часто используется метод итераций (степенной метод). На его основе можно определить приближенно собственные значения матрицы [math]A[/math] и спектральный радиус [math]\rho(A)= \max_\bigl|\lambda_i(A)\bigr|[/math] .
Пусть матрица [math]A[/math] имеет [math]n[/math] линейно независимых собственных векторов [math]X^i,
i=1,\ldots,n[/math] , и собственные значения матрицы [math]A[/math] таковы, что
Алгоритм метода итераций
1. Выбрать произвольное начальное (нулевое) приближение собственного вектора [math]X^<1(0)>[/math] (второй индекс в скобках здесь и ниже указывает номер приближения, а первый индекс без скобок соответствует номеру собственного значения). Положить [math]k=0[/math] .
\lambda_1^<(1)>= \frac
4. Найти [math]\lambda_1^<(k+1)>= \frac
1\leqslant i\leqslant n[/math] .
5. Если [math]\Delta= \bigl|\lambda_1^<(k+1)>— \lambda_1^<(k)>\bigr|\leqslant \varepsilon[/math] , процесс завершить и положить [math]\lambda_1\cong \lambda_1^
1. Процесс последовательных приближений
сходится, т.е. при [math]x\to\infty[/math] вектор [math]X^<1(k)>[/math] стремится к собственному вектору [math]X^1[/math] . Действительно, разложим [math]X^<1(0)>[/math] по всем собственным векторам: [math]\textstyle
При большом [math]k[/math] дроби [math]<\left(\frac<\lambda_2><\lambda_1>\right)\!>^k, \ldots, <\left(\frac<\lambda_n><\lambda_1>\right)\!>^k[/math] малы и поэтому [math]A^kX^<1(0)>= c_1\lambda_1^kX^1[/math] , то есть [math]X^<1(k)>\to X^1[/math] при [math]k\to\infty[/math] . Одновременно [math]\lambda_1= \lim\limits_
2. Вместо применяемой в пункте 4 алгоритма формулы для [math]\lambda_1^<(k+1)>[/math] можно взять среднее арифметическое соответствующих отношений для разных координат.
3. Метод может использоваться и в случае, если наибольшее по модулю собственное значение матрицы [math]A[/math] является кратным, т.е.
4. При неудачном выборе начального приближения [math]X^<1(0)>[/math] предел отношения [math]\frac
5. Рассмотренный итерационный процесс для [math]\lambda_1[/math] сходится линейно, с параметром [math]c=\frac<\lambda_2><\lambda_1>[/math] и может быть очень медленным. Для его ускорения используется алгоритм Эйткена.
6. Если [math]A=A^T[/math] (матрица [math]A[/math] симметрическая), то сходимость процесса при определении [math]\rho(A)[/math] может быть ускорена.
7. Используя [math]\lambda_1[/math] , можно определить следующее значение [math]\lambda_2[/math] по формуле [math]\lambda_2= \frac
(i=1,2,\ldots,n)[/math] . Эта формула дает грубые значения для [math]\lambda_2[/math] , так как значение [math]\lambda_1[/math] является приближенным. Если модули всех собственных значений различны, то на основе последней формулы можно вычислять и остальные [math]\lambda_j
8. После проведения нескольких итераций рекомендуется «гасить» растущие компоненты получающегося собственного вектора. Это осуществляется нормировкой вектора, например, по формуле [math]\frac
Пример 2.3. Для матрицы [math]A=\begin
1. Выбирается начальное приближение собственного вектора [math]X^<(0)>= \begin
5. Так как \varepsilon»>[math]\bigl|\lambda_1^<(2)>— \lambda_1^<(1)>\bigr|= 0,\!75> \varepsilon[/math] , то процесс необходимо продолжить. Результаты вычислений удобно представить в виде табл. 10.10.
Точность по достигнута на четвертой итерации. Таким образом, в качестве приближенного значения [math]\lambda_1[/math] берется 6,9559, а в качестве собственного вектора принимается [math]X^1= \begin
Так как собственный вектор определяется с точностью до постоянного множителя, то [math]X^1[/math] лучше пронормировать, т.е. поделить все его компоненты на величину нормы. Для рассматриваемого примера получим
Согласно замечаниям, в качестве собственного значения [math]\lambda_1[/math] матрицы можно взять не только отношение
а также их среднее арифметическое [math]\frac<6,\!9559+6,\!728+6,\!8905><3>\approx 6,\!8581[/math] .
Пример 2.4. Найти максимальное по модулю собственное значение матрицы [math]A=\begin
1. Зададим начальное приближение [math]X^<1(0)>= \begin
Выполним расчеты согласно методике (табл. 10.11).
В результате получено собственное значение [math]\lambda_1\cong 3,\!00003[/math] и собственный вектор [math]X^1= \begin
Метод вращений для нахождения собственных значений
Метод используется для решения полной проблемы собственных значений симметрической матрицы и основан на преобразовании подобия исходной матрицы [math]A\in\mathbb
Напомним, что две матрицы [math]A[/math] и [math]A^<(i)>[/math] называются подобными ( [math]A\sim A^<(i)>[/math] или [math]A^<(i)>\sim A[/math] ), если [math]A^<(i)>=H^<-1>AH[/math] или [math]A=HA^<(i)>H^<-1>[/math] , где [math]H[/math] — невырожденная матрица.
В методе вращений в качестве [math]H[/math] берется ортогональная матрица, такая, что [math]HH^
[math]\operatorname
При реализации метода вращений преобразование подобия применяется к исходной матрице [math]A[/math] многократно:
Формула (2.6) определяет итерационный процесс, где начальное приближение [math]A^<(0)>=A[/math] . На k-й итерации для некоторого выбираемого при решении задачи недиагонального элемента [math]a_
i\ne j[/math] , определяется ортогональная матрица [math]H^<(k)>[/math] , приводящая этот элемент [math]a_
В данной ортогональной матрице элементы на главной диагонали единичные, кроме [math]h_
Угол поворота [math]\varphi^<(k)>[/math] определяется по формуле
где [math]|2\varphi^<(k)>|\leqslant \frac<\pi><2>,
i ( [math]a_
В процессе итераций сумма квадратов всех недиагональных элементов [math]\sigms(A^<(k)>)[/math] при возрастании [math]k[/math] уменьшается, так что [math]\sigms(A^<(k+1)>) . Однако элементы [math]a_
Замечание. В двумерном пространстве с введенной в нем системой координат [math]Oxy[/math] с ортонормированным базисом [math]\<\vec,\vec
Таким образом, для компонент [math]\vec\,’,\, \vec
Алгоритм метода вращений
1. Положить [math]k=0,
A^<(0)>=A[/math] и задать 0″>[math]\varepsilon>0[/math] .
2. Выделить в верхней треугольной наддиагональной части матрицы [math]A^<(k)>[/math] максимальный по модулю элемент [math]a_
Если [math]|a_
Собственные векторы [math]X^i[/math] находятся как i-e столбцы матрицы, получающейся в результате перемножения:
Если \varepsilon»>[math]\bigl|a_
3. Найти угол поворота по формуле [math]\varphi^<(k)>= \frac<1> <2>\operatorname
4. Составить матрицу вращения [math]H^<(k)>[/math] .
5. Вычислить очередное приближение [math]A^<(k+1)>= \bigl(H^<(k)>\bigr)^T A^ <(k)>H^<(k)>[/math] .Положить [math]k=k+1[/math] и перейти к пункту 2.
1. Используя обозначение [math]\overline
_k= \frac<2a_
2. Контроль правильности выполнения действий по каждому повороту осуществляется путем проверки сохранения следа преобразуемой матрицы.
3. При [math]n=2[/math] для решения задачи требуется одна итерация.
Пример 2.5. Для матрицы [math]A=\begin
1. Положим [math]k=0,
2°. Выше главной диагонали имеется только один элемент [math]a_
3°. Находим угол поворота матрицы по формуле (2.7), используя в расчетах 11 цифр после запятой в соответствии с заданной точностью:
4°. Сформируем матрицу вращения:
5°. Выполним первую итерацию:
Очевидно, след матрицы с заданной точностью сохраняется, т.е. [math]\sum_^<2>a_
2. Максимальный по модулю наддиагональный элемент [math]|a_<12>|= 4,\!04620781325\cdot10^ <-12>. Для решения задачи (подчеркнем, что [math]n=2[/math] ) с принятой точностью потребовалась одна итерация, полученную матрицу можно считать диагональной. Найдены следующие собственные значения и собственные векторы:
Пример 2.6. Найти собственные значения и собственные векторы матрицы [math]A=\begin
1. Положим [math]k=0,
2°. Выделим максимальный по модулю элемент в наддиагональнои части: [math]a_<13>^<(0)>=2[/math] . Так как \varepsilon=0,\!001″>[math]a_<13>=2> \varepsilon=0,\!001[/math] , то процесс продолжается.
3°. Находим угол поворота:
4°. Сформируем матрицу вращения: [math]H^<(0)>= \begin
5°. Выполним первую итерацию: [math]A^<(1)>= \bigl(H^<(0)>\bigr)^T A^<(0)>H^<(0)>= \begin
2(1). Максимальный по модулю наддиагональный элемент [math]a_<12>^<(1)>=1,\!376[/math] . Так как \varepsilon=0,\!001″>[math]a_<12>^<(1)>> \varepsilon=0,\!001[/math] , процесс продолжается.
3(1). Найдем угол поворота:
4(1). Сформируем матрицу вращения: [math]H^<(1)>= \begin
5(1). Выполним вторую итерацию: [math]A^<(2)>= \bigl(H^<(1)>\bigr)^T A^<(1)>H^<(1)>= \begin
2(2). Максимальный по модулю наддиагональный элемент \varepsilon=0,\!001″>[math]a_<23>^<(2)>=0,\!293> \varepsilon=0,\!001[/math] .
3(2). Найдем угол поворота:
4(2). Сформируем матрицу вращения [math]H^<(2)>= \begin
5(2). Выполним третью итерацию и положим [math]k=3[/math] и перейдем к пункту 2:
2(3). Максимальный по модулю наддиагональный элемент \varepsilon»>[math]a_<13>^<(3)>= 0,\!138>\varepsilon[/math] .
3(3). Найдем угол поворота:
4(3). Сформируем матрицу вращения: [math]H^<(3)>= \begin
5(3). Выполним четвертую итерацию и положим [math]k=4[/math] и перейдем к пункту 2:
2(4). Так как \varepsilon»>[math]a_<12>^<(4)>=0,\!025>\varepsilon[/math] , процесс повторяется
3(4). Найдем угол поворота
4(4). Сформируем матрицу вращения: [math]H^<(4)>= \begin
5(4). Выполним пятую итерацию и положим [math]k=5[/math] и перейдем к пункту 2:
2(5). Так как наибольший по модулю наддиагональный элемент удовлетворяет условию [math]\bigl|-6,\!649\cdot10^<-4>\bigr| , процесс завершается.
Собственные значения: [math]\lambda_1\cong a_<11>^<(5)>= 6,\!895\,,
\lambda_3\cong a_<33>^<(5)>=1,\!707\,,[/math] . Для нахождения собственных векторов вычислим
X^3=\begin
Решение систем дифференциальных уравнений матричным способом
Вы будете перенаправлены на Автор24
Матричная запись системы обыкновенных дифференциальных уравнений (СОДУ) с постоянными коэффициентами
Линейную однородную СОДУ с постоянными коэффициентами $\left\<\begin
где $y_ <1>\left(x\right),\; y_ <2>\left(x\right),\; \ldots ,\; y_
Теперь на основе правила умножения матриц данную СОДУ можно записать в виде матричного уравнения $\frac
Общий метод решения СОДУ с постоянными коэффициентами
Решение СОДУ отыскивается в следующем виде: $y_ <1>=\alpha _ <1>\cdot e^
Теперь матричному уравнению данной СОДУ можно придать вид:
Полученное уравнение можно представить так:
Последнее равенство показывает, что вектор $\alpha $ с помощью матрицы $A$ преобразуется в параллельный ему вектор $k\cdot \alpha $. Это значит, что вектор $\alpha $ является собственным вектором матрицы $A$, соответствующий собственному значению $k$.
Готовые работы на аналогичную тему
Это уравнение называется характеристическим.
Одно из значений в этой матрице выбирают произвольно.
Окончательно, решение данной системы в матричной форме записывается следующим образом:
где $C_ $ — произвольные постоянные.
Записываем матрицу системы: $A=\left(\begin
Получаем характеристическое уравнение:
Корни характеристического уравнения: $k_ <1>=1$, $k_ <2>=9$.
Получаем решение СОДУ в матричной форме:
В обычной форме решение СОДУ имеет вид: $\left\<\begin
Получи деньги за свои студенческие работы
Курсовые, рефераты или другие работы
Автор этой статьи Дата последнего обновления статьи: 19 01 2022
http://spravochnick.ru/matematika/differencialnye_uravneniya/reshenie_sistem_differencialnyh_uravneniy_matrichnym_sposobom/