稀疏(sparsity)矩阵的行压缩存储

article/2025/10/25 10:20:04


压缩矩阵行或列来存储矩阵的格式是很普遍的,它们不会存储不必要的元素(即空值)。但是它们也不是非常有效的,当在一个矩阵-向量积或预解决的每个简单标量中需要间接寻址。行压缩存储方式会把一个稀疏矩阵行的非零数值放在连续的存储空间。

假设我们有一个非对称的稀疏矩阵A


我们先定义3个向量:

一个浮点类型:val      

两个整型:col_ind , row_ptr

val向量用于存储矩阵A的非零元素值,从第一行开始遍历。col_ind 向量用于存储 val 向量中值对应的列索引(这里下标从0开始)。如下图:


也就是说,如果 val (k) = Ai,j 那么 col_ind = j

向量 row_ptr 用于存储每行中第一非零元素的在 col_ind 中的位置,如:第一行中的一个非零元素为10在 col_ind 向量中的位置为1,第二行中的第一个非零元素3在  col_ind 向量中的位置为3,这样以此类推,可得到如下向量:

如果 val (k) =Ai,j 那么有 row_ptr(i)<= k < row_ptr(i+1)


如果我们的稀疏矩阵是对称的,那么我们只需要存储上三角(或下三角)即可。





http://chatgpt.dhexx.cn/article/Pf9e5Goq.shtml

相关文章

redis删除锁

redis删除锁 参考&#xff1a;百度安全验证 前言 在分布式系统中&#xff0c;由于redis分布式锁相对于更简单和高效&#xff0c;成为了分布式锁的首先&#xff0c;被我们用到了很多实际业务场景当中。 但不是说用了redis分布式锁&#xff0c;就可以高枕无忧了&#xff0c;如…

Redis进阶: 锁的使用

Redis进阶: 锁的使用 1. 概念1. 原子性2. 事务 2. 使用Redis构建全局并发锁3. Redlock&#xff08;redis分布式锁&#xff09;总结 相关Blog 1. 概念 1. 原子性 原子性 原子性是数据库的事务中的特性。在数据库事务的情景下&#xff0c;原子性指的是&#xff1a;一个事务&…

redis锁的几种实现

1. redis加锁分类 redis能用的的加锁命令分表是INCR、SETNX、SET 2. 第一种锁命令INCR 这种加锁的思路是&#xff0c; key 不存在&#xff0c;那么 key 的值会先被初始化为 0 &#xff0c;然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时&#xff0…

java redis锁_Java中Redis锁的实现

由于具体业务场景的需求,需要保证数据在分布式环境下的正确更新,所以研究了一下Java中分布式锁的实现。 Java分布式锁的实现方式主要有以下三种: 数据库实现的乐观锁 Redis实现的分布式锁 Zookeeper实现的分布式锁 其中,较常用的是前两种方式,但是数据库实现方式需要较多的…

Redis的分布式锁详解

一、什么是分布式锁&#xff1a; 1、什么是分布式锁&#xff1a; 分布式锁&#xff0c;即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题&#xff0c;而分布式锁&#xff0c;就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是&…

redis锁

一、redis锁的实现 加锁命令&#xff1a; SETNX key value&#xff1a; 当键不存在时&#xff0c;对键进行设置操作并返回成功1&#xff0c;否则返回失败0。 Key是锁的唯一标识&#xff0c;一般按业务来决定命名&#xff1b; Value 往往用来比较加锁的是哪一个线程或者哪一个…

超图 hypergraph 二分图 Bipartite graph

超图是什么 超图超图的意义应用 二分图 超图 超图是什么&#xff1f; 超图的本质特征在于它的超边&#xff0c;它可以连接两个以上的结点(包括两个)。按这样的意义来说&#xff0c;我们所熟悉的普通图只是超图的一个特例而已&#xff0c;而超图则定义了一个更加宽泛的图。 超图…

BiNE: Bipartite Network Embedding 阅读笔记

论文传送门 作者 华东师范大学&#xff1a; 高明周傲英Leihui Chen 中国科学技术大学&#xff1a;何向南 摘要 传统的学习图数据的节点表示的方法大都聚焦于一般的同构网络&#xff0c;忽略了二部图的特殊性质。因此这些方法对于二部图嵌入来说可能是次优的。 本文提出了B…

C#,图论与图算法,二分图(Bipartite Graph)最佳二分匹配(Maximum Bipartite Matching)算法与源程序

二部图中的匹配是一组边的选择方式&#xff0c;使两条边不共享一个端点。最大匹配是最大大小&#xff08;最大边数&#xff09;的匹配。在最大匹配中&#xff0c;如果向其添加任何边&#xff0c;则该边不再是匹配。对于给定的二部图&#xff0c;可以有多个最大匹配。 我们为什…

【论文精读】Bipartite network projection and personal recommendation

一、Introduction 在过去的几年里&#xff0c;人们对复杂网络进行了大量的研究&#xff0c;一类特殊的网络是二部网络&#xff08;bipartite network&#xff09;。特点是其节点可分割为两个互不相交的子集X和Y&#xff0c;连接只允许存在于不同集合中两个节点之间。例如人类的…

【一致性仿真】Group-Bipartite Consensus in the Networks With Cooperative-Competitive Interactions

文章链接&#xff1a;Group-Bipartite Consensus in the Networks With Cooperative-Competitive Interactions 仿真图Fig3&#xff1a; MATLAB代码 % Group-Bipartite Consensus in the Networks With Cooperative-Competitive Interactions % Protocol Simulation Results …

C#,图论与图算法,二分图(Bipartite Graph)的霍普克罗夫特-卡普(Hopcroft Karp)最大匹配算法与源程序

二分图Bipartite graph 有没有可能通过数学过程找到你的灵魂伴侣&#xff1f;大概让我们一起探索吧&#xff01; 假设有两组人注册了约会服务。在他们注册后&#xff0c;会向他们展示另一组人的图像并给出他们的描述。他们被要求选择他们愿意与之匹配的人。 所有信息都被输入…

[VLDB 2022]Butterfly Counting on Uncertain Bipartite Graphs

总结 非确定二部图上的蝴蝶结构统计&#xff0c;精确算法。在普通的蝴蝶结构统计上&#xff0c;增加了边权重&#xff0c;使得传统算法失效&#xff0c;再在这基础上定义新的统计并优化老方法。 动机 Butterfly的数量直接展示了二部图的密度&#xff0c;是个很重要的属性。相…

二分匹配大总结——Bipartite Graph Matchings[LnJJF]

文章目录 二分匹配——Bipartite Graph Matchings[LnJJF]认识&#xff1a;什么是二分图&#xff1f;理解&#xff1a;现实模型如何与二分图相互转化&#xff1f;如何判断能否转化&#xff1f;能够转化的话&#xff0c;如何转化&#xff1f; 应用&#xff1a;已知一个二分图&…

【一致性仿真】Fixed-time bipartite consensus of multi-agent systems with disturbances

文章链接&#xff1a;Fixed-time bipartite consensus of multi-agent systems with disturbances 仿真图Fig2&#xff1a; MATLAB代码&#xff1a; % Fixed-time bipartite consensus of multi-agent systems with disturbances % author:JCGUY % date:2022-04-20 clear clc…

Bipartite Graph多视图学习聚类文章总结

看了一些anchor graph和bipartite graph 的文章始终不知道他们的区别在哪里。今天总结一下这类文章。 1.能看到最早的这类关于多视图学习的文章 Large-Scale Multi-View Spectral Clustering via Bipartite Graph&#xff08;AAAI-2015&#xff09; 目标&#xff1a;we addre…

Fast spectral clustering learning with hierarchical bipartite graph for large-scale data

Fast spectral clustering learning with hierarchical bipartite graph for large-scale data 基于层次二分图的大规模数据快速谱聚类学习 abstract 传统方法&#xff1a;不适用大规模问题 高斯核函数 提出了一种新的基于层次二分图&#xff08;SCHBG&#xff09;的光谱聚…

Bipartite Graph Based Multi-View Clustering

Bipartite Graph Based Multi-View Clustering 基于二部图的多视图聚类 abstract 对于基于图的多视图聚类&#xff0c;一个关键问题是通过两阶段学习方案捕获共识聚类结构。具体来说&#xff0c;首先学习多个视图的相似性图矩阵&#xff0c;然后将它们融合为统一的高级图矩阵。…

BiNE: Bipartite Network Embedding

** BiNE: Bipartite Network Embedding ** SIGIR 2018 论文链接&#xff1a;https://dl.acm.org/doi/10.1145/3209978.3209987 项目代码&#xff1a;https://github.com/clhchtcjj/BiNE 文章目录 BiNE: Bipartite Network Embedding 摘要1、Introduction2、Related work&a…

【Paper】2020_Event-triggered bipartite consensus over cooperation-competition networks under DoS atta

Hu, A., Park, J.H., Cao, J. et al. Event-triggered bipartite consensus over cooperation-competition networks under DoS attacks. Sci. China Technol. Sci. 64, 157–168 (2021). 文章目录 1 Introduction2 Problem description and preliminaries2.1 Multiagent model…