wayne 发表于 2012-9-1 14:47:57

Mathematica自带有第二类切比雪夫多项式的函数.所以,
总结mathe的思路,只需这样实现:
V := Sqrt == 1 -> 1, {n, n}], #[]]*#[] & /@ CoefficientRules, x]]]]

mathe 发表于 2012-9-2 20:07:07

上面的代码最后需要开平方,有点浪费计算量。由于考虑到m和n必须有一个是偶数的时候结果才非零,不妨设m=2s,我们可以将结果改写成:
$||\Prod_{j=1}^s U_n( i*cos((2j*pi)/(m+1)))||$
如果记函数
$f_s(x)=\Prod_{j=1}^s (x-2cos(2j*pi))$
那么用$f_s(x)$代替上面程序中$U_m(x)$最后就不需要开根号了,而$f_s(x)$也是整系数多项式

wayne 发表于 2012-9-3 16:24:38

22# mathe
mathe总是站在制高点!
更正一下:
$f_s(x)=\Prod_{j=1}^s (x-2cos({2j*pi}/{2s+1}))$
=================
现在的问题就是能否得到 $f_s(x)$的递推公式,也即是它的行列式形式

mathe 发表于 2012-9-3 19:43:06

http://topic.csdn.net/u/20120827/20/bb3b425b-e527-451f-9215-bf754f01e114.html?22179

wayne 发表于 2012-9-3 21:29:55

24# mathe
发现还是原版的效率高一些,而且数据越大, 与原版的效率差距还拉大.

mathe 发表于 2012-9-3 21:54:29

那看来瓶颈在矩阵计算,不在行列式计算

mathe 发表于 2012-9-3 21:56:42

还有可能是原方法只要整数阵,而新方法用到高斯整数
页: 1 2 [3]
查看完整版本: 用1*2的骨牌覆盖m*n的矩形