关于Chebyshev多项式函数代码实现问题( 二 )
。
■网友
切比雪夫多项式的另一种表达形式是:
至少在Intel的SSE指令集中,cos和acos都是有直接的硬件指令的。
用C的话,参考这里Intrinsics Guide。
你需要了解一下你用的编译器怎么使用SSE的Intrinsics。
■网友
你只需要存两个变量,一个 T(n-1),一个 T(n-2),就能算出 T(n) 了。随着 n 增大,T(n-1)、T(n-2) 也跟着变就行了。并不需要把 T(1) 到 T(n) 全存在一个数组里面。
所以最简单的实现就是这种样子:def chebyshev(n, x): if n == 0: return 1 elif n == 1: return x t2, t1 = 1, x for i in range(1, n): t = 2 * x * t1 - t2 t2, t1 = t1, t return t
■网友
也没什么好的方法,只能避免使用递归。如果你的计算种类不多,比如说x和n的值只有几种,建议适应使用查表法,比如说提前全部或者部分展开结果,然后通过查询的方式减少计算过程。
■网友
chebyshev多项式相比较legendre多项式的优势之处除了可以做fft加速以外,另一个优势在于表达式是可以直接由cos(narccos(x))得到,而不需要反复递归。
推荐阅读
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- 雨下|全球关于禁售燃油车只是理论上可行吗
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 智叔|很多家长还在整箱买:谈谈关于牛奶的17个真相警惕这些列入黑名单的“假牛奶”
- 关于微信小程序的思考:运营者该何去何从
- 关于人工智能虚拟人的一些问题
- 知乎上关于人生经验的介绍是否可能对青少年造成潜在危害
- 写下我关于做数据分析专员的困惑和各位的建议是
- 非物质文化遗产|市北文体中心一场关于“非遗”的盛会…
