【发布时间】:2014-03-03 12:43:57
【问题描述】:
我有 2 个数组。 “A”是其中之一,具有任意长度(假设一开始有 1000 个条目),其中每个点都包含一个 n 维向量,其中每个条目代表一个标量。 “B”是另一个,有 n 个条目,每个条目都包含一个 3 维向量。如何进行标量乘法,结果是一个数组“C”,其中每个条目是每个 n 标量与每个 n 3 维向量?
以 4-D 为例:
a=[[1,2,3,4],[5,6,7,8],....]
b=[[1,0,0],[0,1,0],[0,0,1],[1,1,1]]
结果
c=[[1*[1,0,0],2*[0,1,0],3*[0,0,1],4*[1,1,1]] , [5*[1,0,0],...],...]
实现应该在 numpy 中,没有太大的 for 循环,因为预计会有超过 1000 个条目。 n 在我们的例子中应该是 7。
【问题讨论】:
-
请注意
numpy.array和list的使用。这些是不同的数据结构。例如np.array([0,1,0]) * 2的结果是np.array([0,2,0]),而[0,1,0] * 2的结果是[0,1,0,0,1,0]。