numpy.linalg.matrix_power
-
numpy.linalg.matrix_power(M, n)[source] -
Возведение квадратной матрицы в (целую) степень
n.Для положительных целых значений
n, степень вычисляется путём многократного возведения матрицы в квадрат и умножения матриц. Еслиn == 0, возвращается единичная матрица того же размера, что и M. Еслиn < 0, вычисляется обратная матрица, а затем возводится вabs(n).Параметры: M : ndarray или объект matrix
Матрица, которая должна быть возведена в степень. Должна быть квадратной, т.е.
M.shape == (m, m), гдеm— положительное целое число.n : int
Показатель степени может быть любым целым или длинным целым числом, положительным, отрицательным или нулевым.
Возвращает: M**n : ndarray или объект matrix
Возвращаемое значение имеет такой же размер и тип, как
M; если показатель степени положителен или равен нулю, тип элементов такой же, как уM. Если показатель степени отрицательный, элементы являются числами с плавающей запятой.Возможные исключения: LinAlgError
Если матрица не является численно обратимой.
См. также
matrix- Предоставляет эквивалентную функцию, как оператор возведения в степень (
**, а не^).
Примеры
>>> from numpy import linalg as LA >>> i = np.array([[0, 1], [-1, 0]]) # matrix equiv. of the imaginary unit >>> LA.matrix_power(i, 3) # should = -i array([[ 0, -1], [ 1, 0]]) >>> LA.matrix_power(np.matrix(i), 3) # matrix arg returns matrix matrix([[ 0, -1], [ 1, 0]]) >>> LA.matrix_power(i, 0) array([[1, 0], [0, 1]]) >>> LA.matrix_power(i, -3) # should = 1/(-i) = i, but w/ f.p. elements array([[ 0., 1.], [-1., 0.]])Пример несколько более сложный
>>> q = np.zeros((4, 4)) >>> q[0:2, 0:2] = -i >>> q[2:4, 2:4] = i >>> q # one of the three quarternion units not equal to 1 array([[ 0., -1., 0., 0.], [ 1., 0., 0., 0.], [ 0., 0., 0., 1.], [ 0., 0., -1., 0.]]) >>> LA.matrix_power(q, 2) # = -np.eye(4) array([[-1., 0., 0., 0.], [ 0., -1., 0., 0.], [ 0., 0., -1., 0.], [ 0., 0., 0., -1.]])
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.linalg.matrix_power.html