我正在寻找一个numpy
函数(或任何其他包中的函数),它可以有效地计算
是向量值输入的向量值函数。乘积被认为是一个简单的分量乘法。你知道吗
这里的问题是,每个x向量的长度和要相乘的结果向量(f,ofx)的总数(N)都非常大,大约有数百万个。因此,不可能一次生成所有结果(它不适合内存),然后使用np.multiply.reduce
等将它们相乘。你知道吗
我想替换的代码类型的一个示例是:
import numpy as np
x = np.ones(1000000)
prod = f(x)
for i in range(2, 1000000):
prod *= f(i * np.ones(1000000))
一个向量值函数,其输出的维数等于其输入的维数。你知道吗
可以肯定的是:我不是在寻找等价的代码,而是寻找一个单一的、高度优化的函数。有这样的事吗?你知道吗
对于那些熟悉Wolfram Mathematica的人来说:它相当于Product。在Mathematica中,我可以简单地编写Product[f[i ConstantArray[1,1000000]],{i,1000000}]
。你知道吗
Numpyufuncs都有一个^{} 方法。^{} 是一个ufunc。所以这是一条单行线:
其中
v
是以同样有效的方式计算的值向量。你知道吗要计算向量,只需将函数应用于输入:
以你为例:
备选方案
表达同一事物的更简单方法是^{} :
也可以直接在向量上使用^{} 方法:
相关问题 更多 >
编程相关推荐