Почему я не могу возвести в отрицательную степень в numpy?Python

Программы на Python
Anonymous
Почему я не могу возвести в отрицательную степень в numpy?

Сообщение Anonymous »

Я моделирую тета-функцию Римана:

Код: Выделить всё

import numpy as np
def theta(s, n=100):
a_range = np.arange(2, n + 1)
return 1 + sum(1/(a_range ** 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, если я правильно помню свои математические расчеты.

Подробнее здесь: https://stackoverflow.com/questions/432 ... r-in-numpy

Вернуться в «Python»