Собственные значения матрицы можно находить разными способами. Один из таких способов — метод Крылова. Его удобно использовать тогда, когда характеристический многочлен строят с помощью специальной последовательности векторов.
На первый взгляд метод может показаться сложным. Но его основная логика довольно понятна. Сначала мы строим несколько векторов с помощью матрицы \( A \). Затем на основе этих векторов составляем систему линейных уравнений. Именно из неё находим коэффициенты характеристического многочлена. А уже после этого получаем собственные значения как корни характеристического уравнения.
Собственные Значения Матрицы: Что Именно Находит Метод Крылова
Метод Крылова применяют для квадратной матрицы \( A \) порядка \( n \). Его главная цель — найти характеристический многочлен этой матрицы. Почему именно его? Потому что корни характеристического многочлена и есть собственные значения матрицы.
Пусть характеристический многочлен матрицы \( A \) имеет вид
\[ D(\lambda)=\det(\lambda\cdot I-A). \]
Здесь \( I \) — единичная матрица того же порядка, что и матрица \( A \).
После раскрытия определителя получаем многочлен степени \( n \):
\[ D(\lambda) = \lambda^{n} + p_1\cdot\lambda^{n-1} + p_2\cdot\lambda^{n-2} + p_3\cdot\lambda^{n-3} + \dots + p_n. \]
Числа
\[ p_1,p_2,p_3,\dots,p_n \]
являются коэффициентами характеристического многочлена. Именно их сначала нужно найти методом Крылова.
Итак, метод не начинается с непосредственного поиска собственных значений. Сначала он помогает определить коэффициенты многочлена. После этого записывают характеристическое уравнение
\[ D(\lambda)=0. \]
Его корни
\[ \lambda_1,\lambda_2,\dots,\lambda_n \]
и являются собственными значениями матрицы \( A \).
Таким образом, логика метода имеет такой вид:
\[ A \quad \longrightarrow \quad D(\lambda) \quad \longrightarrow \quad D(\lambda)=0 \quad \longrightarrow \quad \lambda_1,\lambda_2,\dots,\lambda_n. \]
То есть сначала мы работаем не с самими собственными значениями, а с характеристическим многочленом. Это важно понимать с самого начала, ведь именно такой подход лежит в основе метода Крылова.
Характеристический Многочлен: Почему Работает Метод Крылова
Теперь нужно объяснить, откуда берётся основное равенство метода. Для этого используют теорему Кэли — Гамильтона. Она утверждает, что каждая квадратная матрица удовлетворяет своему характеристическому уравнению.
Поскольку характеристический многочлен имеет вид
\[ D(\lambda) = \lambda^{n} + p_1\cdot\lambda^{n-1} + p_2\cdot\lambda^{n-2} + p_3\cdot\lambda^{n-3} + \dots + p_n, \]
то для самой матрицы \( A \) можно записать:
\[ D(A)=0. \]
Распишем это равенство подробнее:
\[ A^{n} + p_1\cdot A^{n-1} + p_2\cdot A^{n-2} + p_3\cdot A^{n-3} + \dots + p_n\cdot I = 0. \]
Это матричное равенство. Оно показывает, что степени матрицы \( A \) связаны между собой через коэффициенты характеристического многочлена.
Иначе говоря, числа
\[ p_1,p_2,p_3,\dots,p_n \]
являются коэффициентами этой связи. Именно их мы и ищем.
Однако работать непосредственно с матричным уравнением не всегда удобно. Почему? Потому что оно содержит степени матрицы, а это может усложнять вычисления, особенно для матриц большего порядка.
Именно поэтому в методе Крылова делают следующий шаг: переходят от матричного равенства к векторному. Для этого вводят начальный вектор и строят последовательность векторов, связанных с матрицей \( A \).
Векторы Крылова: Переход К Системе Уравнений
Чтобы перейти от матричного равенства к векторному, выбирают произвольный ненулевой вектор
\[ y^{(0)} = \begin{pmatrix} y_1^{(0)}\\ y_2^{(0)}\\ y_3^{(0)}\\ \vdots\\ y_n^{(0)} \end{pmatrix}. \]
Его размерность должна совпадать с порядком матрицы \( A \). То есть, если матрица имеет порядок \( n \), то вектор \( y^{(0)} \) также должен иметь \( n \) координат.
Для чего нужен этот начальный вектор? Он запускает построение всей последовательности векторов. Далее каждый следующий вектор получают умножением матрицы \( A \) на предыдущий вектор.
Сначала получаем
\[ y^{(1)}=A\cdot y^{(0)}. \]
Затем
\[ y^{(2)}=A\cdot y^{(1)}. \]
Далее
\[ y^{(3)}=A\cdot y^{(2)}. \]
В общем виде этот процесс записывают так:
\[ y^{(i)}=A\cdot y^{(i-1)}, \qquad i=1,2,3,\dots,n. \]
Поскольку каждое следующее умножение добавляет ещё один множитель \( A \), можно записать и так:
\[ y^{(i)}=A^{i}\cdot y^{(0)}, \qquad i=1,2,3,\dots,n. \]
В результате получаем последовательность
\[ y^{(0)},y^{(1)},y^{(2)},\dots,y^{(n)}. \]
Именно эти векторы называют векторами Крылова. Они нужны для того, чтобы преобразовать матричное равенство из теоремы Кэли — Гамильтона в более удобное векторное равенство.
Теперь вернёмся к равенству
\[ A^{n} + p_1\cdot A^{n-1} + p_2\cdot A^{n-2} + p_3\cdot A^{n-3} + \dots + p_n\cdot I = 0. \]
Умножим его справа на начальный вектор \( y^{(0)} \). Получим
\[ A^{n}\cdot y^{(0)} + p_1\cdot A^{n-1}\cdot y^{(0)} + p_2\cdot A^{n-2}\cdot y^{(0)} + p_3\cdot A^{n-3}\cdot y^{(0)} + \dots + p_n\cdot y^{(0)} = 0. \]
Теперь воспользуемся обозначением
\[ A^{i}\cdot y^{(0)}=y^{(i)}. \]
Тогда предыдущее равенство принимает более простой вид:
\[ y^{(n)} + p_1\cdot y^{(n-1)} + p_2\cdot y^{(n-2)} + p_3\cdot y^{(n-3)} + \dots + p_n\cdot y^{(0)} = 0. \]
Далее перенесём \( y^{(n)} \) в правую часть:
\[ p_1\cdot y^{(n-1)} + p_2\cdot y^{(n-2)} + p_3\cdot y^{(n-3)} + \dots + p_n\cdot y^{(0)} = -y^{(n)}. \]
Это уже векторное равенство. Оно является основой для составления системы линейных уравнений.
Поскольку каждый вектор имеет \( n \) координат, это равенство можно записать как систему из \( n \) уравнений. Неизвестными в этой системе будут коэффициенты
\[ p_1,p_2,p_3,\dots,p_n. \]
В координатной форме эта система имеет вид
\[ p_1\cdot y_j^{(n-1)} + p_2\cdot y_j^{(n-2)} + p_3\cdot y_j^{(n-3)} + \dots + p_n\cdot y_j^{(0)} = -y_j^{(n)}, \qquad j=1,2,3,\dots,n. \]
Или в матричной форме:
\[ \begin{pmatrix} y_1^{(n-1)} & y_1^{(n-2)} & y_1^{(n-3)} & \dots & y_1^{(0)} \\ y_2^{(n-1)} & y_2^{(n-2)} & y_2^{(n-3)} & \dots & y_2^{(0)} \\ y_3^{(n-1)} & y_3^{(n-2)} & y_3^{(n-3)} & \dots & y_3^{(0)} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ y_n^{(n-1)} & y_n^{(n-2)} & y_n^{(n-3)} & \dots & y_n^{(0)} \end{pmatrix} \cdot \begin{pmatrix} p_1\\ p_2\\ p_3\\ \vdots\\ p_n \end{pmatrix} = — \begin{pmatrix} y_1^{(n)}\\ y_2^{(n)}\\ y_3^{(n)}\\ \vdots\\ y_n^{(n)} \end{pmatrix}. \]
Если эта система имеет единственное решение, то найденные числа
\[ p_1,p_2,p_3,\dots,p_n \]
являются коэффициентами характеристического многочлена матрицы \( A \). Если же система не имеет единственного решения, обычно выбирают другой начальный вектор \( y^{(0)} \) и повторяют построение векторов Крылова.
Итак, метод Крылова сводит задачу нахождения собственных значений к построению характеристического многочлена через систему линейных уравнений. Сначала формируется последовательность векторов, затем с помощью теоремы Кэли — Гамильтона получается векторное равенство, а из него — система для коэффициентов многочлена. На этом завершается теоретическая основа метода.
Практическая Часть: Как Работает Метод Крылова На Примерах
Теперь перейдём от теоретического объяснения к конкретным вычислениям. На матрицах разного порядка покажем, как применяется метод Крылова и как постепенно получается характеристический многочлен. Так легче увидеть, как схема метода работает на практике.
Пример 1. Найти собственные значения матрицы методом Крылова
\[ A= \begin{pmatrix} 2 & 1\\ 1 & 2 \end{pmatrix}. \]
Выберем начальный ненулевой вектор
\[ y^{(0)} = \begin{pmatrix} 1\\ 0 \end{pmatrix}. \]
Такой выбор удобен для вычислений, потому что вектор простой и имеет нужную размерность. Поскольку это матрица второго порядка, нужно построить векторы до \( y^{(2)} \) включительно.
Сначала найдём \( y^{(1)} \):
\[ y^{(1)}=A\cdot y^{(0)} = \begin{pmatrix} 2 & 1\\ 1 & 2 \end{pmatrix} \cdot \begin{pmatrix} 1\\ 0 \end{pmatrix} = \begin{pmatrix} 2\\ 1 \end{pmatrix}. \]
Теперь найдём \( y^{(2)} \):
\[ y^{(2)}=A\cdot y^{(1)} = \begin{pmatrix} 2 & 1\\ 1 & 2 \end{pmatrix} \cdot \begin{pmatrix} 2\\ 1 \end{pmatrix} = \begin{pmatrix} 5\\ 4 \end{pmatrix}. \]
Для матрицы второго порядка характеристический многочлен имеет вид
\[ D(\lambda)=\lambda^2+p_1\cdot\lambda+p_2. \]
По методу Крылова используем равенство
\[ p_1\cdot y^{(1)}+p_2\cdot y^{(0)}=-y^{(2)}. \]
Подставим найденные векторы:
\[ p_1\cdot \begin{pmatrix} 2\\ 1 \end{pmatrix} + p_2\cdot \begin{pmatrix} 1\\ 0 \end{pmatrix} = — \begin{pmatrix} 5\\ 4 \end{pmatrix}. \]
Получим систему уравнений:
\[ \begin{cases} 2\cdot p_1+p_2=-5,\\ p_1=-4. \end{cases} \]
Из второго уравнения имеем
\[ p_1=-4. \]
Подставим это значение в первое уравнение:
\[ 2\cdot(-4)+p_2=-5. \]
Отсюда
\[ \begin{gathered} -8+p_2=-5, \\[4pt] p_2=3. \end{gathered} \]
Итак,
\[ p_1=-4,\qquad p_2=3. \]
Поэтому характеристический многочлен имеет вид
\[ D(\lambda)=\lambda^2-4\cdot\lambda+3. \]
Запишем характеристическое уравнение:
\[ \lambda^2-4\cdot\lambda+3=0. \]
Разложим левую часть на множители:
\[ \lambda^2-4\cdot\lambda+3 = (\lambda-1)\cdot(\lambda-3). \]
Тогда характеристическое уравнение можно записать так:
\[ (\lambda-1)\cdot(\lambda-3)=0. \]
Поэтому для заданной матрицы
\[ A= \begin{pmatrix} 2 & 1\\ 1 & 2 \end{pmatrix} \]
собственные значения равны
\[ \lambda_1=1,\qquad \lambda_2=3. \]
Пример 2. Найти собственные значения матрицы методом Крылова
\[ A= \begin{pmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix}. \]
Выберем начальный вектор
\[ y^{(0)} = \begin{pmatrix} 1\\ 1\\ 1 \end{pmatrix}. \]
Поскольку это матрица третьего порядка, нужно построить векторы \( y^{(1)} \), \( y^{(2)} \), \( y^{(3)} \).
Начнём с вычисления \( y^{(1)} \):
\[ y^{(1)}=A\cdot y^{(0)} = \begin{pmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 1\\ 1\\ 1 \end{pmatrix} = \begin{pmatrix} 1\\ 2\\ 3 \end{pmatrix}. \]
Далее найдём \( y^{(2)} \):
\[ y^{(2)}=A\cdot y^{(1)} = \begin{pmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 1\\ 2\\ 3 \end{pmatrix} = \begin{pmatrix} 1\\ 4\\ 9 \end{pmatrix}. \]
И ещё один вектор:
\[ y^{(3)}=A\cdot y^{(2)} = \begin{pmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 1\\ 4\\ 9 \end{pmatrix} = \begin{pmatrix} 1\\ 8\\ 27 \end{pmatrix}. \]
Для матрицы третьего порядка характеристический многочлен записываем так:
\[ D(\lambda)=\lambda^3+p_1\cdot\lambda^2+p_2\cdot\lambda+p_3. \]
По методу Крылова имеем равенство
\[ p_1\cdot y^{(2)} + p_2\cdot y^{(1)} + p_3\cdot y^{(0)} = -y^{(3)}. \]
Подставим найденные векторы:
\[ p_1\cdot \begin{pmatrix} 1\\ 4\\ 9 \end{pmatrix} + p_2\cdot \begin{pmatrix} 1\\ 2\\ 3 \end{pmatrix} + p_3\cdot \begin{pmatrix} 1\\ 1\\ 1 \end{pmatrix} = — \begin{pmatrix} 1\\ 8\\ 27 \end{pmatrix}. \]
Отсюда получаем систему:
\[ \begin{cases} p_1+p_2+p_3=-1,\\ 4\cdot p_1+2\cdot p_2+p_3=-8,\\ 9\cdot p_1+3\cdot p_2+p_3=-27. \end{cases} \]
Решим её. Из второго уравнения вычтем первое:
\[ 3\cdot p_1+p_2=-7. \]
Из третьего уравнения вычтем второе:
\[ 5\cdot p_1+p_2=-19. \]
Теперь вычтем первое из этих двух равенств из второго:
\[ (5\cdot p_1+p_2)-(3\cdot p_1+p_2)=-19-(-7). \]
Получим
\[ \begin{gathered} 2\cdot p_1=-12, \\[4pt] p_1=-6. \end{gathered} \]
Подставим \( p_1=-6 \) в равенство
\[ 3\cdot p_1+p_2=-7. \]
Имеем
\[ \begin{gathered} 3\cdot(-6)+p_2=-7, \\[4pt] -18+p_2=-7, \\[4pt] p_2=11. \end{gathered} \]
Теперь найдём \( p_3 \) из первого уравнения:
\[ p_1+p_2+p_3=-1. \]
Подставим найденные значения:
\[ -6+11+p_3=-1. \]
Отсюда
\[ \begin{gathered} 5+p_3=-1, \\[4pt] p_3=-6. \end{gathered} \]
Итак,
\[ p_1=-6,\qquad p_2=11,\qquad p_3=-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. \]
Поэтому для заданной матрицы
\[ A= \begin{pmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{pmatrix} \]
собственные значения равны
\[ \lambda_1=1,\qquad \lambda_2=2,\qquad \lambda_3=3. \]
Замечание. В этом примере матрица является диагональной. Для такой матрицы собственные значения — это числа, расположенные на её главной диагонали, то есть \( 1 \), \( 2 \) и \( 3 \). Поэтому полученный результат легко проверить без дополнительных вычислений.
Пример 3. Найти собственные значения матрицы методом Крылова
\[ A= \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix}. \]
Выберем начальный вектор
\[ y^{(0)} = \begin{pmatrix} 1\\ 1\\ 1\\ 1 \end{pmatrix}. \]
Поскольку это матрица четвёртого порядка, нужно построить векторы \( y^{(1)} \), \( y^{(2)} \), \( y^{(3)} \), \( y^{(4)} \).
Сначала найдём \( y^{(1)} \):
\[ y^{(1)}=A\cdot y^{(0)} = \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix} \cdot \begin{pmatrix} 1\\ 1\\ 1\\ 1 \end{pmatrix} = \begin{pmatrix} -4\\ -2\\ 5\\ 6 \end{pmatrix}. \]
Далее вычислим \( y^{(2)} \):
\[ y^{(2)}=A\cdot y^{(1)} = \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix} \cdot \begin{pmatrix} -4\\ -2\\ 5\\ 6 \end{pmatrix} = \begin{pmatrix} -28\\ -12\\ 19\\ 30 \end{pmatrix}. \]
После этого найдём \( y^{(3)} \):
\[ y^{(3)}=A\cdot y^{(2)} = \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix} \cdot \begin{pmatrix} -28\\ -12\\ 19\\ 30 \end{pmatrix} = \begin{pmatrix} -136\\ -44\\ 65\\ 138 \end{pmatrix}. \]
Далее построим ещё один вектор Крылова:
\[ y^{(4)}=A\cdot y^{(3)} = \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix} \cdot \begin{pmatrix} -136\\ -44\\ 65\\ 138 \end{pmatrix} = \begin{pmatrix} -604\\ -144\\ 211\\ 606 \end{pmatrix}. \]
Для матрицы четвёртого порядка характеристический многочлен имеет вид
\[ D(\lambda) = \lambda^4 + p_1\cdot\lambda^3 + p_2\cdot\lambda^2 + p_3\cdot\lambda + p_4. \]
По методу Крылова используем равенство
\[ p_1\cdot y^{(3)} + p_2\cdot y^{(2)} + p_3\cdot y^{(1)} + p_4\cdot y^{(0)} = -y^{(4)}. \]
Подставим найденные векторы:
\[ p_1\cdot \begin{pmatrix} -136\\ -44\\ 65\\ 138 \end{pmatrix} + p_2\cdot \begin{pmatrix} -28\\ -12\\ 19\\ 30 \end{pmatrix} + p_3\cdot \begin{pmatrix} -4\\ -2\\ 5\\ 6 \end{pmatrix} + p_4\cdot \begin{pmatrix} 1\\ 1\\ 1\\ 1 \end{pmatrix} = — \begin{pmatrix} -604\\ -144\\ 211\\ 606 \end{pmatrix}. \]
Поскольку
\[ — \begin{pmatrix} -604\\ -144\\ 211\\ 606 \end{pmatrix} = \begin{pmatrix} 604\\ 144\\ -211\\ -606 \end{pmatrix}, \]
то получаем систему линейных уравнений:
\[ \begin{cases} -136\cdot p_1-28\cdot p_2-4\cdot p_3+p_4=604,\\ -44\cdot p_1-12\cdot p_2-2\cdot p_3+p_4=144,\\ 65\cdot p_1+19\cdot p_2+5\cdot p_3+p_4=-211,\\ 138\cdot p_1+30\cdot p_2+6\cdot p_3+p_4=-606. \end{cases} \]
Замечание. В этом примере подробное решение системы линейных уравнений не приводим, поскольку для матрицы \( 4\times4 \) оно немного сложнее и более громоздкое, чем в предыдущих примерах. Поэтому здесь сосредоточимся именно на применении метода Крылова, а решение системы запишем в готовом виде. При желании процесс решения этой системы можно отдельно проверить с помощью соответствующего онлайн-инструмента, например калькулятора метода Гаусса.
Решением этой системы является
\[ p_1=-10,\qquad p_2=35,\qquad p_3=-50,\qquad p_4=24. \]
Проверим эти значения подстановкой в первое уравнение:
\[ -136\cdot(-10)-28\cdot35-4\cdot(-50)+24=604. \]
Действительно,
\[ \begin{gathered} 1360-980+200+24=604, \\[4pt] 604=604. \end{gathered} \]
Проверка остальных уравнений выполняется аналогично. Поскольку эти значения удовлетворяют всей системе, они действительно являются коэффициентами характеристического многочлена.
Итак, характеристический многочлен имеет вид
\[ 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. \]
Поэтому для заданной матрицы
\[ A= \begin{pmatrix} -3 & 4 & 2 & -7\\ -5 & 6 & 2 & -5\\ 6 & -6 & -1 & 6\\ 4 & -4 & -2 & 8 \end{pmatrix} \]
собственные значения равны
\[ \lambda_1=1,\qquad \lambda_2=2,\qquad \lambda_3=3,\qquad \lambda_4=4. \]
Что Стоит Рассмотреть Дальше: Темы Для Продолжения Обучения
После метода Крылова стоит рассмотреть и другие подходы к работе с собственными значениями матрицы. Это поможет лучше сравнить разные алгоритмы и понять, в каких задачах каждый из них выглядит наиболее удобным.
- Метод Данилевского: Переход к матрице Фробениуса — В статье будет рассказано, как матрицу преобразуют к форме Фробениуса и через неё находят собственные значения.
- Метод Леверье: Коэффициенты через следы матриц — В статье будет объяснено, как с помощью следов степеней матрицы находят коэффициенты характеристического многочлена.
- Метод Фаддеева: Собственные значения через последовательные матрицы — В статье будет рассказано об алгоритме Фаддеева, который помогает получить характеристический многочлен матрицы шаг за шагом.
Собственные Значения Матрицы: От Блок-Схемы До Программного Кода
Если вы увлекаетесь программированием, попробуйте реализовать алгоритм нахождения собственных значений матрицы методом Крылова по представленной блок-схеме на своём любимом языке программирования. Это может быть Pascal, Python, Java, C++ или любой другой язык.
Главное — внимательно проследить логику алгоритма: ввод матрицы и начального вектора, проверка возможных ошибок, построение векторов Крылова, нахождение коэффициентов характеристического многочлена и вычисление собственных значений.
Такое задание поможет не просто познакомиться с теорией, а превратить её в программный инструмент.
