24小时热门版块排行榜    

查看: 1599  |  回复: 2

浪扼逆戟

新虫 (初入文坛)

[求助] 自己写一个c++得求解大型稀疏矩阵库大约有多大规模 已有2人参与

搞流体计算得,准备自己认真学着编程,之前用fortran写锅一个GS松弛迭代的一个算法,写的矩阵规模很小,这次用c++写,准备自己写一个库,还能用来搞搞拟合之类的,我想知道一个大型的系数矩阵(比如上百万阶的)编写的模式跟小型有什么不一样吗?比如说数据的结构,小型的矩阵直接new一个空间就可以了,大型的应该怎么管理内存呢?PS:还有并行计算暂时不考虑
回复此楼

» 猜你喜欢

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

a04051127

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
1 大型稀疏矩阵不可能完整保存整个矩阵,一般采用稀疏存储,只保存其中的非零元素
2 采用稀疏存储后,若直接进行迭代法计算还比较方便。如果需要用直接法或者要进行预处理,那还需要考虑填入元的存储。其数据结构较为复杂。
3 矩阵较大时可能需要采用内外存交换
4 国外有很多开源程序库,不建议完全自己做。
2楼2015-08-28 16:29:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shikang999

新虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
我和楼上的回答可能相反!建议自己写,因为只有自己写存储结构,才能更加深刻理解如何去构造求解算法以及后期一些特殊处理!
    大型稀疏矩阵存储可分两种情况,对称与不对称,对称的可考虑变带宽存储,百万级的,可以用这个!如果更大,可考虑索引存储,矩阵纬度越大内存相对占比越小,但构造求解算法也越高!

[ 发自手机版 http://muchong.com/3g ]
我还是那个我,过去如此,未来亦如此!
3楼2015-08-28 23:04:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 浪扼逆戟 的主题更新
信息提示
请填处理意见