24小时热门版块排行榜    

查看: 1514  |  回复: 12

liuchenhan

新虫 (小有名气)

[求助] 求C++高手

本人在编程时需要用到复数矩阵的相乘,求逆;矩阵大小为一万左右;需要在单机和机群linux系统上运行;我想用C++提供的complex库文件,不想建类,哪位大神可以帮帮我,本人对C++不是很懂。解决了可以追加分。非常感谢。
回复此楼

» 收录本帖的淘帖专辑推荐

受奖

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

goldfox_79

金虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
liuchenhan: 金币+2, 有帮助 2013-07-18 10:25:39
如果不讲究效率的话,定义好数据结构,裸写c代码就是了,无非是根据数据结构从数据文件里分行、分列读取数据,求结果,输出结果到数据文件,循环循环

或者可以考虑matlab,把数学底层的东西交给matlab做去,你可以专心于科研问题本身
熊猫军,前进!
2楼2013-07-17 17:48:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

liuchenhan

新虫 (小有名气)

引用回帖:
2楼: Originally posted by goldfox_79 at 2013-07-17 17:48:46
如果不讲究效率的话,定义好数据结构,裸写c代码就是了,无非是根据数据结构从数据文件里分行、分列读取数据,求结果,输出结果到数据文件,循环循环

或者可以考虑matlab,把数学底层的东西交给matlab做去,你可 ...

不讲究效率不行啊,矩阵有一万大小左右,能有现成的C++库函数还是比较好的。
3楼2013-07-18 10:26:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aspen_yang

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
建议自己花点时间学习C++,
大约10天就可以自己回答问题了。
解决问题得时候是学习工具得最好时间。
作为可以利器,c++请学吧。:)
一会百会,对你其他语言工具也有帮助。
看课题组有没有其他同学会编程,
自己写程序才是王道。
4楼2013-07-18 11:28:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goldfox_79

金虫 (正式写手)

引用回帖:
3楼: Originally posted by liuchenhan at 2013-07-18 10:26:57
不讲究效率不行啊,矩阵有一万大小左右,能有现成的C++库函数还是比较好的。...

矩阵大小一万是指矩阵里有一万个元素还是一万乘一万的矩阵?
熊猫军,前进!
5楼2013-07-18 21:22:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
liuchenhan: 金币+5, 有帮助 2013-07-20 09:23:04
事实上你的问题不是使用complex的问题,那能解决的问题只是简化复数的表达而已。你需要的是一个在C++下面的矩阵库,或者C下面的矩阵库。C/C++下面的矩阵库还是挺多的,主要都是在Lapack及其衍生以及Blas系列(OpenBlas,ATLAS)等上面搭的框架(主要用来应对大型矩阵),或者自己实现的一些函数(NewMat,只适合比较小规模的矩阵,而且函数不是很全)。Lapack本身是Fortran的库,但是有转过来的c接口(CLAPACK),也有Lapack++等c++接口。功能强大,但是不是这么好懂。个人比较推荐使用Armadillo这个库,它底层使用Lapack或者其优化实现版本(比如MKL等),或者使用各种Blas实现库,但是本身提供了很好的封装,相对比较好懂。个人一直在使用,NASA这么大的机构也在使用,可以尝试一下。
www.cvdelver.com
6楼2013-07-19 14:59:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuchenhan

新虫 (小有名气)

引用回帖:
6楼: Originally posted by 木叶清风 at 2013-07-19 14:59:55
事实上你的问题不是使用complex的问题,那能解决的问题只是简化复数的表达而已。你需要的是一个在C++下面的矩阵库,或者C下面的矩阵库。C/C++下面的矩阵库还是挺多的,主要都是在Lapack及其衍生以及Blas系列(OpenB ...

敢问风哥,你用的是vc++6.0吗?有没有详细步骤啊,非常感谢。
7楼2013-07-20 14:41:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snhh

新虫 (小有名气)

【答案】应助回帖

这么大的数组, 需要把它分作若干小块分别计算才行, 你应该去查阅文献有没有算法
8楼2013-07-20 20:24:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

引用回帖:
7楼: Originally posted by liuchenhan at 2013-07-20 14:41:53
敢问风哥,你用的是vc++6.0吗?有没有详细步骤啊,非常感谢。...

我不会用这种老掉牙的vc的,我现在用vs2012和vs2013 preview。步骤比较简单,你按照官方文档配置就可以用了
www.cvdelver.com
9楼2013-07-21 07:50:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuchenhan

新虫 (小有名气)

引用回帖:
8楼: Originally posted by snhh at 2013-07-20 20:24:16
这么大的数组, 需要把它分作若干小块分别计算才行, 你应该去查阅文献有没有算法

嗯,这个我知道,谢谢。

[ 发自小木虫客户端 ]
10楼2013-07-21 09:09:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liuchenhan 的主题更新
信息提示
请填处理意见