24小时热门版块排行榜    

查看: 424  |  回复: 4

liuhuisfp

金虫 (小有名气)

[求助] 如何高效的实现这样一个公式

如题:


[ Last edited by liuhuisfp on 2012-8-4 at 13:27 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liqx

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
liuhuisfp: 金币+1, 有帮助 2012-08-17 21:38:52
怎么叫高效?
计算量多大,硬件资源如何?是否需要重复计算多次?

体系小的时候无需考虑效率。体系大的时候需要考虑硬件,内存大可以牺牲内存节省CPU,CPU好可以牺牲CPU节省内存,再进一步还可以考虑并行。

像这种问题,如果f1,f2,f3已知,只是个简单的乘法和加法,不考虑硬件的情况下就简单的用矩阵运算好了。
2楼2012-08-04 15:53:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhuisfp

金虫 (小有名气)

引用回帖:
2楼: Originally posted by liqx at 2012-08-04 15:53:04
怎么叫高效?
计算量多大,硬件资源如何?是否需要重复计算多次?

体系小的时候无需考虑效率。体系大的时候需要考虑硬件,内存大可以牺牲内存节省CPU,CPU好可以牺牲CPU节省内存,再进一步还可以考虑并行。

...

这是量化中计算双电子积分时遇到的,函数是同一个函数,只是跑标不同(不相关),是另外一个函数,但是计算是三个式子的跑标是有关系,如公式中表示的。

跑标最大目前假定为10,如果用一个六层循环,仅循环就有1000000次,是不可接受的。有没有好的办法减少循环嵌套层数。
3楼2012-08-04 19:34:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

引用回帖:
3楼: Originally posted by liuhuisfp at 2012-08-04 19:34:58
这是量化中计算双电子积分时遇到的,函数f_{1}(i, j, k)和f_{2}(i, j, k)是同一个函数,只是跑标不同(不相关),f_{3}(i+l, j+m, k+n)是另外一个函数,但是计算是三个式子的跑标是有关系,如公式中表示的。

跑 ...

里面的那个求和有可能可以用FFT加速下,多像Convolution啊,如果l,m,n是负的话。。。
4楼2012-08-05 01:33:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhuisfp

金虫 (小有名气)

引用回帖:
4楼: Originally posted by wangww2011 at 2012-08-05 01:33:16
里面的那个求和有可能可以用FFT加速下,多像Convolution啊,如果l,m,n是负的话。。。...

thank you, 多谢提醒,还不了解FFT,去研究一下,哈哈
5楼2012-08-05 10:03:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liuhuisfp 的主题更新
信息提示
请填处理意见