【问题标题】:Python equivalent of Mathematica's "LaguerreL"Python 相当于 Mathematica 的“LaguerreL”
【发布时间】:2016-06-07 15:14:27
【问题描述】:

我正在尝试绘制一个函数,其中包含一个带有广义拉盖尔多项式的项。我知道 Mathematica 可以使用 LaguerreL[n, a, f(x,y)],但我不确定 python 的等价物是什么。我目前正在尝试 scipy.special.genlaguerre(n, a, (f(x,y)),使用 x 和 y 作为我想要绘制的值的 numpy.arange 数组。但我不断收到以下错误:

具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()

所以我有 2 个问题:1) 我使用 special.genlaguerre 是否正确? (我想是的)

2) 如何修复 numpy 在这里生成的真值错误?

【问题讨论】:

  • 也许可以试试sympy 包?

标签: python-2.7 wolfram-mathematica


【解决方案1】:

拉盖尔多项式仅取决于一个变量。您想在 x,y 位置对其进行评估。在您的问题中,您需要的一个变量可能是原点 r 的半径。

scipy.special.genlaguerre 确实会生成广义拉盖尔多项式。它返回一个 np.poly1d 函数。要对一系列数字进行评估:

rs = np.linspace(0,10)
scipy.special.genlaguerre(1, 0)(rs)

在您的问题中,您尝试将 f(x,y) 作为 monic 参数提供给 genlaguerre

如果您需要以非常高的准确度评估此多项式,请阅读以下内容: Laguerre polynomials in python using scipy, lack of convergence?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2016-05-08
    • 2011-06-05
    • 1970-01-01
    • 2010-10-29
    • 2011-06-25
    相关资源
    最近更新 更多