我试图绘制一个函数,其中包含一个带广义Laguerre多项式的项。我知道Mathematica可以使用LaguerreL [n,a,f(x,y)],但我不确定python等价物是什么。我正在尝试scipy.special.genlaguerre(n,a,(f(x,y)),使用x和y作为numpy.arange数组,我想要绘制的值。但我一直在以下错误:
具有多个元素的数组的真值是不明确的。使用a.any()或a.all()
所以我有两个问题:1)我使用special.genlaguerre是否正确? (我想是的)
2)如何修复numpy在这里生成的真值?错误?
答案 0 :(得分:0)
Laguerre多项式仅依赖于一个变量。您想在x,y位置评估它。在您的问题中,您需要的一个变量可能是原点r的半径。
scipy.special.genlaguerre
indeeds生成广义laguerre多项式。它返回一个np.poly1d函数。要对一系列数字进行评估:
rs = np.linspace(0,10)
scipy.special.genlaguerre(1, 0)(rs)
在您的问题中,您尝试将{(x,y)作为monic
参数提供给genlaguerre
如果您需要以非常高的精度评估此多项式,请阅读: Laguerre polynomials in python using scipy, lack of convergence?