稀疏矩阵插入元素用什么结构存储?
一、稀疏矩阵插入元素用什么结构存储
稀疏矩阵插入元素,由于边界条件的变化导致你的矩阵稀疏性的变化,通常的做法是根据网格的物理位置关系建立矩阵稀疏形式,利用另外一个数组来标记边界条件。在求解矩阵方程时,结合这个标记数组来求解。
sparse matrix 定义
一个m*n的矩阵M,可以直接用3个一维矩阵矩阵表示(A, IA, JA),现在用NNA标记为M矩阵中不是0的数量
1.一维矩阵A长度等于NNA,矩阵A保存着所有M矩阵中非0元素,顺序按照M矩阵从左到右,从上到下顺序。
2.一维矩阵IA
– IA[0]=0
– IA[i] = IA[i-1]+在i-1行上所有非0元素的个数
3.一维矩阵JA,对应A矩阵中每个元素所对应行的列号
例如:
是一个4×4的带有4个非0的矩阵
这个矩阵能用下列3个一维矩阵表示
A = [ 5 8 3 6 ]
IA = [ 0 0 2 3 4 ]
JA = [ 0 1 2 1 ]
延伸阅读:
二、DIA
DIA格式是对于矩阵元分布在主对角线以及主对角线附近的稀疏矩阵,采取这种存储方式比较有效。如下面的例子。我们沿着对角线划分矩阵,主对角线的指标为0,左下方的对角线依次用-1,-2 等表示,右上方的对角线分布用1,2,3等表示。例子中仅有0,-2,1三条对角线的矩阵元不为零。因此用一个4×3的矩阵存储这些矩阵元,每一列代表其中的一条对角线。由于次对角线的长度小于行的长度。因此对于左下方的对角线的元素,从下往上存储,而右上方的对角线从上往下存储。

猜你喜欢LIKE
相关推荐HOT
更多>>
Sequel Pro的Windows版替代品及优缺点是什么?
一、Sequel Pro的Windows版替代品及优缺点通过客户端方式的,免费的有MySQL Workbench,MySQL官方出品;收费的有Navicat,挺出名的也挺好用。通...详情>>
2023-10-20 23:39:05
对于大流量的网站,采用什么样的方法来解决各页面访问量统计问题?
一、对于大流量的网站解决各页面访问量统计问题的方法1、使用日志分析工具日志分析工具可以记录每一个用户访问网站的请求,并根据相应的日志信...详情>>
2023-10-20 22:41:13
为什么不推荐使用try-with-finally处理Java异常?
一、不推荐使用try-with-finally处理Java异常的原因1、代码冗余使用 try-with-finally 时,需要在 finally 块中编写释放资源的代码,这可能导致...详情>>
2023-10-20 21:12:04
KVO的本质是什么?
一、KVO的本质KVO(Key-Value Observing)是指在软件开发中一种观察者模式的实现,它允许对象监听其他对象特定属性的变化,并在属性值发生改变...详情>>
2023-10-20 20:38:54热门推荐
Sequel Pro的Windows版替代品及优缺点是什么?
沸SQL/Oracle数据库是怎样与GIS的应用相联系起来的?
热对于大流量的网站,采用什么样的方法来解决各页面访问量统计问题?
热常见的软件设计模式有哪些?
新Mysql为什么只能支持2000w左右的数据量?
为什么不推荐使用try-with-finally处理Java异常?
KVO的本质是什么?
Java中CycliBarriar和CountdownLatch的区别?
为什么列存储数据库读取速度会比传统的行数据库快?
为什么要学IO模型?
LayoutInflater.inflate()方法两个参数和三个参数的区别?
Python传参传什么?
为什么GIL让多线程变得如此鸡肋?
web前端开发学习路线?
技术干货






