2
我建模黎曼θ函數:爲什麼我不能在numpy中提升爲負值?
import numpy as np
def theta(s, n=100):
a_range = np.arange(2, n + 1)
return 1 + sum(1/(a_range ** s))
它不爲負s
工作;例如theta(-2)
導致此錯誤:
1 def theta(s, n=100):
2 a_range = np.arange(1)
----> 3 return 1 + sum(1/(a_range ** s))
4
5 theta(-2)
ValueError: Integers to negative integer powers are not allowed.
這是爲什麼?如果我正確記得我的數學,x^-1
應該只是1/x
。
因爲,錯誤消息明確地說:「整數負整數次冪是不允許的。 「,爲什麼不試試:'a_range = np.arange(2,n + 1,dtype = np.float)'? – Evert
或者只是'a_range = np.arange(1.0)'就足夠了。 –
就是這樣!謝謝。 – shredding