numpy.linalg.matrix_power(a,n)[source]¶Raise a square matrix to the (integer) powern.
For positive integersn, the power is computed by repeated matrixsquarings and matrix multiplications. Ifn==0, the identity matrixof the same shape as M is returned. Ifn<0, the inverseis computed and then raised to theabs(n).
| Parameters: |
|
|---|---|
| Returns: |
|
| Raises: |
|
Examples
>>>fromnumpy.linalgimportmatrix_power>>>i=np.array([[0,1],[-1,0]])# matrix equiv. of the imaginary unit>>>matrix_power(i,3)# should = -iarray([[ 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. elementsarray([[ 0., 1.], [-1., 0.]])
Somewhat more sophisticated example
>>>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 1array([[ 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.]])