我收到此错误。我应该注意,在我的实用程序文件中,“ funcbarsq”是一个函数,定义为另一个函数funcbar
与自身funcbar
之间的四个向量点积。其中使用了四个向量点积的另一种定义。因此,定义了一个四维点积运算,定义了funcbar
,并且将funcbarsq
定义为funcbar*funcbar = funcbarsq
的4D点积。
C:\utilityfile in function(x, y, z, q, r, l, m, n)
116
117 def function(x,y,z, q, r, l, m, n):
--> 118 val = np.abs(funcbarsqr/(float(q**2))
119 return val
120
TypeError: only size-1 arrays can be converted to Python scalars
答案 0 :(得分:2)
您正在将q**2
传递到float()
。如错误消息所述,该值(因此为q
)应该是一个只有个元素的数组。在您的情况下,不是这样,而这就是错误的出处。