linalg.matrix_power | NumPy
numpy.linalg.matrix_power(a, n)
Функция linalg.matrix_power() возводит матрицу в степень указанного целого числа.
Для натуральных чисел n степень матрицы вычисляется путем повторного возведения в квадрат и умножения матриц. Для n = 0 возвращается единичная матрица, с той же формой, что и a. Для n < 0 сначала вычисляется обратная матрица, а зотем она возводится в степень np.abs(n)
.
Данная функция может принимать многомерные массивы с двумя одинаковыми последними осями, и находить степень каждого такого подмассива отдельно, после чего она возвращает массив той же формы со степенями подмассивов по последним двум осям исходного массива.
- Параметры:
- a — массив NumPy или подобный массиву объект.
- Входные данные.
- n — целое число.
- Степень в которую возводится матрица.
- Возвращает:
- результат — массив NumPy
- Результат возведения матрицы a в степень n, с той же формой, что и a. Для n > 0 и n = 0 тип данных не преобразуется, для n < 0 тип данных всегда преобразуется к float. Если входной массив это последовательность квадратных матриц, то возвращается последовательность степеней его подмассивов.
Замечание
Если матрица не является квадратной или если матрица является вырожденной (определитель равен 0) и возводится в отрицательную степень то вызывается исключение LinAlgError.
Смотрите так же:matmul
, linalg.multi_dot
, dot
, vdot
Примеры
>>> import numpy as np >>> >>> a = np.array([[1, 2], [3, 4]]) >>> >>> np.linalg.matrix_power(a, 0) array([[1, 0], [0, 1]]) >>> >>> np.linalg.matrix_power(a, 2) array([[ 7, 10], [15, 22]]) >>> >>> np.linalg.matrix_power(a, 3) array([[ 37, 54], [ 81, 118]]) >>> >>> np.linalg.matrix_power(a, -3) array([[-14.75 , 6.75 ], [ 10.125, -4.625]]) >>> >>> >>> b = np.arange(12).reshape(3, 2, 2) >>> >>> np.linalg.matrix_power(b, 2) array([[[ 2, 3], [ 6, 11]], [[ 46, 55], [ 66, 79]], [[154, 171], [190, 211]]]) >>> >>> np.linalg.matrix_power(b[0], 2) array([[ 2, 3], [ 6, 11]])
→ kron()
← einsum_path()
1.5. Возведение матриц в степень. Нильпотентные матрицы. След матрицы
В начале этого раздела рассмотрим различные способы возведения матрицы в степень.
Первый способ основан на представлении матрицы А в виде , где J – жорданова форма А, и на использовании формулы и формулы для из упражнения 5 предыдущего раздела.
Упражнение 1. Вычислить , где .
Решение. Найдем собственные значения матрицы А, т.е. решения уравнения .
.
Отсюда . По теореме Жордана найдется матрица Т такая, что выполнено равенство , или, что то же самое, . Определим матрицу Т. Пусть . Тогда матричное уравнение
приводит к системе
одним из решений которой будет
Отсюда и
.
Второй способ. Индуктивный метод вычисления . Этот метод основан на вычислении нескольких первых степеней матрицы
Упражнение 2. Вычислить , где .
Решение. Для начала вычислим
Заметим, что элементы главной диагонали равны 1. Элементы над главной диагональю совпадают со степенью матрицы А, а для элемента матрицы при m = 2, 3, 4 выполнено равенство
.
Теперь мы можем сделать индуктивное предположение
Покажем, что
Действительно,
Что и требовалось доказать. Это означает, что
Третий способ основан на применении матричного аналога формулы бинома Ньютона.
Теорема 1. Если матрицы А и В перестановочны (то есть выполнено равенство АВ = ВА), тоЕсли матрица B в условии теоремы 1 нильпотентна (то есть для не-которого ), то для всех верна формула
Фактически мы уже пользовались этим результатом при нахождении степеней жордановой клетки при решении упражнения 5.
Применим формулу бинома Ньютона для решения упражнения 2 раздела 1.5. Запишем А в виде суммы перестановочных матриц:
Таким образом, для получаем
где согласно формуле суммы m первых членов арифметической прогрессии 1, 2, 3, … .
Для m = 2 матрица вычисляется непосредственно.
Замечание. Отметим, что использование первого способа не всегда оправдано для матриц больших размерностей, так как для вычисления элементов матрицы
Определение 1. Следом квадратной матрицы А назы-вается сумма элементов главной диагонали и обозначается.
Лемма.. Пусть А и В – квадратные матрицы порядка n. Тогда выполнено равенство .
Доказательство. Используем метод математической индукции.
1. Для n = 2 утверждение проверяется непосредственно.
2. Предположим, что утверждение верно для некоторого .
3. Покажем, что оно верно для .
.
Обозначим строки и столбцы матриц и следующим образом:
Тогда
Аналогично
Заметим, что и
– матрицы порядка n – 1 и
В силу индуктивного предположения 2 Отсюда следует равенство .
Упражнение 3. Пусть А – матрица размерности , причем . Вычислить , где .
Решение. Пусть – жорданова форма матрицы А и – ее собственные значения, тогда
Так как – верхняя треугольная матрица и на ее главной диагонали стоят элементы то
Значит, согласно задаче 14 (см. задачи для самостоятельного решения ниже) ,
Итак, .
Последнее равенство доказано в примере 1 пункта 3.
матриц — Как вычислить матрицу, возведенную в большую степень.
спросил
Изменено 2 года, 6 месяцев назад
Просмотрено 72к раз
$\begingroup$
Как мне вычислить:
$ \left( \begin{array}{cc} 3 & -\sqrt{3} \\ \sqrt{3} & -1 \end{массив} \right)^{13}$ 9{n-1} (M_1)_i$.
$\endgroup$
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.