我的问题是:Python 中迭代多项式乘法的最佳方法是什么?
我认为一个有趣的项目是用 Python 编写一个函数来为给定次数的切比雪夫多项式生成每个项的系数和指数。生成这样一个多项式(由 T n (x) 表示)的递归函数是:
With:
T 0 (x) = 1
and
T 1 (x) = x:
T n (x) = 2xT n-1 (x) - T n-2 (x)
到目前为止,我所拥有的并不是很有用,但是我在思考如何实现这一点时遇到了麻烦。我想要发生的是以下情况:
>> chebyshev(4)
[[8,4], [8,2], [1,0]]
此列表表示 4 次切比雪夫多项式:T 4 (x) = 8x 4 - 8x 2 + 1
import sys
def chebyshev(n, a=[1,0], b=[1,1]):
z = [2,1]
result = []
if n == 0:
return a
if n == 1:
return b
print >> sys.stderr, ([z[0]*b[0],
z[1]+b[1]],
a) # This displays the proper result for n = 2
return result
我在网上找到的一个解决方案不起作用,所以我希望有人能解释一下。
ps 有关切比雪夫多项式的更多信息:CSU Fullteron、维基百科-切比雪夫多项式。它们非常酷/有用,并且将一些非常有趣的三角函数/属性结合在一起;值得一读。