版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(2890)
>
文献求助
(201)
>
虫友互识
(116)
>
导师招生
(105)
>
休闲灌水
(97)
>
招聘信息布告栏
(50)
>
博后之家
(50)
>
硕博家园
(50)
>
考博
(38)
>
基金申请
(34)
>
论文投稿
(28)
>
论文道贺祈福
(26)
>
公派出国
(26)
>
考研
(19)
>
绿色求助(高悬赏)
(18)
>
教师之家
(16)
小木虫论坛-学术科研互动平台
»
专业学科区
»
数学
»
计算数学
»
稀疏矩阵的处理
13
1/1
返回列表
查看: 2009 | 回复: 12
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
lixy1217
木虫
(著名写手)
应助: 4
(幼儿园)
金币: 4861.1
帖子: 1379
在线: 233.7小时
虫号: 1125891
[交流]
稀疏矩阵的处理
现在感觉数值解PDEs难免要跟稀疏矩阵打交道。所以想跟大家讨论一下是如何在计算中对稀疏矩阵进行操作
偶一直用的是C++,之前曾经尝试用过十字链表,虽然这样可以方便地调用每行每列的数据,但是感觉十字链表的计算效率太低(不知是不是编程技巧的问题)。
由于稀疏矩阵的运算主要是用于矩阵的加减法或矩阵乘向量,而矩阵之间的乘法很少,因此我个人觉得在操作中只需能够方便调用每行就行了,这样便可以用单链表的方式来储存矩阵,那计算效率会高了很多。
不知各位对此的看法如何?
[ 来自科研家族
皇家数理科学协会
]
回复此楼
» 猜你喜欢
求个博导看看
已经有19人回复
论文终于录用啦!满足毕业条件了
已经有13人回复
2025年遐想
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
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
/495
江汉大学招聘AI for Materials/电解液/锂金属/全固态电池等方面的博士或者博士后
+
1
/177
科瑞赛生物内皮细胞培养基试用装限时大放送,助力你的实验高效进阶!
+
1
/90
澳门大学智慧城市物联网国重“结构智能感知、健康监测与无损检测”研究方向博士后招聘
+
1
/79
中科院长春光机所 招收计算材料学博士/硕士研究生(含机器学习辅助材料设计方向)
+
1
/76
江苏科技大学能源材料化学课题组张俊豪教授招收博士研究生1-2名
+
1
/71
国重点实验室双一流A类长江学者团队招2026年全日制博士1-2名/博后1-2名
+
2
/62
新年快乐!祝各位诸事顺遂!
+
1
/41
华中科技大学龚江研究员课题组诚招博士研究生、科研助理和博士后
+
2
/34
南科大薛亚辉课题组诚聘离子输运、低维器件、原子力显微镜等方向“快响行动”博士生
+
1
/28
SCI,计算机相关可以写
+
1
/26
征女友 @长安
+
1
/24
中科院深圳理工大学网络课题组招聘博后/RA/实习生
+
1
/12
吉林大学材料物理本科生求问调剂信息
+
1
/11
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+
1
/7
海南大学化学院—功能分子器件团队博士后招聘
+
1
/3
中国矿业大学黄赳课题组联合中国科学院南京土壤研究所朱晓芳研究员诚聘博士后
+
1
/2
理论计算,可代算,可合作,欢迎交流
+
1
/1
上海交通大学化学化工学院张智涛课题组诚聘博士后
+
1
/1
抗体制剂「隐形杀手」:如何用 QCM-D 实时捕捉亚可见颗粒的形成?
+
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
(幼儿园)
金币: 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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定