linalg.
matrix_power
将平方矩阵提高到(整数)幂 n .
对于正整数 n ,功率由重复的矩阵平方和矩阵乘法计算。如果 n == 0 ,返回与m形状相同的单位矩阵。如果 n < 0 ,则计算该逆矩阵,然后将其提升到 abs(n) .
n == 0
n < 0
abs(n)
注解
当前不支持对象矩阵的堆栈。
矩阵要“通电”。
指数可以是任何整数或长整数、正整数、负整数或零。
返回值的形状和类型与 M ;如果指数为正或零,则元素的类型与 M . 如果指数为负,则元素为浮点。
对于非正方形或(负幂)的矩阵,不能用数字倒转。
实例
>>> from numpy.linalg import matrix_power >>> i = np.array([[0, 1], [-1, 0]]) # matrix equiv. of the imaginary unit >>> matrix_power(i, 3) # should = -i array([[ 0, -1], [ 1, 0]]) >>> matrix_power(i, 0) array([[1, 0], [0, 1]]) >>> 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 quaternion units not equal to 1 array([[ 0., -1., 0., 0.], [ 1., 0., 0., 0.], [ 0., 0., 0., 1.], [ 0., 0., -1., 0.]]) >>> matrix_power(q, 2) # = -np.eye(4) array([[-1., 0., 0., 0.], [ 0., -1., 0., 0.], [ 0., 0., -1., 0.], [ 0., 0., 0., -1.]])