有哪些易用的c++矩阵库?

2013-11-08 00:33:06 +08:00
 omengye
本人c++小白,一直在用c++的形式来写c。。。今天试了一下据说速度很快Eigen,可是随意求一3×3矩阵特征值的编译时长都超过10秒。。。而且所求的特征值貌似不支持复数,只显示其实部。在matlab里求同样的矩阵的特征值都是秒出结果。请教下各位大大们哪些库能快速处理矩阵?能达到matlab处理时间的就行。
7365 次点击
所在节点    程序员
35 条回复
xdeng
2013-11-08 11:09:55 +08:00
@omengye 怎么可能。。。第一次生成库的 obj 后之后就不用了吧。。。
Ricepig
2013-11-08 11:23:31 +08:00
所以build和clean后再build对C/C++来说,时间差异很大
weigetc
2013-11-08 12:28:49 +08:00
xiaket
2013-11-08 14:17:40 +08:00
Intel的Math Kernel Library, 这个省心, 常见的BLAS, LAPACK什么的都集成到里面了.

正确使用的话, 速度比MATLAB快应该是可以肯定的.
bububut
2013-11-08 14:22:31 +08:00
目前在用这个
http://arma.sourceforge.net/

一般人家说某某库速度快是指运行速度快吧,编译速度快这个要求倒是比较难考察
如果你是常常要改变矩阵值的话,直接写个读文件的程序,就不用每次都编译啦

为什么不直接拿matlab算呢
cdfmr
2013-11-08 15:48:00 +08:00
使用预编译头文件可以提高编译速度
omengye
2013-11-08 16:17:35 +08:00
omengye
2013-11-08 16:23:42 +08:00
@bububut 谢谢,主要是想脱离matlab,所以不愿再拿它来算了
Ricepig
2013-11-08 16:49:31 +08:00
@xiaket 这个太贵了。。。
ispinfx
2013-11-08 17:19:33 +08:00
别搞笑了。。毕业设计的时候自己写的求6W阶的特征值都都用不了几秒。
omengye
2013-11-08 17:30:02 +08:00
@ispinfx 嗯,自己写当然就没这么多事了
xiaket
2013-11-08 23:54:08 +08:00
@Ricepig 那就找来BLAS和LAPACK, 这两个是开源的. 需要自己折腾下, 不过折腾的成本也不高, 正常的话半天可以搞定.
Ricepig
2013-11-09 00:25:58 +08:00
@xiaket fortran的。。。
omengye
2013-11-09 00:31:34 +08:00
@xiaket @Ricepig 用上了armadillo和openblas组合的方式,貌似还不错
xiaket
2013-11-09 07:27:44 +08:00
@Ricepig 貌似很容易就可以找到for c/c++的实现哦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/88473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX