很抱歉,如果这是一个愚蠢的问题,但我刚刚开始使用python/numpy,我真的不确定最有效的方法.我正在为一些学生组装一个演示N体模拟器,但是现在,我通过循环这些粒子的位置来计算粒子之间的力,这可以预测和糖蜜一样慢.基本上,给定一个向量x[i],我想计算:
n[i] = sum from j = 0 to n-1, j != i of (x[i]-x[j])^-2,
Run Code Online (Sandbox Code Playgroud)
使用numpy函数而不是循环.如果有办法执行外部加法/乘法:
m[i,j] = x[i]-x[j],
m[i,j] = x[i]*x[j],
Run Code Online (Sandbox Code Playgroud)
我可以用它来做计算.