Python中的迭代多项式乘法Chebyshev多项式

2024-05-29 10:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是:在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 FullteronWikipedia - Chebyshev polynomials。它们非常酷/有用,并且将一些非常有趣的trig函数/属性结合在一起;值得一读。在


Tags: 项目方法函数returnifwithsysresult
2条回答

SciPy有一个Chebyshev的实现

http://www.scipy.org/doc/api_docs/SciPy.special.orthogonal.html

我建议你看看他们的代码。在

切比雪夫的最佳实现是:

// Computes T_n(x), with -1 <= x <= 1
real T( int n, real x )
{
  return cos( n*acos(x) ) ;
}

如果对其他实现(包括显式多项式求值和iteratively computing the recurrence relation)进行测试,这实际上同样快。Try it yourself.。在

一般情况下:

  • 显式多项式求值最差(对于大n)
  • 递归计算好一点
  • 余弦评价是最好的

相关问题 更多 >

    热门问题