mindspore.ops.MatrixPower
- class mindspore.ops.MatrixPower[源代码]
计算一个batch的方阵的n次幂。 如果 \(n=0\) ,则返回一个batch的单位矩阵。 如果n为负数,则为返回每个矩阵(如果可逆)逆矩阵的 \(abs(n)\) 次幂。
- 参数:
n (int) - 指数,必须是整数。
- 输入:
x (Tensor) - 一个3-D Tensor。支持的数据类型为float16和float32。 shape为 \((b, m, m)\) ,表示b个m-D的方阵。
- 输出:
y (Tensor) - 一个3-D Tensor,与 x 的shape和数据类型均相同。
- 异常:
TypeError - 如果 n 的数据类型不是整数。
TypeError - 如果 x 的数据类型既不是float16,又不是float32。
TypeError - 如果 x 不是Tensor。
ValueError - 如果 x 不是一个3-D Tensor。
ValueError - 如果 x 的shape[1]和shape[2]不同。
ValueError - 如果 n 为负数,但是输入 x 中存在奇异矩阵。
- 支持平台:
Ascend
CPU
样例:
>>> x = Tensor([[[0, 1], [-1, 0]], [[1, 0], [0, -1]]], dtype=ms.float32) >>> matrix_power = ops.MatrixPower(n=2) >>> y = matrix_power(x) >>> print(y) [[[-1. 0.] [-0. -1.]] [[ 1. 0.] [ 0. 1.]]]