Fortran Coder

查看: 10750|回复: 9
打印 上一主题 下一主题

[求助] 关于动态数组的问题

[复制链接]

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

楼主
发表于 2015-12-5 09:17:40 | 显示全部楼层
http://people.sc.fsu.edu/~jburkardt/c_src/csparse/csparse.html
Tim Davis写的基于C的稀疏矩阵计算库,也是MATLAB的稀疏矩阵库的早期版本
配合Direct Methods for Sparse Linear Systems, Timothy A. Davis, SIAM, Philadelphia, Sept. 2006.
愿意花半年把这本书啃掉,并拿下C与F混合编程,lz在中国大陆地区的稀疏矩阵编程与计算个人能力排名挤进前25%毫无压力

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

沙发
发表于 2015-12-10 07:24:49 | 显示全部楼层
不可压缩 发表于 2015-12-7 20:05
没这么大野心啊,我是搞有限元的,求解只是一个工具。
感谢提供的信息

可惜了,搞不好总刚还是一维变带宽存储或者二维等带宽存储?
CSR、CSC和COO的说明与转换程序,ivf的帮助文档其实写得很明白,主流也就这三种

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

板凳
发表于 2015-12-16 09:02:28 | 显示全部楼层
本帖最后由 pasuka 于 2015-12-16 10:12 编辑
不可压缩 发表于 2015-12-15 21:29
有兴趣我们可有交流一下。

我现在的方法是一行一行地组装总刚,依次将该行的非零元素存入上文提到的 vec ...

1、总刚的非零元素个数为啥不能提前算出来?
一维变带宽已经把外圈包络线算出来,包络线内部的零块当然也能算。Bathe和辛克维奇早年的计算机内存太小,再者是LDLT分解不配合AMD这类重排算法的话,零元位置会出现大量非零元,反倒是一维变带宽配合LDLT分解+RCM重排来得实在,但是现在已经扬弃这类办法了。
至于新方法,中文的详见北大的袁明武、陈璞老师以及新科院士田红旗老师的相关论文。此外,数据结构的基础也是必不可缺的,至少得明白各种排序、链表以及hash表
2、CSR、CSC和COO等等,详见ivf的MKL帮助文档的稀疏矩求解章节
btw,多上sourceforge、github以及MATLAB的file exchange上面看看别人写的有限元代码,收获会很多的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-19 21:09

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表