<p>我有两个数组(a和b),其中n个整数元素在范围(0,n)内。</p>
<p><em>输入错误:数组中有2^n个整数,其中最大的整数取n=3^n</em></p>
<p>我想计算a和b中每个元素组合的和(sum_ij_u=a_I_u+b_j_u,for all<em>I,j</em>)。然后取模N(sum_ij_u=sum_ij_uu%N),最后计算不同和的频率。</p>
<p>为了在没有任何循环的情况下快速使用numpy,我尝试使用meshgrid和bincount函数。</p>
<pre><code>A,B = numpy.meshgrid(a,b)
A = A + B
A = A % N
A = numpy.reshape(A,A.size)
result = numpy.bincount(A)
</code></pre>
<p>现在,问题是我的输入数组太长了。当我使用包含2^13个元素的输入时,meshgrid会给我内存错误。我想为2^15-2^20个元素的数组计算这个值。</p>
<p><em>在15到20之间的n</em></p>
<p>有没有什么聪明的把戏来对付努比?</p>
<p>任何帮助都将不胜感激。</p>
<p>--
乔恩</p>