2016-06-07 157 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?