我的问题是:在Python中迭代多项式乘法的最佳方法是什么?在
我想一个有趣的项目是用Python编写一个函数来生成给定次数的Chebyshev多项式的每个项的系数和指数。生成这样一个多项式的递归函数(用Tn(x)表示)是:
With:
T0(x)=1
^{pr2}$T1(x)=x:
Tn(x)=2xTn-1(x)-Tn-2(x)
到目前为止,我所掌握的并不是很有用,但我很难把我的大脑盘绕在如何实现这一点上。我想做的是:
>> chebyshev(4)
[[8,4], [8,2], [1,0]]
此列表表示第4次切比雪夫多项式: T4(x)=8x4-8x2+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
我在网上找到的one solution不起作用,所以我希望有人能给我一些启示。在
关于切比雪夫多项式的更多信息:CSU Fullteron,Wikipedia - Chebyshev polynomials。它们非常酷/有用,并且将一些非常有趣的trig函数/属性结合在一起;值得一读。在
SciPy有一个Chebyshev的实现
http://www.scipy.org/doc/api_docs/SciPy.special.orthogonal.html
我建议你看看他们的代码。在
切比雪夫的最佳实现是:
如果对其他实现(包括显式多项式求值和iteratively computing the recurrence relation)进行测试,这实际上同样快。Try it yourself.。在
一般情况下:
相关问题 更多 >
编程相关推荐