问题描述
以下 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 (将#修改为@)