c++中进行矩阵运算如何才能比matlab快?可以用哪个函数库?

 我来答
cl65agm
2013-06-23 · TA获得超过190个赞
知道答主
回答量:96
采纳率:0%
帮助的人:58.7万
展开全部
欧巴不知道你值的是那些操作,如果是乘法,算法所限,你不可能有本质的提高。又比如求逆,相信广大屌丝程序员立马会意识到:高斯-乔丹,小于五阶用伴随除矩阵以行列式,然后用SSE优化浮点速度。想再快就得去翻论文了,可是matlab那群鸟人,就是写论文的人,他们的数学知识是我等码农无法相比的,而matlab十几年前就在做SSE优化。你唯一能做的就是算法上的突破,一旦逆袭高斯-乔丹算法,你必将为国争光,名垂青史。
不过作为一个屌丝,你得明白,必须要抓住一切机会逆袭,因为题目只要求快,其他的限制一概没有,而matlab好像只有在特定情况下,才会有并行支持,所以逆袭计划如下:
1 去换块好的显卡,最好是geforce泰坦.
2 去下个opencl
3 把数据发到泰坦上,开个1000条线程算,就用最通用G-J算法好了。
4 完爆matlab。
其实在着色器里算,更快,因为着色器对程序的控制流程有一定限制,目的就是为了速度,而且着色器的并行程度比matlab高。
当然你也许会问,你这屌丝都懂的问题,别人matlab怎么可能不知道?他们还真知道,不过matlab需要支持任意精度,而且他不知道你啥时候需要并行,啥时候不需要,也不知道你的显卡是啥。至于最新的matlab版本是否支持基于GPU的并行计算,这个俺也不知道,好久没玩过了。如果支持的话,你就省事了。
其实你可以去关注一下并行计算的三方库,特别是那些支持OpenCL的。
Tracyyongsunny
2013-06-23
知道答主
回答量:33
采纳率:0%
帮助的人:16.5万
展开全部
用高斯约旦算法就是最佳的了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaizheng8
2013-06-23 · TA获得超过361个赞
知道小有建树答主
回答量:369
采纳率:50%
帮助的人:372万
展开全部
C++有专门算矩阵的库吗?想更快就自己写算法吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式