numpy 是否有用于矩阵模幂运算的内置实现?
(正如 user2357112 所指出的,我实际上是在寻找元素明智的模块化减少)
对常规数字进行模幂运算的一种方法是使用平方求幂 (https://en.wikipedia.org/wiki/Exponentiation_by_squaring),并在每一步进行模约简。我想知道是否有类似的矩阵乘法内置解决方案。我知道我可以编写代码来轻松模拟这一点,但我想知道是否有内置解决方案。
最佳答案
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)
)。
关于numpy - Numpy 是否具有内置的元素矩阵模幂实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45257676/