在mpmath.nsum()中,lambda可以替代吗?

时间:2019-06-16 08:11:33

标签: python lambda mpmath

我使用mpmath's nsum()函数进行从1到inf的求和运算。 像这样 但是lambda是一个线函数,我的方程很长 喜欢 ∑_(n = 1)^∞▒e^(〖-n〗^ 2)/(n ^ 2 + 4〖(a-b)〗

对于简单的一线求和方程,它可以工作,但对于长求和,该如何使用? 有什么方法可以给nsum()函数赋予较长的求和方程式?

import mpmath
mpmath.mp.dps = 50
nsum(lambda x: exp(-x**2), [-inf, inf])

2 个答案:

答案 0 :(得分:2)

可以使用实现__call__方法的所有方法:

一个lambda

nsum(lambda x: exp(-x**2), [-inf, inf])

def函数:

def exp_sum(x):
    return exp(-x**2)
nsum(exp_sum, [-inf, inf])

或者是class

class exp_sum:
    def __init__(self):
        pass
    def __call__(self,x):
        return exp(-x**2)

nsum(exp_sum(), [-inf, inf])

答案 1 :(得分:1)

您可以用普通函数代替lambda:

<?xml version=”1.0” standalone=”yes” ?>
<!DOCTYPE items [
 <!ELEMENT items (item*) >
 <!ELEMENT item (article,country,price)+ >
]>