matrix_power¶
计算一个或一批方阵的 n
次幂。
记 \(X\) 为一个或一批方阵,\(n\) 为幂次,则公式为:
\[Out = X ^ {n}\]
特别地,
如果
n > 0
,则返回计算n
次幂后的一个或一批矩阵。如果
n = 0
,则返回一个或一批单位矩阵。如果
n < 0
,则返回每个矩阵的逆(若矩阵可逆)的abs(n)
次幂。
参数¶
x (Tensor):输入的欲进行
n
次幂运算的一个或一批方阵,类型为 Tensor。x
的形状应为[*, M, M]
,其中*
为零或更大的批次维度,数据类型为 float32, float64。n (int):输入的幂次,类型为 int。它可以是任意整数。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor,这个(或这批)矩阵 x
经过 n
次幂运算后的结果,数据类型和输入 x
的一致。
代码示例¶
import paddle
x = paddle.to_tensor([[1, 2, 3],
[1, 4, 9],
[1, 8, 27]], dtype='float64')
print(paddle.linalg.matrix_power(x, 2))
# [[6. , 34. , 102.],
# [14. , 90. , 282.],
# [36. , 250., 804.]]
print(paddle.linalg.matrix_power(x, 0))
# [[1., 0., 0.],
# [0., 1., 0.],
# [0., 0., 1.]]
print(paddle.linalg.matrix_power(x, -2))
# [[ 12.91666667, -12.75000000, 2.83333333 ],
# [-7.66666667 , 8. , -1.83333333 ],
# [ 1.80555556 , -1.91666667 , 0.44444444 ]]