Собственные Значения Матрицы: Как Работает Метод Фаддеева

Собственные значения матрицы можно находить не только через непосредственное вычисление характеристического определителя. Один из удобных подходов — метод Фаддеева. Он относится к точным численным методам и тесно связан с методом Леверье.

Его главное преимущество заключается в последовательном построении вычислений. Сначала формируются вспомогательные матрицы. Затем через их следы находятся коэффициенты характеристического многочлена. А уже после этого определяются собственные значения матрицы. Кроме того, метод Фаддеева можно использовать для нахождения обратной матрицы и собственных векторов.

Собственные Значения Матрицы Методом Фаддеева: Основная Идея

Метод Фаддеева можно рассматривать как модификацию метода Леверье. В методе Леверье для нахождения коэффициентов характеристического многочлена используют степени матрицы:

\[ A,\ A^2,\ \dots,\ A^n. \]

Метод Фаддеева работает иначе. В нём вместо прямого вычисления степеней матрицы строят вспомогательные матрицы. Именно эта последовательность постепенно приводит к коэффициентам характеристического многочлена.

Пусть задана квадратная матрица \( A \) порядка \( 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}. \]

Нужно найти её собственные значения. С чего начать? Сначала нужно построить характеристический многочлен.

В методе Фаддеева его удобно записывать так:

\[ D(\lambda)=\lambda^n-\sigma_1\cdot\lambda^{n-1}-\sigma_2\cdot\lambda^{n-2}-\dots-\sigma_{n-1}\cdot\lambda-\sigma_n. \]

Тогда собственные значения матрицы находят из характеристического уравнения:

\[ D(\lambda)=0. \]

Итак, задача метода Фаддеева состоит в том, чтобы найти коэффициенты

\[ \sigma_1,\sigma_2,\dots,\sigma_n. \]

После этого остаётся решить характеристическое уравнение. Именно его корни и будут собственными значениями матрицы \( A \).

Метод Фаддеева: Построение Вспомогательных Матриц

Теперь перейдём к самому алгоритму. Пусть \( I \) — единичная матрица того же порядка, что и матрица \( A \):

\[ I= \begin{pmatrix} 1 & 0 & \dots & 0\\ 0 & 1 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \dots & 1 \end{pmatrix}. \]

В методе Фаддеева последовательно строят матрицы

\[ A_1,A_2,\dots,A_n \]

и

\[ B_1,B_2,\dots,B_n. \]

Начнём с первого шага. Сначала берём исходную матрицу:

\[ A_1=A. \]

Затем через след матрицы \( A_1 \) находим число \( q_1 \):

\[ q_1=tr(A_1). \]

После этого строим первую вспомогательную матрицу:

\[ B_1=A_1-q_1\cdot I. \]

Зачем нужна матрица \( B_1 \)? Она используется для построения следующей матрицы \( A_2 \). То есть первый шаг не завершает вычисления, а подготавливает переход к следующему этапу.

Переходим ко второму шагу. Теперь исходную матрицу \( A \) умножаем на уже найденную матрицу \( B_1 \):

\[ A_2=A\cdot B_1. \]

Далее находим число \( q_2 \). Для этого берём след матрицы \( A_2 \) и делим его на номер шага:

\[ q_2=\frac{tr(A_2)}{2}. \]

После этого строим вторую вспомогательную матрицу:

\[ B_2=A_2-q_2\cdot I. \]

Матрица \( B_2 \), как и \( B_1 \), нужна для продолжения алгоритма. Она будет использована уже на следующем шаге при построении матрицы \( A_3 \).

После второго шага схема становится понятной. Каждый следующий шаг строится по тому же принципу: новая матрица \( A_k \) образуется через предыдущую матрицу \( B_{k-1} \), число \( q_k \) находится через след матрицы \( A_k \), а матрица \( B_k \) подготавливает следующий шаг.

В общем случае, если матрица \( B_{k-1} \) уже найдена, то для шага \( k \) имеем:

\[ A_k=A\cdot B_{k-1},\qquad q_k=\frac{tr(A_k)}{k},\qquad B_k=A_k-q_k\cdot I, \]

где \( k=3,4,\dots,n \).

След матрицы — это сумма элементов её главной диагонали. Если на некотором шаге матрица \( 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}, \]

то в общем случае её след вычисляется так:

\[ tr(A_k)=a_{11}^{(k)}+a_{22}^{(k)}+\dots+a_{nn}^{(k)}. \]

Именно числа

\[ q_1,q_2,\dots,q_n \]

имеют ключевое значение в алгоритме. После завершения построения матриц они используются как коэффициенты характеристического многочлена с учётом выбранной записи этого многочлена.

Таким образом, во втором разделе мы получили саму вычислительную схему метода Фаддеева. Теперь остаётся понять, как из чисел \( q_k \) перейти к характеристическому многочлену и собственным значениям.

Характеристический Многочлен: Переход к Собственным Значениям

После завершения построения вспомогательных матриц имеем числа

\[ q_1,q_2,\dots,q_n. \]

Теперь они задают коэффициенты характеристического многочлена:

\[ \sigma_1=q_1,\qquad \sigma_2=q_2,\qquad \dots,\qquad \sigma_n=q_n. \]

Или кратко:

\[ \sigma_k=q_k,\qquad k=1,2,\dots,n. \]

Поэтому характеристический многочлен матрицы \( A \) записывается в виде:

\[ D(\lambda)=\lambda^n-\sigma_1\cdot\lambda^{n-1}-\sigma_2\cdot\lambda^{n-2}-\dots-\sigma_{n-1}\cdot\lambda-\sigma_n. \]

С учётом найденных чисел \( q_1,q_2,\dots,q_n \) имеем:

\[ D(\lambda)=\lambda^n-q_1\cdot\lambda^{n-1}-q_2\cdot\lambda^{n-2}-\dots-q_{n-1}\cdot\lambda-q_n. \]

Далее решаем характеристическое уравнение:

\[ D(\lambda)=0. \]

Его корни

\[ \lambda_1,\lambda_2,\dots,\lambda_n \]

являются собственными значениями матрицы \( A \).

Итак, важно не смешивать два этапа. Метод Фаддеева сначала даёт коэффициенты характеристического многочлена. А уже потом собственные значения находятся как корни характеристического уравнения.

Кроме нахождения собственных значений, как уже отмечалось, метод Фаддеева имеет ещё одно полезное свойство. Если матрица \( A \) является невырожденной, то есть

\[ \det A\neq 0, \]

то можно найти обратную матрицу:

\[ A^{-1}=\frac{B_{n-1}}{\sigma_n}. \]

В этой формуле используется тот же знак коэффициента \( \sigma_n \), что и в записанном выше характеристическом многочлене. Это важно, потому что в разных источниках характеристический многочлен могут записывать с другой системой знаков.

Также метод Фаддеева позволяет находить собственные векторы. Если \( \lambda_i \) — собственное значение матрицы \( A \), то строят матрицу

\[ R_i=\lambda_i^{n-1}\cdot I+\lambda_i^{n-2}\cdot B_1+\dots+\lambda_i\cdot B_{n-2}+B_{n-1}. \]

Каждый ненулевой столбец матрицы \( R_i \) можно взять в качестве собственного вектора, который соответствует собственному значению \( \lambda_i \).

Таким образом, метод Фаддеева даёт последовательную схему работы с матрицей. Сначала строятся матрицы \( A_k \) и \( B_k \), затем через следы матриц находятся числа \( q_k \), далее формируется характеристический многочлен, а его корни дают собственные значения матрицы.

Практическая Часть: Как Найти Собственные Значения Методом Фаддеева

Теперь рассмотрим, как метод Фаддеева работает на конкретных матрицах. Начнём с матрицы второго порядка, а затем постепенно перейдём к матрицам третьего и четвёртого порядка. В каждом примере будем строить вспомогательные матрицы, находить коэффициенты характеристического многочлена и переходить к собственным значениям.

Пример 1. Найти собственные значения матрицы

\[ A= \begin{pmatrix} 2 & 1\\ 0 & 3 \end{pmatrix}. \]

Перед нами матрица второго порядка, поэтому нужно выполнить два шага. Начинаем с матрицы

\[ A_1=A= \begin{pmatrix} 2 & 1\\ 0 & 3 \end{pmatrix}. \]

Находим число \( q_1 \) через след матрицы \( A_1 \):

\[ q_1=tr(A_1)=2+3=5. \]

Теперь строим матрицу \( B_1 \):

\[ B_1=A_1-q_1\cdot I. \]

Подставляем матрицы:

\[ B_1= \begin{pmatrix} 2 & 1\\ 0 & 3 \end{pmatrix} — 5\cdot \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix}. \]

Итак,

\[ B_1= \begin{pmatrix} -3 & 1\\ 0 & -2 \end{pmatrix}. \]

Переходим ко второму шагу. Находим матрицу \( A_2 \). Для этого умножаем исходную матрицу \( A \) на матрицу \( B_1 \):

\[ A_2=A\cdot B_1. \]

То есть

\[ A_2= \begin{pmatrix} 2 & 1\\ 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} -3 & 1\\ 0 & -2 \end{pmatrix}. \]

После умножения имеем:

\[ A_2= \begin{pmatrix} -6 & 0\\ 0 & -6 \end{pmatrix}. \]

Теперь находим число \( q_2 \):

\[ q_2=\frac{tr(A_2)}{2}=\frac{-6+(-6)}{2}=-6. \]

Итак,

\[ q_1=5,\qquad q_2=-6. \]

Для матрицы второго порядка характеристический многочлен имеет вид:

\[ D(\lambda)=\lambda^2-q_1\cdot\lambda-q_2. \]

Подставляем найденные значения:

\[ D(\lambda)=\lambda^2-5\cdot\lambda-(-6). \]

То есть

\[ D(\lambda)=\lambda^2-5\cdot\lambda+6. \]

Решаем характеристическое уравнение:

\[ \lambda^2-5\cdot\lambda+6=0. \]

Разложим левую часть на множители:

\[ (\lambda-2)\cdot(\lambda-3)=0. \]

Отсюда получаем собственные значения:

\[ \lambda_1=2,\qquad \lambda_2=3. \]

Пример 2. Найти собственные значения матрицы

\[ A= \begin{pmatrix} 1 & 1 & 0\\ 0 & 2 & 1\\ 0 & 0 & 3 \end{pmatrix}. \]

Матрица имеет третий порядок, поэтому нужно найти числа \( q_1,\ q_2,\ q_3 \).

Начинаем с первого шага:

\[ A_1=A= \begin{pmatrix} 1 & 1 & 0\\ 0 & 2 & 1\\ 0 & 0 & 3 \end{pmatrix}. \]

Находим след матрицы \( A_1 \):

\[ q_1=tr(A_1)=1+2+3=6. \]

Строим матрицу \( B_1 \):

\[ B_1=A_1-q_1\cdot I. \]

Подставляем матрицы:

\[ B_1= \begin{pmatrix} 1 & 1 & 0\\ 0 & 2 & 1\\ 0 & 0 & 3 \end{pmatrix} — 6\cdot \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{pmatrix}. \]

Итак,

\[ B_1= \begin{pmatrix} -5 & 1 & 0\\ 0 & -4 & 1\\ 0 & 0 & -3 \end{pmatrix}. \]

Переходим ко второму шагу. Находим матрицу \( A_2 \). Для этого умножаем матрицу \( A \) на матрицу \( B_1 \):

\[ A_2=A\cdot B_1. \]

То есть

\[ A_2= \begin{pmatrix} 1 & 1 & 0\\ 0 & 2 & 1\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} -5 & 1 & 0\\ 0 & -4 & 1\\ 0 & 0 & -3 \end{pmatrix}. \]

После умножения получаем:

\[ A_2= \begin{pmatrix} -5 & -3 & 1\\ 0 & -8 & -1\\ 0 & 0 & -9 \end{pmatrix}. \]

Находим число \( q_2 \):

\[ q_2=\frac{tr(A_2)}{2}=\frac{-5+(-8)+(-9)}{2}=\frac{-22}{2}=-11. \]

Теперь строим матрицу \( B_2 \):

\[ B_2=A_2-q_2\cdot I. \]

Поскольку \( q_2=-11 \), имеем:

\[ B_2=A_2-(-11)\cdot I. \]

Подставляем матрицы:

\[ B_2= \begin{pmatrix} -5 & -3 & 1\\ 0 & -8 & -1\\ 0 & 0 & -9 \end{pmatrix} — (-11)\cdot \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{pmatrix}. \]

Поэтому

\[ B_2= \begin{pmatrix} 6 & -3 & 1\\ 0 & 3 & -1\\ 0 & 0 & 2 \end{pmatrix}. \]

Переходим к третьему шагу. Находим матрицу \( A_3 \). Для этого умножаем матрицу \( A \) на матрицу \( B_2 \):

\[ A_3=A\cdot B_2. \]

То есть

\[ A_3= \begin{pmatrix} 1 & 1 & 0\\ 0 & 2 & 1\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 6 & -3 & 1\\ 0 & 3 & -1\\ 0 & 0 & 2 \end{pmatrix}. \]

После умножения имеем:

\[ A_3= \begin{pmatrix} 6 & 0 & 0\\ 0 & 6 & 0\\ 0 & 0 & 6 \end{pmatrix}. \]

Находим число \( q_3 \):

\[ q_3=\frac{tr(A_3)}{3}=\frac{6+6+6}{3}=6. \]

Итак,

\[ q_1=6,\qquad q_2=-11,\qquad q_3=6. \]

Для матрицы третьего порядка характеристический многочлен имеет вид:

\[ D(\lambda)=\lambda^3-q_1\cdot\lambda^2-q_2\cdot\lambda-q_3. \]

Подставляем найденные значения:

\[ D(\lambda)=\lambda^3-6\cdot\lambda^2-(-11)\cdot\lambda-6. \]

То есть

\[ D(\lambda)=\lambda^3-6\cdot\lambda^2+11\cdot\lambda-6. \]

Решаем характеристическое уравнение:

\[ \lambda^3-6\cdot\lambda^2+11\cdot\lambda-6=0. \]

Разложим многочлен на множители:

\[ \lambda^3-6\cdot\lambda^2+11\cdot\lambda-6 = (\lambda-1)\cdot(\lambda-2)\cdot(\lambda-3). \]

Поэтому

\[ (\lambda-1)\cdot(\lambda-2)\cdot(\lambda-3)=0. \]

Отсюда получаем собственные значения:

\[ \lambda_1=1,\qquad \lambda_2=2,\qquad \lambda_3=3. \]

Пример 3. Найти собственные значения матрицы

\[ A= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix}. \]

Матрица имеет четвёртый порядок, поэтому нужно найти числа \( q_1,\ q_2,\ q_3,\ q_4 \).

Начинаем с первого шага:

\[ A_1=A= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix}. \]

Находим число \( q_1 \):

\[ q_1=tr(A_1)=8+(-6)+10+(-2)=10. \]

Строим матрицу \( B_1 \):

\[ B_1=A_1-q_1\cdot I. \]

Подставляем матрицы:

\[ B_1= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix} — 10\cdot \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}. \]

Итак,

\[ B_1= \begin{pmatrix} -2 & 5 & -4 & 5\\ -9 & -16 & 7 & -9\\ -8 & -8 & 0 & -10\\ -3 & -3 & 3 & -12 \end{pmatrix}. \]

Переходим ко второму шагу. Находим матрицу \( A_2 \). Для этого умножаем матрицу \( A \) на матрицу \( B_1 \):

\[ A_2=A\cdot B_1. \]

То есть

\[ A_2= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix} \cdot \begin{pmatrix} -2 & 5 & -4 & 5\\ -9 & -16 & 7 & -9\\ -8 & -8 & 0 & -10\\ -3 & -3 & 3 & -12 \end{pmatrix}. \]

После умножения имеем:

\[ A_2= \begin{pmatrix} -44 & -23 & 18 & -25\\ 43 & 22 & -33 & 47\\ 38 & 38 & -54 & 52\\ 15 & 15 & -15 & 6 \end{pmatrix}. \]

Находим число \( q_2 \):

\[ q_2=\frac{tr(A_2)}{2} = \frac{-44+22+(-54)+6}{2} = \frac{-70}{2} = -35. \]

Строим матрицу \( B_2 \):

\[ B_2=A_2-q_2\cdot I. \]

Поскольку \( q_2=-35 \), имеем:

\[ B_2=A_2-(-35)\cdot I. \]

Подставляем матрицы:

\[ B_2= \begin{pmatrix} -44 & -23 & 18 & -25\\ 43 & 22 & -33 & 47\\ 38 & 38 & -54 & 52\\ 15 & 15 & -15 & 6 \end{pmatrix} — (-35)\cdot \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}. \]

Поэтому

\[ B_2= \begin{pmatrix} -9 & -23 & 18 & -25\\ 43 & 57 & -33 & 47\\ 38 & 38 & -19 & 52\\ 15 & 15 & -15 & 41 \end{pmatrix}. \]

Переходим к третьему шагу. Находим матрицу \( A_3 \). Для этого умножаем матрицу \( A \) на матрицу \( B_2 \):

\[ A_3=A\cdot B_2. \]

То есть

\[ A_3= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix} \cdot \begin{pmatrix} -9 & -23 & 18 & -25\\ 43 & 57 & -33 & 47\\ 38 & 38 & -19 & 52\\ 15 & 15 & -15 & 41 \end{pmatrix}. \]

После умножения получаем:

\[ A_3= \begin{pmatrix} 66 & 24 & -20 & 32\\ -46 & -4 & 38 & -62\\ -42 & -42 & 80 & -66\\ -18 & -18 & 18 & 8 \end{pmatrix}. \]

Находим число \( q_3 \):

\[ q_3=\frac{tr(A_3)}{3} = \frac{66+(-4)+80+8}{3} = \frac{150}{3} = 50. \]

Строим матрицу \( B_3 \):

\[ B_3=A_3-q_3\cdot I. \]

Подставляем матрицы:

\[ B_3= \begin{pmatrix} 66 & 24 & -20 & 32\\ -46 & -4 & 38 & -62\\ -42 & -42 & 80 & -66\\ -18 & -18 & 18 & 8 \end{pmatrix} — 50\cdot \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}. \]

Поэтому

\[ B_3= \begin{pmatrix} 16 & 24 & -20 & 32\\ -46 & -54 & 38 & -62\\ -42 & -42 & 30 & -66\\ -18 & -18 & 18 & -42 \end{pmatrix}. \]

Переходим к четвёртому шагу. Находим матрицу \( A_4 \). Для этого умножаем матрицу \( A \) на матрицу \( B_3 \):

\[ A_4=A\cdot B_3. \]

То есть

\[ A_4= \begin{pmatrix} 8 & 5 & -4 & 5\\ -9 & -6 & 7 & -9\\ -8 & -8 & 10 & -10\\ -3 & -3 & 3 & -2 \end{pmatrix} \cdot \begin{pmatrix} 16 & 24 & -20 & 32\\ -46 & -54 & 38 & -62\\ -42 & -42 & 30 & -66\\ -18 & -18 & 18 & -42 \end{pmatrix}. \]

После умножения имеем:

\[ A_4= \begin{pmatrix} -24 & 0 & 0 & 0\\ 0 & -24 & 0 & 0\\ 0 & 0 & -24 & 0\\ 0 & 0 & 0 & -24 \end{pmatrix}. \]

Находим число \( q_4 \):

\[ q_4=\frac{tr(A_4)}{4} = \frac{-24+(-24)+(-24)+(-24)}{4} = \frac{-96}{4} = -24. \]

Итак,

\[ q_1=10,\qquad q_2=-35,\qquad q_3=50,\qquad q_4=-24. \]

Для матрицы четвёртого порядка характеристический многочлен имеет вид:

\[ D(\lambda)=\lambda^4-q_1\cdot\lambda^3-q_2\cdot\lambda^2-q_3\cdot\lambda-q_4. \]

Подставляем найденные значения:

\[ D(\lambda)=\lambda^4-10\cdot\lambda^3-(-35)\cdot\lambda^2-50\cdot\lambda-(-24). \]

То есть

\[ D(\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. \]

Что Изучать Дальше: Другие Методы Нахождения Собственных Значений

После метода Фаддеева стоит рассмотреть ещё несколько близких тем. Они помогут увидеть, как одна и та же задача может решаться разными вычислительными подходами.

  1. Метод Данилевского: Собственные значения через преобразование матрицы — В статье речь пойдёт о переходе к форме Фробениуса и построении характеристического многочлена через последовательные преобразования матрицы.
  2. Метод Крылова: Собственные значения через последовательность векторов — В статье будет показано, как через векторы Крылова составить систему уравнений и найти характеристический многочлен матрицы.
  3. LU-разложение: Собственные значения через повторные вычисления — В статье будет рассматриваться, как LU-разложение помогает приближённо находить собственные значения через последовательную работу с матрицами.

Собственные Значения Матрицы: Алгоритм для Реализации в Программе

Если вам интересно не только считать вручную, но и превращать математический метод в рабочий код, блок-схема ниже станет хорошей основой для практики. Она показывает логику программы, которая находит собственные значения матрицы второго порядка методом Фаддеева.

Попробуйте реализовать этот алгоритм на Pascal, Python, C++, JavaScript или любом другом языке, с которым вам удобно работать. Так вы лучше увидите, как формулы из теории переходят в переменные, вычисления, условия и финальный результат.

Блок-схема алгоритма, показывающая, как методом Фаддеева находить собственные значения матрицы второго порядка