微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 scipy.integrate.quad 将多元积分的支持更改为 [0,1]^k?

如何解决如何使用 scipy.integrate.quad 将多元积分的支持更改为 [0,1]^k?

以下 k 维积分具有依赖限制(依赖于 gamma支持):

from  scipy.integrate import nquad
import numpy as np

def func(*args):
    gamma = args[-1]
    var = np.array(args[:-1])

    return (1-1/(1+gamma-np.sum(var)))*np.prod(((1+var)**-2))

def range_func(*args):
    gamma = args[-1]
    return (0,gamma-sum(args[:-1]))

gamma,k = 10,2
print(nquad(func,[range_func]*k,args=(gamma,) ))

限制在上面的函数 range_func 中定义

return (0,gamma-sum(args[:-1]))

如何将此支持更改为简单的 [0,1]^k 以便 scipy.integrate.nquad 仍然有效?也就是说,每个整数符号都从 0 到 1。我是否只是将其更改为 return (0,1)

(source of code,这只是我打算做的一个玩具示例)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。