【发布时间】:2019-08-19 16:20:33
【问题描述】:
在我的代码(用 Python 2.7 编写)中,我创建了两个 numpy 数组,A 和 B。然后我用它们组装一个更大的矩阵H,代码如下
H = np.block([A, B], [-B, -A])
随后进行了各种计算,涉及大量的 numpy 操作和 for 循环。因此,我想使用 Numba 来优化代码。但是,Numba 似乎不支持 numpy 块功能。矩阵A 和B 不是很大,所以我可以使用可能不如np.block 优化的函数,但我仍然想以块矩阵方式组装H可读性的目的。有没有什么功能可以做到这一点?
【问题讨论】:
-
block的工作核心在np.core.shape_base._block。它在每个轴上执行递归_block和concatenate。在您的情况下,这是 3 个连接。concatenate已经是编译代码了。