版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(4327)
>
虫友互识
(385)
>
文献求助
(354)
>
基金申请
(235)
>
导师招生
(174)
>
论文投稿
(98)
>
博后之家
(83)
>
休闲灌水
(83)
>
招聘信息布告栏
(69)
>
论文道贺祈福
(62)
>
硕博家园
(56)
>
找工作
(54)
>
考博
(44)
>
教师之家
(42)
>
公派出国
(33)
>
考研
(31)
小木虫论坛-学术科研互动平台
»
专业学科区
»
数学
»
计算数学
»
稀疏矩阵的处理
13
1/1
返回列表
查看: 2575 | 回复: 12
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4624.1
帖子: 1381
在线: 234.3小时
虫号: 1125891
[交流]
稀疏矩阵的处理
现在感觉数值解PDEs难免要跟稀疏矩阵打交道。所以想跟大家讨论一下是如何在计算中对稀疏矩阵进行操作
偶一直用的是C++,之前曾经尝试用过十字链表,虽然这样可以方便地调用每行每列的数据,但是感觉十字链表的计算效率太低(不知是不是编程技巧的问题)。
由于稀疏矩阵的运算主要是用于矩阵的加减法或矩阵乘向量,而矩阵之间的乘法很少,因此我个人觉得在操作中只需能够方便调用每行就行了,这样便可以用单链表的方式来储存矩阵,那计算效率会高了很多。
不知各位对此的看法如何?
[ 来自科研家族
皇家数理科学协会
]
回复此楼
» 猜你喜欢
生命口会评
已经有6人回复
27届辽宁大学应届毕业生申博
已经有3人回复
关于如何从代码看上不上会
已经有23人回复
大龄残疾硕士的一点执念
已经有25人回复
今年E04面上
已经有22人回复
chemdraw
已经有6人回复
祈祷青基必中
已经有10人回复
b口会评
已经有6人回复
信息学部会评时间
已经有3人回复
在职考研
已经有7人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab稀疏矩阵问题求教
已经有3人回复
求大神帮忙解病态线性方程组
已经有5人回复
fortran到底怎么弄稀疏矩阵啊?
已经有8人回复
matlab中建立稀疏矩阵组并操作
已经有4人回复
用fortran存储稀疏矩阵
已经有4人回复
【分享】Direct MEthods for Sparse Linear Systems (稀疏矩阵,基本算法)
已经有76人回复
图像恢复或去噪中构造方程组的问题(matlab)
已经有3人回复
大型非对称稀疏矩阵求解
已经有9人回复
matlab 如何处理大规模矩阵???大家帮帮忙吧。急
已经有5人回复
【求助】请问如何解决insufficient virtual memory
已经有10人回复
【求助】解大型稀疏矩阵的问题
已经有6人回复
【求助】急问,如何将一个稀疏的9000阶矩阵,导入 mathlab 进行数值计算?万谢!
已经有3人回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
实验室技术孵化和中试技术转让
+
1
/1970
filecode有几个((JTJC))
+
1
/562
]青岛市人才引进直事业编,93年,985硕,180 70,爱好弹吉他唱歌
+
1
/140
中国医学科学院苏州系统医学研究所胡士斌课题组科研助理招聘
+
1
/44
北京师范大学(珠海)电催化方向招收2027年硕士研究生化学或材料方向
+
1
/33
厦门大学张桥保教授团队招收2027年硕士/博士研究生以及博士后(材料、化学方向)
+
1
/31
海南大学化学院,招聘2026科研助理,博士,博士后
+
1
/31
【招聘】河南大学未来技术学院(量子信息)诚聘海内外英才
+
1
/30
美国圣路易斯大学招聘生物信息学博士后
+
1
/29
中国科学院赣江创新研究院李庭刚研究员团队招收与江西理工大学联合培养博士生
+
1
/29
985高校北京理工大学珠海校区高效催化与能源转化团队招收推免生,长期有效
+
1
/26
华南理工大学电力学院雪映教授招收博士生(2027年秋季入学)
+
2
/22
干细胞毒理学研究组招收2027年硕博
+
1
/11
力学研究所某专项团队支撑岗位和特别研究助理岗位招聘启事
+
1
/3
诚聘智慧农业方向博士教师
+
1
/3
北理工集成电路杰青团队 | 诚招科助理
+
1
/2
圣路易斯华盛顿大学管建均教授课题组招聘博士后(2名)
+
1
/2
Forestry Economics Review(《林业经济评论》)2026年第一期正式上线
+
1
/2
上市公司招聘固废裂解处理博士与人工智能博士,可接受应届,需入站
+
1
/1
武汉理工大学刘鹏飞院士团队招聘科研助理
+
1
/1
1楼
2013-04-04 09:40:55
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
donau
银虫
(小有名气)
应助: 10
(幼儿园)
金币: 176.9
帖子: 137
在线: 31.7小时
虫号: 2391301
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
纯计算的话,fortran简单的多喽!
赞
一下
回复此楼
2楼
2013-04-04 23:06:26
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
lixy1217: 金币+1
2013-04-06 11:03:38
如果要求调用矩阵中(i,j)元素的下面(i+1,j)元素怎么办?
用稀疏存储就是用时间换取空间,没有完全节省的,必然会以另外的东西作为代价。
赞
一下
回复此楼
3楼
2013-04-05 16:33:52
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4624.1
帖子: 1381
在线: 234.3小时
虫号: 1125891
引用回帖:
3楼
:
Originally posted by
hfj1988
at 2013-04-05 16:33:52
如果要求调用矩阵中(i,j)元素的下面(i+1,j)元素怎么办?
用稀疏存储就是用时间换取空间,没有完全节省的,必然会以另外的东西作为代价。
可能还是要具体问题具体方法吧。一般用差分或者有限元解PDE时,每一行的非零元素都很少,从 i+1 行开始寻找到(i+1,j)需要的时间可忽略,相比之下,要在十字链表中把所有元素串起来确实很费时。
不过你说的很有道理。有些问题总体耗时本来就很少,主要考虑空间因素,此类问题用十字链表就既节省内存又方便操作。可是PDE的计算,时间是一个很重要的问题,所以根本就不能用十字链表。
赞
一下
回复此楼
4楼
2013-04-06 11:03:19
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
4楼
:
Originally posted by
lixy1217
at 2013-04-06 11:03:19
可能还是要具体问题具体方法吧。一般用差分或者有限元解PDE时,每一行的非零元素都很少,从 i+1 行开始寻找到(i+1,j)需要的时间可忽略,相比之下,要在十字链表中把所有元素串起来确实很费时。
不过你说的很有 ...
差分或者有限元解PDE,都是稀疏矩阵,而且非零元素都集中在对角线的一定的带宽里面(如果编码得当的话),可用带宽存储(有变带宽和定带宽),这样存储量少,而且计算速度我认为比链表存储快。
如果所求的稀疏矩阵没有这样的性质(非零元素集中在对角线附近),那么为了节省存储量就不得已用链表了。
我是这样认为的,不知道是否正确。
赞
一下
回复此楼
5楼
2013-04-07 14:08:35
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4624.1
帖子: 1381
在线: 234.3小时
虫号: 1125891
引用回帖:
5楼
:
Originally posted by
hfj1988
at 2013-04-07 14:08:35
差分或者有限元解PDE,都是稀疏矩阵,而且非零元素都集中在对角线的一定的带宽里面(如果编码得当的话),可用带宽存储(有变带宽和定带宽),这样存储量少,而且计算速度我认为比链表存储快。
如果所求的稀疏矩 ...
一维问题得到的是带宽矩阵。可多维问题就不是的了,所以这也是比较麻烦的地方
赞
一下
回复此楼
6楼
2013-11-16 17:16:07
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
6楼
:
Originally posted by
lixy1217
at 2013-11-16 17:16:07
一维问题得到的是带宽矩阵。可多维问题就不是的了,所以这也是比较麻烦的地方...
多维问题也是带状稀疏矩阵,只不过带宽跟自由度的编码有关系。
赞
一下
回复此楼
7楼
2013-11-16 21:50:06
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
6楼
:
Originally posted by
lixy1217
at 2013-11-16 17:16:07
一维问题得到的是带宽矩阵。可多维问题就不是的了,所以这也是比较麻烦的地方...
多维问题也是带状稀疏矩阵,只不过带宽跟自由度的编码有关系。
赞
一下
回复此楼
8楼
2013-11-16 22:22:25
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4624.1
帖子: 1381
在线: 234.3小时
虫号: 1125891
引用回帖:
8楼
:
Originally posted by
hfj1988
at 2013-11-16 22:22:25
多维问题也是带状稀疏矩阵,只不过带宽跟自由度的编码有关系。...
多维问题怎么可能会弄成带状呢?每个点都有2N个相邻元素,这2N个元素又互不相邻,可矩阵的元素在每一行只有两个相邻。除非搞成多维矩阵,不过那样应该会更麻烦了吧?
赞
一下
回复此楼
9楼
2013-11-17 08:15:35
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
9楼
:
Originally posted by
lixy1217
at 2013-11-17 08:15:35
多维问题怎么可能会弄成带状呢?每个点都有2N个相邻元素,这2N个元素又互不相邻,可矩阵的元素在每一行只有两个相邻。除非搞成多维矩阵,不过那样应该会更麻烦了吧?...
举个简单的例子,二维,一致剖分下,线性元,有限元离散得到的矩阵和5点差分格式一样.
赞
一下
回复此楼
10楼
2013-11-17 16:26:41
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
用matlab sparse,
关于矩阵稀疏存储有好多方法,最经理的有CSR和COO
google下 sparskit
matlab 的稀疏矩阵就用CSR存储的,有各种存储格式之间的转换,比如COO->CSR
我建议,你没有必要自己去编底层的这些代码,别人有的为什么不拿来为自己所用?
赞
一下
回复此楼
11楼
2013-11-17 16:35:03
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
hfj1988
新虫
(小有名气)
应助: 4
(幼儿园)
金币: 1057.2
帖子: 185
在线: 115.2小时
虫号: 2138982
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
你也是计算数学的啊,请问你做哪一方向?
赞
一下
回复此楼
12楼
2013-11-17 16:44:21
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
onesupeng
金虫
(职业作家)
数学EPI: 17
应助: 256
(大学生)
贵宾: 1.36
金币: 2336.2
帖子: 4583
在线: 1303.8小时
虫号: 394701
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
我也是实在看不下去了,而版主对于我等认真回复的人有没有什么特别的鼓励,连个EPI都吵来吵去舍不得放
所以我只能说有一种存储叫“压缩存储”,有一本参考文献是:
Yousef Saad Interative methods for sparce linear system
赞
一下
回复此楼
13楼
2013-11-19 21:24:58
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
数理科学综合
机械
物理
数学
农林
食品
地学
能源
信息科学
土木建筑
航空航天
转基因
我要订阅楼主
lixy1217
的主题更新
13
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定