Разное

Возведение матрицу в степень: Как возвести матрицу в степень? OTUS

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 матрица вычисляется непосредственно.

Замечание. Отметим, что использование первого способа не всегда оправдано для матриц больших размерностей, так как для вычисления элементов матрицы

T уже при n = 4 требуется решать систему из 16 уравнений. С другой стороны, применение второго и третьего способов затруднительно для вычисления степеней простейших матриц второго порядка типа (предлагаем читателям проверить это самостоятельно).

Определение 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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *