在Sympy中生成勒让德多项式

时间:2015-05-09 08:59:52

标签: python math sympy

我有一个项目,我想使用一组相关的legendre多项式。我有想法使用sympy为一组度和订单生成代码。

我可以同意计算特定值,如文档中所述:http://docs.sympy.org/dev/modules/mpmath/functions/orthogonal.html#legenp

然而,我不能同意获得多项式系数。

>>> from sympy import Symbol
x
>>> x = Symbol('x')

>>> from sympy.mpmath import *

>>> legenp(1, 0, x)

TypeError: cannot create mpf from x

我对同情或其他CAS都不是很有经验,所以我想必须有办法做到这一点,我不知道。

1 个答案:

答案 0 :(得分:1)

你接近错了。来自the documentation

勒让德多项式的系数可以使用度-n泰勒展开来恢复:

>>> for n in range(5):
...     nprint(chop(taylor(lambda x: legendre(n, x), 0, n)))
...
[1.0]
[0.0, 1.0]
[-0.5, 0.0, 1.5]
[0.0, -1.5, 0.0, 2.5]
[0.375, 0.0, -3.75, 0.0, 4.375]