Форум сайта python.su
нужно посчитать функцию фримана
e можно принять за 2.7 решение можно закодить с помощью mpmath, но я не в курсе как поставить свои аргументы
Прикреплённый файлы: формула.jpg (70,7 KБ)
Офлайн
а “к” чему равно?
Офлайн
k берутся от 1 до бесконечности, это сумма должна светись к значению определеному
Офлайн
а, ну если
real and complex floating-point arithmetic with arbitrary precisionто примерно посчитать можно
Офлайн
Фактически, вам необходимо вычислить значение полилогарифма.
При определенных значениях параметра `s` этот ряд можно просуммировать аналитически и использовать соответствующую формулу.
В общем случае нужно задать какой-нибудь параметр, например, abstol=10e-8, и
считать по рекуррентной формуле, S(n+1) = S(n) + eta**n*theta**(n+1)/(n+1)**s, если
добавляемое значение будет меньше abstol, то прекращать итерации и считать полученное значение S(n) результатом (приближенным, конечно).
Код может быть приблизительно таким:
def get_multilog(s, eta, theta, abstol=1.0e-8, nmax=1.0e+5): result = 0.0 n = 0 tol = abstol while (tol > abstol) and (n < nmax): tol = eta ** n * theta ** (n + 1) / (n + 1) ** s result += tol n += 1
Офлайн