版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3657)
>
文献求助
(378)
>
导师招生
(356)
>
虫友互识
(343)
>
休闲灌水
(176)
>
基金申请
(137)
>
博后之家
(114)
>
考博
(106)
>
论文投稿
(106)
>
招聘信息布告栏
(73)
>
硕博家园
(73)
>
教师之家
(62)
>
绿色求助(高悬赏)
(46)
>
考研
(44)
>
SciFinder/Reaxys
(31)
>
找工作
(29)
小木虫论坛-学术科研互动平台
»
专业学科区
»
数学
»
计算数学
»
稀疏矩阵的处理
13
1/1
返回列表
查看: 2005 | 回复: 12
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4861.1
帖子: 1379
在线: 233.7小时
虫号: 1125891
[交流]
稀疏矩阵的处理
现在感觉数值解PDEs难免要跟稀疏矩阵打交道。所以想跟大家讨论一下是如何在计算中对稀疏矩阵进行操作
偶一直用的是C++,之前曾经尝试用过十字链表,虽然这样可以方便地调用每行每列的数据,但是感觉十字链表的计算效率太低(不知是不是编程技巧的问题)。
由于稀疏矩阵的运算主要是用于矩阵的加减法或矩阵乘向量,而矩阵之间的乘法很少,因此我个人觉得在操作中只需能够方便调用每行就行了,这样便可以用单链表的方式来储存矩阵,那计算效率会高了很多。
不知各位对此的看法如何?
[ 来自科研家族
皇家数理科学协会
]
回复此楼
» 猜你喜欢
自荐读博
已经有8人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
自然科学基金委宣布启动申请书“瘦身提质”行动
已经有4人回复
求个博导看看
已经有18人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
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
/176
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+
1
/87
山东征女友,坐标济南
+
1
/79
昆明理工大学冶能院离子液体冶金课题组招收博士
+
1
/65
2026博士申请——有机化学\计算化学\药物化学方向
+
1
/44
北京林业大学木质素高值化利用创新团队招收2026年入学博士生
+
1
/34
暨南大学理工学院 光子技术研究院段宣明团队申请制读博招生
+
1
/28
南科大夏海平院士-深大张平玉课题组联合招聘博士后
+
1
/24
长江学者团队招聘药学/生物信息学等方向高校教师7名(地点杭州、有事业编)+博后5名
+
1
/22
中科院动物所招收2026年博士生(优先少干专项计划、化学或生命科学背景)
+
1
/17
吉林大学材料物理本科生求问调剂信息
+
1
/12
重庆大学前沿院,黄小洋教授课题组,招收2026年非均相催化方向学术博士2名
+
1
/9
中国科学院苏州纳米所院士团队博士后岗位招聘
+
1
/9
华中科技大学-招收2026年博士研究生
+
4
/8
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+
2
/8
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+
1
/8
代算!材料学理论计算
+
1
/7
上海交通大学浦江国际学院 2026年度“科研见习项目”报名通知
+
1
/3
上海理工大学“新能源材料”专业-赵斌教授招收申请考核制博士生【能源催化方向】
+
1
/3
上海理工大学 生物医学工程专业 招收2026年全日制博士生一名
+
1
/2
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
(幼儿园)
金币: 4861.1
帖子: 1379
在线: 233.7小时
虫号: 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
(幼儿园)
金币: 4861.1
帖子: 1379
在线: 233.7小时
虫号: 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
(幼儿园)
金币: 4861.1
帖子: 1379
在线: 233.7小时
虫号: 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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定