Метод Левер’є — це спосіб знаходити власні значення матриці через характеристичний многочлен. Його зручність у тому, що коефіцієнти цього многочлена можна обчислити не через пряме розкриття визначника, а через сліди степенів матриці. Далі розглянемо, як саме працює ця схема.
Власні Значення Матриці: Від Матриці до Характеристичного Многочлена
Нехай задано квадратну матрицю порядку \( n \):
\[ A = \begin{pmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \dots & a_{nn} \end{pmatrix}. \]
Щоб знайти власні значення матриці \( A \), потрібно скласти її характеристичний многочлен
\[ \chi(\lambda)=\det(\lambda\cdot I-A), \]
де \( I \) — одинична матриця порядку \( n \).
У загальному вигляді цей многочлен можна записати так:
\[ \chi(\lambda) = \lambda^n -\sigma_1\cdot \lambda^{n-1} +\sigma_2\cdot \lambda^{n-2} -\dots +(-1)^n\cdot\sigma_n. \]
Тоді власні значення матриці \( A \) знаходяться з рівняння
\[ \chi(\lambda)=0. \]
Отже, головна задача методу — знайти коефіцієнти
\[ \sigma_1,\sigma_2,\dots,\sigma_n. \]
Звичайно, можна було б напряму розкривати визначник \( \det(\lambda\cdot I-A) \). Але чи завжди це зручно? Для матриць високого порядку такий підхід швидко стає громіздким. Саме тому метод Левер’є пропонує інший підхід.
Спочатку подивимося, що означають коефіцієнти \( \sigma_1,\sigma_2,\dots,\sigma_n \).
Нехай \( \lambda_1,\lambda_2,\dots,\lambda_n \) — власні значення матриці \( A \), записані з урахуванням їхніх алгебраїчних кратностей. Тоді характеристичний многочлен можна подати у вигляді
\[ \chi(\lambda) = (\lambda-\lambda_1)\cdot (\lambda-\lambda_2)\cdot \dots\cdot (\lambda-\lambda_n). \]
Розкривши дужки, отримаємо такий многочлен:
\[ \begin{aligned} \chi(\lambda) =\lambda^n -(\lambda_1+\lambda_2+\dots+\lambda_n)\cdot \lambda^{n-1} +\left(\sum_{1\le i<j\le n}\lambda_i\cdot\lambda_j\right)\cdot \lambda^{n-2} \\ -\left(\sum_{1\le i<j<k\le n}\lambda_i\cdot\lambda_j\cdot\lambda_k\right)\cdot \lambda^{n-3} +\dots +(-1)^n\cdot \lambda_1\cdot\lambda_2\cdot\dots\cdot\lambda_n. \end{aligned} \]
Але цей самий характеристичний многочлен уже був записаний у вигляді
\[ \chi(\lambda) = \lambda^n -\sigma_1\cdot \lambda^{n-1} +\sigma_2\cdot \lambda^{n-2} -\sigma_3\cdot \lambda^{n-3} +\dots +(-1)^n\cdot\sigma_n. \]
Тепер порівняємо коефіцієнти при однакових степенях \( \lambda \). Саме з цього порівняння отримуємо, що коефіцієнти \( \sigma_1,\sigma_2,\dots,\sigma_n \) є елементарними симетричними функціями власних значень:
\[ \begin{gathered} \sigma_1=\lambda_1+\lambda_2+\dots+\lambda_n, \\[4pt] \sigma_2=\sum_{1\le i<j\le n}\lambda_i\cdot\lambda_j, \\[4pt] \sigma_3=\sum_{1\le i<j<k\le n}\lambda_i\cdot\lambda_j\cdot\lambda_k, \\[4pt] \dots \\[4pt] \sigma_n=\lambda_1\cdot\lambda_2\cdot\dots\cdot\lambda_n. \end{gathered} \]
Але тут є важливий момент. Самі власні значення ще невідомі. Тому напряму через ці формули коефіцієнти знайти не можна. Потрібен спосіб обчислити їх через саму матрицю \( A \). Саме до цього і переходить метод Левер’є.
Сліди Степенів Матриці: Як Отримати Потрібні Суми
Метод Левер’є використовує не окремі власні значення, а їхні степеневі суми. Позначимо
\[ S_k= \lambda_1^k+\lambda_2^k+\dots+\lambda_n^k, \qquad k=1,2,\dots,n. \]
Наприклад,
\[ \begin{gathered} S_1=\lambda_1+\lambda_2+\dots+\lambda_n, \\[4pt] S_2=\lambda_1^2+\lambda_2^2+\dots+\lambda_n^2, \\[4pt] S_3=\lambda_1^3+\lambda_2^3+\dots+\lambda_n^3. \end{gathered} \]
На перший погляд може здатися, що ці суми також неможливо знайти без власних значень. Але тут з’являється важлива властивість матриць.
Сума власних значень матриці дорівнює її сліду. Тому
\[ S_1=\operatorname{tr}(A). \]
Оскільки слід матриці — це сума елементів її головної діагоналі, маємо
\[ S_1 = \operatorname{tr}(A) = a_{11}+a_{22}+\dots+a_{nn} = \sum_{i=1}^{n}a_{ii}. \]
А що буде для степенів матриці? Власними значеннями матриці \( A^k \) є числа
\[ \lambda_1^k,\lambda_2^k,\dots,\lambda_n^k. \]
Отже, сума цих чисел дорівнює сліду матриці \( A^k \). Тому
\[ S_k=\operatorname{tr}(A^k). \]
Щоб записати це детальніше, позначимо елементи матриці \( A^k \) так:
\[ A^k= \begin{pmatrix} a_{11}^{(k)} & a_{12}^{(k)} & \dots & a_{1n}^{(k)} \\ a_{21}^{(k)} & a_{22}^{(k)} & \dots & a_{2n}^{(k)} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1}^{(k)} & a_{n2}^{(k)} & \dots & a_{nn}^{(k)} \end{pmatrix}. \]
Тоді для другого степеня матриці маємо
\[ S_2 = \operatorname{tr}(A^2) = a_{11}^{(2)}+a_{22}^{(2)}+\dots+a_{nn}^{(2)} = \sum_{i=1}^{n}a_{ii}^{(2)}. \]
Аналогічно для третього степеня:
\[ S_3 = \operatorname{tr}(A^3) = a_{11}^{(3)}+a_{22}^{(3)}+\dots+a_{nn}^{(3)} = \sum_{i=1}^{n}a_{ii}^{(3)}. \]
У загальному вигляді:
\[ S_k = \operatorname{tr}(A^k) = a_{11}^{(k)}+a_{22}^{(k)}+\dots+a_{nn}^{(k)} = \sum_{i=1}^{n}a_{ii}^{(k)}, \qquad k=1,2,\dots,n. \]
Тут потрібно бути уважним. Наприклад, \( \operatorname{tr}(A^2) \) — це слід матриці \( A^2 \). Спочатку потрібно знайти добуток \( A^2=A\cdot A \), а вже потім додати елементи головної діагоналі цієї нової матриці.
Іншими словами,
\[ \operatorname{tr}(A^2) \neq a_{11}^2+a_{22}^2+\dots+a_{nn}^2 \]
у загальному випадку. Це часта помилка, тому на неї варто звернути особливу увагу.
Таким чином, через матрицю \( A \) можна знайти величини
\[ S_1,S_2,\dots,S_n. \]
А вже через них можна перейти до коефіцієнтів характеристичного многочлена.
Метод Левер’є: Послідовне Обчислення Коефіцієнтів
Тепер маємо все необхідне для основної частини методу. Відомі степеневі суми
\[ S_1,S_2,\dots,S_n, \]
і потрібно знайти коефіцієнти
\[ \sigma_1,\sigma_2,\dots,\sigma_n. \]
Для цього використовують тотожності Ньютона, або формули Ньютона–Жирара. Вони пов’язують степеневі суми власних значень \( S_k \) з коефіцієнтами характеристичного многочлена \( \sigma_k \).
Для нашого запису характеристичного многочлена ці формули мають вигляд:
\[ \begin{gathered} S_1-\sigma_1=0, \\[4pt] S_2-\sigma_1\cdot S_1+2\cdot\sigma_2=0, \\[4pt] S_3-\sigma_1\cdot S_2+\sigma_2\cdot S_1-3\cdot\sigma_3=0, \\[4pt] S_4-\sigma_1\cdot S_3+\sigma_2\cdot S_2-\sigma_3\cdot S_1+4\cdot\sigma_4=0. \end{gathered} \]
Далі формули продовжуються за тим самим правилом. У загальному вигляді:
\[ S_k -\sigma_1\cdot S_{k-1} +\sigma_2\cdot S_{k-2} -\dots +(-1)^{k-1}\cdot\sigma_{k-1}\cdot S_1 +(-1)^k\cdot k\cdot\sigma_k =0. \]
З цих рівностей можна послідовно знаходити коефіцієнти характеристичного многочлена.
Із першої формули маємо:
\[ \sigma_1=S_1. \]
Оскільки
\[ S_1=\operatorname{tr}(A), \]
то
\[ \sigma_1=\operatorname{tr}(A). \]
Із другої формули:
\[ S_2-\sigma_1\cdot S_1+2\cdot\sigma_2=0. \]
Звідси
\[ \sigma_2= \frac{1}{2}\cdot (\sigma_1\cdot S_1-S_2). \]
Із третьої формули:
\[ S_3-\sigma_1\cdot S_2+\sigma_2\cdot S_1-3\cdot\sigma_3=0. \]
Тому
\[ \sigma_3= \frac{1}{3}\cdot (\sigma_2\cdot S_1-\sigma_1\cdot S_2+S_3). \]
Із четвертої формули аналогічно отримуємо:
\[ \sigma_4= \frac{1}{4}\cdot (\sigma_3\cdot S_1-\sigma_2\cdot S_2+\sigma_1\cdot S_3-S_4). \]
Кожний наступний коефіцієнт обчислюється через уже знайдені попередні коефіцієнти та сліди степенів матриці. Саме тому метод Левер’є є послідовним: спочатку \( \sigma_1 \), потім \( \sigma_2 \), далі \( \sigma_3 \), і так до \( \sigma_n \).
У загальному вигляді рекурентна формула має такий вигляд:
\[ \sigma_k= \frac{1}{k}\cdot \left( \sigma_{k-1}\cdot S_1 -\sigma_{k-2}\cdot S_2 +\sigma_{k-3}\cdot S_3 -\dots +(-1)^{k-1}\cdot\sigma_0\cdot S_k \right), \]
де
\[ k=1,2,\dots,n, \qquad \sigma_0=1. \]
Після знаходження всіх коефіцієнтів складаємо характеристичний многочлен
\[ \chi(\lambda) = \lambda^n -\sigma_1\cdot \lambda^{n-1} +\sigma_2\cdot \lambda^{n-2} -\dots +(-1)^n\cdot\sigma_n. \]
Далі власні значення матриці знаходяться як корені характеристичного рівняння
\[ \chi(\lambda)=0. \]
Отже, метод Левер’є зводить знаходження власних значень до трьох основних дій: обчислити сліди степенів матриці, за ними знайти коефіцієнти характеристичного многочлена і розв’язати характеристичне рівняння.
Практична Частина: Як Знайти Власні Значення Методом Левер’є
Тепер розглянемо, як метод Левер’є застосовується на практиці. У кожному прикладі будемо діяти послідовно: спочатку знайдемо сліди степенів матриці, потім обчислимо коефіцієнти характеристичного многочлена, а після цього знайдемо його корені.
Приклад 1. Знайти власні значення матриці
\[ A= \begin{pmatrix} 4 & 1\\ 2 & 3 \end{pmatrix}. \]
Для матриці другого порядку характеристичний многочлен має вигляд
\[ \chi(\lambda) = \lambda^2-\sigma_1\cdot\lambda+\sigma_2. \]
Тому потрібно знайти коефіцієнти \( \sigma_1,\sigma_2 \).
Спочатку обчислюємо першу степеневу суму:
\[ S_1=\operatorname{tr}(A)=4+3=7. \]
Отже,
\[ \sigma_1=S_1=7. \]
Далі знаходимо \( A^2 \):
\[ A^2= \begin{pmatrix} 4 & 1\\ 2 & 3 \end{pmatrix} \cdot \begin{pmatrix} 4 & 1\\ 2 & 3 \end{pmatrix} = \begin{pmatrix} 18 & 7\\ 14 & 11 \end{pmatrix}. \]
Тепер обчислюємо слід матриці \( A^2 \):
\[ S_2=\operatorname{tr}(A^2)=18+11=29. \]
За формулою Левер’є маємо
\[ \sigma_2= \frac{1}{2}\cdot(\sigma_1\cdot S_1-S_2). \]
Підставляємо знайдені значення:
\[ \sigma_2= \frac{1}{2}\cdot(7\cdot7-29) = \frac{1}{2}\cdot(49-29) = 10. \]
Отже, характеристичний многочлен має вигляд
\[ \chi(\lambda) = \lambda^2-7\cdot\lambda+10. \]
Знайдемо його корені:
\[ \lambda^2-7\cdot\lambda+10=0. \]
Розкладемо квадратний тричлен на множники:
\[ \lambda^2-7\cdot\lambda+10 = (\lambda-2)\cdot(\lambda-5). \]
Тому
\[ (\lambda-2)\cdot(\lambda-5)=0. \]
Звідси отримуємо власні значення:
\[ \lambda_1=2, \qquad \lambda_2=5. \]
Приклад 2. Знайти власні значення матриці
\[ A= \begin{pmatrix} 2 & 1 & 0\\ 1 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix}. \]
Для матриці третього порядку характеристичний многочлен записуємо так:
\[ \chi(\lambda) = \lambda^3 -\sigma_1\cdot\lambda^2 +\sigma_2\cdot\lambda -\sigma_3. \]
Отже, потрібно знайти три коефіцієнти \( \sigma_1,\sigma_2,\sigma_3 \).
Починаємо зі сліду матриці \( A \):
\[ S_1=\operatorname{tr}(A)=2+2+3=7. \]
Тому
\[ \sigma_1=S_1=7. \]
Далі обчислюємо \( A^2 \):
\[ A^2= \begin{pmatrix} 2 & 1 & 0\\ 1 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 2 & 1 & 0\\ 1 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} = \begin{pmatrix} 5 & 4 & 0\\ 4 & 5 & 0\\ 0 & 0 & 9 \end{pmatrix}. \]
Знаходимо другу степеневу суму:
\[ S_2=\operatorname{tr}(A^2)=5+5+9=19. \]
Тепер знаходимо другий коефіцієнт:
\[ \sigma_2= \frac{1}{2}\cdot(\sigma_1\cdot S_1-S_2). \]
Підставляємо значення:
\[ \sigma_2= \frac{1}{2}\cdot(7\cdot7-19) = \frac{1}{2}\cdot(49-19) = 15. \]
Переходимо до третього коефіцієнта. Для цього потрібно знайти \( A^3 \). Множимо матрицю \( A^2 \) на матрицю \( A \):
\[ A^3=A^2\cdot A. \]
Маємо
\[ A^3= \begin{pmatrix} 5 & 4 & 0\\ 4 & 5 & 0\\ 0 & 0 & 9 \end{pmatrix} \cdot \begin{pmatrix} 2 & 1 & 0\\ 1 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} = \begin{pmatrix} 14 & 13 & 0\\ 13 & 14 & 0\\ 0 & 0 & 27 \end{pmatrix}. \]
Отже,
\[ S_3=\operatorname{tr}(A^3)=14+14+27=55. \]
Тепер використовуємо формулу
\[ \sigma_3= \frac{1}{3}\cdot (\sigma_2\cdot S_1-\sigma_1\cdot S_2+S_3). \]
Підставляємо знайдені значення:
\[ \sigma_3= \frac{1}{3}\cdot (15\cdot7-7\cdot19+55). \]
Обчислюємо:
\[ \sigma_3= \frac{1}{3}\cdot (105-133+55) = \frac{27}{3} = 9. \]
Отже,
\[ \sigma_1=7, \qquad \sigma_2=15, \qquad \sigma_3=9. \]
Тому характеристичний многочлен має вигляд
\[ \chi(\lambda) = \lambda^3-7\cdot\lambda^2+15\cdot\lambda-9. \]
Знайдемо корені рівняння
\[ \lambda^3-7\cdot\lambda^2+15\cdot\lambda-9=0. \]
Розкладемо многочлен на множники:
\[ \lambda^3-7\cdot\lambda^2+15\cdot\lambda-9 = (\lambda-1)\cdot(\lambda-3)^2. \]
Тому
\[ (\lambda-1)\cdot(\lambda-3)^2=0. \]
Звідси
\[ \lambda_1=1, \qquad \lambda_2=3, \qquad \lambda_3=3. \]
Приклад 3. Знайти власні значення матриці
\[ A= \begin{pmatrix} 2 & 1 & 0 & 0\\ 1 & 2 & 0 & 0\\ 0 & 0 & 3 & 1\\ 0 & 0 & 1 & 3 \end{pmatrix}. \]
Для матриці четвертого порядку характеристичний многочлен має вигляд
\[ \chi(\lambda) = \lambda^4 -\sigma_1\cdot\lambda^3 +\sigma_2\cdot\lambda^2 -\sigma_3\cdot\lambda +\sigma_4. \]
Тому потрібно знайти коефіцієнти \( \sigma_1,\sigma_2,\sigma_3,\sigma_4 \).
Завдяки нульовим елементам множення матриць тут виконується відносно зручно, але алгоритм залишається тим самим.
Починаємо з першої степеневої суми:
\[ S_1=\operatorname{tr}(A)=2+2+3+3=10. \]
Звідси
\[ \sigma_1=S_1=10. \]
Далі знаходимо \( A^2 \):
\[ A^2= \begin{pmatrix} 2 & 1 & 0 & 0\\ 1 & 2 & 0 & 0\\ 0 & 0 & 3 & 1\\ 0 & 0 & 1 & 3 \end{pmatrix} \cdot \begin{pmatrix} 2 & 1 & 0 & 0\\ 1 & 2 & 0 & 0\\ 0 & 0 & 3 & 1\\ 0 & 0 & 1 & 3 \end{pmatrix} = \begin{pmatrix} 5 & 4 & 0 & 0\\ 4 & 5 & 0 & 0\\ 0 & 0 & 10 & 6\\ 0 & 0 & 6 & 10 \end{pmatrix}. \]
Тому
\[ S_2=\operatorname{tr}(A^2)=5+5+10+10=30. \]
Знаходимо другий коефіцієнт:
\[ \sigma_2= \frac{1}{2}\cdot(\sigma_1\cdot S_1-S_2). \]
Підставляємо знайдені значення:
\[ \sigma_2= \frac{1}{2}\cdot(10\cdot10-30) = \frac{1}{2}\cdot70 = 35. \]
Тепер обчислюємо \( A^3 \). Для цього множимо матрицю \( A^2 \) на матрицю \( A \):
\[ A^3=A^2\cdot A. \]
Отримуємо
\[ A^3= \begin{pmatrix} 5 & 4 & 0 & 0\\ 4 & 5 & 0 & 0\\ 0 & 0 & 10 & 6\\ 0 & 0 & 6 & 10 \end{pmatrix} \cdot \begin{pmatrix} 2 & 1 & 0 & 0\\ 1 & 2 & 0 & 0\\ 0 & 0 & 3 & 1\\ 0 & 0 & 1 & 3 \end{pmatrix} = \begin{pmatrix} 14 & 13 & 0 & 0\\ 13 & 14 & 0 & 0\\ 0 & 0 & 36 & 28\\ 0 & 0 & 28 & 36 \end{pmatrix}. \]
Отже,
\[ S_3=\operatorname{tr}(A^3)=14+14+36+36=100. \]
Третій коефіцієнт знаходимо за формулою
\[ \sigma_3= \frac{1}{3}\cdot (\sigma_2\cdot S_1-\sigma_1\cdot S_2+S_3). \]
Підставляємо значення:
\[ \sigma_3= \frac{1}{3}\cdot (35\cdot10-10\cdot30+100). \]
Отже,
\[ \sigma_3= \frac{1}{3}\cdot (350-300+100) = \frac{150}{3} = 50. \]
Залишилось знайти четвертий коефіцієнт. Для цього обчислюємо \( A^4 \). Множимо матрицю \( A^3 \) на матрицю \( A \):
\[ A^4=A^3\cdot A. \]
Маємо
\[ A^4= \begin{pmatrix} 14 & 13 & 0 & 0\\ 13 & 14 & 0 & 0\\ 0 & 0 & 36 & 28\\ 0 & 0 & 28 & 36 \end{pmatrix} \cdot \begin{pmatrix} 2 & 1 & 0 & 0\\ 1 & 2 & 0 & 0\\ 0 & 0 & 3 & 1\\ 0 & 0 & 1 & 3 \end{pmatrix} = \begin{pmatrix} 41 & 40 & 0 & 0\\ 40 & 41 & 0 & 0\\ 0 & 0 & 136 & 120\\ 0 & 0 & 120 & 136 \end{pmatrix}. \]
Тому
\[ S_4=\operatorname{tr}(A^4)=41+41+136+136=354. \]
Для четвертого коефіцієнта використовуємо формулу
\[ \sigma_4= \frac{1}{4}\cdot (\sigma_3\cdot S_1-\sigma_2\cdot S_2+\sigma_1\cdot S_3-S_4). \]
Підставляємо:
\[ \sigma_4= \frac{1}{4}\cdot (50\cdot10-35\cdot30+10\cdot100-354). \]
Обчислюємо:
\[ \sigma_4= \frac{1}{4}\cdot (500-1050+1000-354) = \frac{96}{4} = 24. \]
Отже, отримали коефіцієнти:
\[ \sigma_1=10, \qquad \sigma_2=35, \qquad \sigma_3=50, \qquad \sigma_4=24. \]
Тому характеристичний многочлен має вигляд
\[ \chi(\lambda) = \lambda^4 -10\cdot\lambda^3 +35\cdot\lambda^2 -50\cdot\lambda +24. \]
Знайдемо його корені:
\[ \lambda^4 -10\cdot\lambda^3 +35\cdot\lambda^2 -50\cdot\lambda +24 =0. \]
Розкладемо многочлен на множники:
\[ \lambda^4 -10\cdot\lambda^3 +35\cdot\lambda^2 -50\cdot\lambda +24 = (\lambda-1)\cdot(\lambda-2)\cdot(\lambda-3)\cdot(\lambda-4). \]
Тому
\[ (\lambda-1)\cdot(\lambda-2)\cdot(\lambda-3)\cdot(\lambda-4)=0. \]
Звідси отримуємо власні значення:
\[ \lambda_1=1, \qquad \lambda_2=2, \qquad \lambda_3=3, \qquad \lambda_4=4. \]
Що Варто Розглянути Далі: Методи, Які Доповнюють Тему
Після методу Левер’є варто порівняти його з іншими підходами до знаходження власних значень. Так легше побачити, чим різні алгоритми відрізняються між собою і коли кожен із них зручний.
- Метод Данилевського: Перехід до форми Фробеніуса — У статті йтиметься про перетворення матриці до форми Фробеніуса та знаходження власних значень через її многочлен.
- Метод Крилова: Вектори та характеристичний многочлен — У статті буде показано, як через послідовність векторів побудувати систему для коефіцієнтів характеристичного многочлена.
- Метод Фадєєва: Коефіцієнти через матричні обчислення — У статті розглядатиметься алгоритм, який дає змогу знаходити коефіцієнти многочлена через обчислення допоміжних матриць.
Власні Значення Матриці: Перетворіть Метод Левер’є на Код
Якщо вам подобається програмування, метод Левер’є можна розглядати не лише як теоретичний матеріал, а й як готовий алгоритм для реалізації. Блок-схема нижче допомагає побачити всю логіку програми: від введення елементів матриці до побудови характеристичного многочлена і знаходження власних значень. Спробуйте перенести цей алгоритм у Pascal, Python, C++ або іншу мову, з якою вам зручно працювати, — так формули отримують практичне застосування і перетворюються на зручний інструмент для обчислень.
