2016-06-07 159 views
0

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

阵列的与一个以上的元件是不明确的真值使用a.any()或a.all()

所以我有2个问题:1)我在使用特殊的校正。 genlaguerre? (我认为是)

2)我该如何解决numpy在这里产生的真值误差?

+0

也许试试[sympy](http://www.sympy.org/en/index.html)软件包? –

回答

0

拉盖尔多项式只依赖于一个变量。你想评估它在x,y的位置。在你的问题中,你需要的变量可能是原点r的半径。

scipy.special.genlaguerre indeeds生成广义laguerre多项式。它返回一个np.poly1d函数。在一系列数字的评价是:

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

在你的问题,你试着为monic参数如果您需要在非常高的精度评估该多项式供应F(X,Y),以genlaguerre

,请阅读: Laguerre polynomials in python using scipy, lack of convergence?