Numpy是否具有内置的元素矩阵模幂运算实现

时间:2017-07-22 18:05:00

标签: numpy matrix linear-algebra

numpy是否有内置的矩阵模块化指定实现?

(正如user2357112所指出的,我实际上是在寻找元素明智的模块化缩减)

常规数字的单向模幂运算是通过Squaring(https://en.wikipedia.org/wiki/Exponentiation_by_squaring)进行指数化,每一步都采用模块化缩减。我想知道是否有类似的内置矩阵乘法解决方案。我知道我可以编写代码来轻松地模拟这个,但我想知道是否有一个内置的解决方案。

1 个答案:

答案 0 :(得分:1)

目前,NumPy(GitHub issue)中未构建模幂运算。最简单/最懒的方法是frompyfunc

modexp = np.frompyfunc(pow, 3, 1)
print(modexp(np.array([[1, 2], [3, 4]]), 2, 3).astype(int))

打印

[[1 1]
 [0 1]]

这当然比NumPy本身慢,我们得到一个dtype = object的数组(因此添加了astype(int))。