【问题标题】:Numerical Quadrature of scalar valued function with vector input using scipy使用 scipy 进行向量输入的标量值函数的数值求积
【发布时间】:2019-07-20 11:00:21
【问题描述】:

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

我可能误解了scipy.integrate.quadrature 的文档,当它说函数可以接受向量输入时,它仅仅意味着它能够同时在多个点评估函数(这不等同于我的问题)。

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

【问题讨论】:

  • "...当它说函数可以接受向量输入时,它仅仅意味着它能够同时在多个点上评估函数..." 是的,那这就是它的意思。 “我知道有一个叫做 scipy.integrate.nquad 的东西,这也许就是我正在寻找的东西?” 是的,它是。查看nquad docstring 中的示例。对于 x 分别为 2-d 或 3-d 的特殊情况,还有 dblquadtplquad

标签: tensorflow scipy numerical-integration


【解决方案1】:

如果您的函数将向量值 x 作为输入,则意味着它的域是 n 维空间的某个子集。对于正交,这使它成为一个完全不同的野兽,这就是你遇到问题的原因。

您的集成领域是什么? 3D中的矩形?一个4D的球?棱镜?也许整个 nD 空间都具有像exp(-norm(x)^2) 这样的权重函数? (见下图以 3D 形式展示积分规则。)根据此,有不同的积分规则。查看quadpy(我的一个 Python 包)。

【讨论】:

    猜你喜欢
    • 2021-07-20
    • 2013-12-02
    • 2011-10-16
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    相关资源
    最近更新 更多