---
title: linalg.matrix_power
description: "对于正整数n，幂通过重复矩阵平方和矩阵乘法计算。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_1123.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_1123.html
indexId: c13a32fc5eb92d87600411d12c62d43fa08e28b96c203e430438e7436cfce1dc61
---
# linalg.matrix_power

#### 功能描述

对于正整数n，幂通过重复矩阵平方和矩阵乘法计算。

- 如果n == 0，则返回与M形状相同的单位矩阵。
- 如果n < 0，则计算逆矩阵，然后提高到abs(n)。


#### 必选输入参数

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| a | (…,M,M) array\_like | 需要做幂运算的矩阵。 |
| n | int | 指数可以是任何整数或长整数、正数、负数或零。 |


#### 可选输入参数

无。


#### 返回数据

| 类型 | 说明 |
| --- | --- |
| (…, M, M) ndarray or matrix object | 返回值与M的形状和类型相同。 如果指数为正或为零，则元素的类型与M的类型相同。 如果指数为负数，则元素为浮点。 |


#### 示例

```
>>> import numpy as np
>>> a = np.array([[0,1], [-1,0]])
>>> np.linalg.matrix_power(a, 3)
array([[ 0, -1],
       [ 1,  0]])
>>> 
>>> np.linalg.matrix_power(a, 0)
array([[1, 0],
       [0, 1]])
>>> 
>>> np.linalg.matrix_power(a, -3)
array([[ 0.,  1.],
       [-1.,  0.]])
>>> 
>>> q = np.zeros((4,4))
>>> q[0:2, 0:2] = -a
>>> q[2:4, 2:4] = a
>>> a
array([[ 0,  1],
       [-1,  0]])
>>> 
>>> np.linalg.matrix_power(q, 2)
array([[-1.,  0.,  0.,  0.],
       [ 0., -1.,  0.,  0.],
       [ 0.,  0., -1.,  0.],
       [ 0.,  0.,  0., -1.]])
>>>
```
