使用scipy输入矢量的标量值函数的数值正交

时间:2019-02-26 20:10:20

标签: tensorflow scipy numerical-integration

我一直在尝试使用scipy.integrate.quadrature来集成一个标量值函数,该函数将固定维数的向量作为输入。但是,尽管scipy.integrate.quadrature声称它可以使用矢量输入函数,但我一生都无法理解如何完成这项工作。

我可能误解了scipy.integrate.quadrature的文档,并且当它说函数可以接受向量输入时,它的简单含义是它能够同时在多个点上评估函数(这不等于我的问题)。

更具体地说,我正在尝试对函数f( x )进行集成,其中 x 是向量,而f()映射 x 标量。如果我对scipy.integrate.quadrature的最初解释是错误的,那么是否有人知道任何可以用我提到的方式计算积分的软件包(用python编写)?我知道有一种叫做scipy.integrate.nquad的东西也许是我想要的?这里的任何指导或见解都会很棒。

1 个答案:

答案 0 :(得分:0)

如果您的函数采用矢量值x作为输入,则表示其域是n维空间的某些子集。对于正交,这使其成为完全不同的野兽,这就是您遇到问题的原因。

您的集成领域是什么? 3D矩形? 4D球吗?棱镜?也许整个nD空间的权重函数都像exp(-norm(x)^2)? (有关3D集成规则的图形表示,请参见下面的图片。)因此,存在不同的集成规则。查看quadpy(属于我的Python软件包)。

enter image description here