Quadpy计算2D高斯积分

问题描述

我正在使用软件包quadpy来计算振荡高斯型积分。我意识到这种计算很难从数字上进行,而且,我知道MMA可以执行我要求四联体执行的操作。我想知道我是否使用了错误的包装。

这是一个简单的代码,用于计算以下形式的2D积分:

enter image description here

相应的代码是:

import numpy as np
import quadpy

scheme = quadpy.e2r2.get_good_scheme(3)
val = scheme.integrate(lambda x: x[0]/x[1])

print(val)

但是,它会产生nan。它可以修复吗?如果不是那么简单,也许还有另一个软件包可以完成类似的工作,并且可以处理比x和y多项式更高级的积分器。

如果任何人有使用此软件包的经验,请发表评论。到目前为止,阅读文档对我没有多大帮助。预先感谢!

解决方法

您可以将积分分为两个一维积分,

enter image description here

第一个整数是0,第二个整数是不确定的,所以整个东西是不确定的。

这意味着,无论您采用哪种正交方案,该值始终是虚假的。在您选择的方案中,您很幸运,并且返回了NaN,告诉您有问题。 (它试图在y=0处进行评估。)其他方案可能会返回一些值,但是永远没有任何意义。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...