在 Sympy 中生成勒让德多项式

Generating Legendre Polynomials in Sympy

我有一个项目,我想在其中使用一组关联的勒让德多项式。我想到了使用 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

我对 sympy 或其他 CAS 都不是很有经验,所以我想一定有一种我不知道的方法可以做到这一点。

你的做法是错误的。来自 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]