问题标签 [sparse-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
358 浏览

parallel-processing - 并行创建稀疏矩阵

是否有任何算法允许并行有效地创建(元素填充)稀疏(例如 CSR 或坐标)矩阵?

0 投票
4 回答
5600 浏览

python - 将二进制数据写入稀疏文件的中间

我需要编译一个二进制文件,其中的片段以随机顺序到达(是的,它是一个 P2P 项目)

假设我在文件的偏移量 1MB 处有一个 32KB 写入(f,o,d),然后在偏移量 0 处有另一个 32KB 写入(f,o,d)

我最终得到一个长度为 65KB 的文件(即 32KB - 1MB 之间由 0 组成的间隙被截断/消失)

我知道这可能看起来是一个非常愚蠢的问题,但我似乎无法从 file.open(..) 模式中弄清楚

非常感谢您的建议。

*** 更新

我编写 P2P 作品的方法如下(对于那些可能从中获得一些价值的人)

注意:我还使用 struct.pack 解决了一些困扰我一段时间的字节序问题。

对于任何想知道的人,我正在进行的项目是分析直接从网络捕获的 BT 消息。

0 投票
4 回答
2708 浏览

sparse-matrix - GPU或CPU上的稀疏矩阵乘法?

你怎么看?什么会更快,多快:在 GPU 或 CPU(多线程)上进行稀疏矩阵 (CSR) 乘法(使用向量)?

0 投票
3 回答
3982 浏览

c - C中的稀疏矩阵存储

我有一个非对称的稀疏矩阵 IE 稀疏度有点随机,我不能指望所有值都与对角线相距一定距离。

但是,它仍然是稀疏的,我想减少对矩阵的存储需求。因此,我试图弄清楚如何存储从第一个非零开始的每一行,直到我到达最后一个非零。

也就是说,如果第 m 行的第一个非零出现在第 2 列,最后一个非零出现在第 89 列,我想存储在 A[m] 行 2-> 89 中。

由于每一行没有相同数量的非零,我将使 A 的所有行都具有相同数量的元素,并将零填充到具有较少数量非零元素的行的行尾.

我如何在 C 中进行此翻译?我实际上没有原始的完整矩阵来复制值(原始矩阵以 CSR 形式出现在我身边)。如果我在 fortran 中执行此操作,我可以将我的数组定义为二维的,并且通过跟踪非零列的开始/停止值并像这样存储它,让每一行都是可变长度的。

我将尝试在下面演示:

这是我知道的值的矩阵表示 - 对于每个值,我知道行和列的位置

现在这一行在m第一个非零和最后一个非零之间具有最大的“跨度”,所以我的新矩阵将是5x[span of row m]

如您所见,行m不需要零填充,因为它是最长的“跨度”

其他行现在都将零行作为第一个非零,并在每个非零之间保持零列的间距。

0 投票
1 回答
1712 浏览

sql - 具有额外属性的记录:稀疏表还是 EAV?

我有一个模型,它已经有几十个列,大部分时间都会被填充。现在我需要添加每次可能不同的字段。

最好的方法是什么?我不喜欢 EAV 模式。我也不喜欢有一个稀疏表的想法,特别是考虑到这些额外的属性可能会有很大的不同。

例子:

现在我想添加如下属性:

这些额外的属性可能因记录而异,并且大多数情况下它们的数量有限,但不能保证。

将记录视为:

我希望能够列出、过滤和搜索记录,就好像那些额外的属性实际上是列一样,例如:我应该能够进行类似SELECT fields FROM table WHERE ep_n > 20SELECT fields FROM table WHERE ep_1='ABC'

最好的解决方案是什么?

0 投票
1 回答
728 浏览

java - 访问 org.apache.commons.math.linear 包中稀疏矩阵的所有条目

我在这个包中看到了 2 个稀疏矩阵的实现。

  1. OpenMapRealMatrix
  2. 稀疏场矩阵

两者都被记录为“基于开放寻址映射的稀疏矩阵实现”。

你知道这两者有什么区别吗?另外,以快速方式迭代所有条目的最佳方法是什么(这意味着迭代非零元素)。

谢谢!

0 投票
3 回答
6921 浏览

sparse-matrix - HDF5 中的稀疏数组支持

我需要以某种方式在磁盘上存储一个 512^3 数组,我目前正在使用 HDF5。由于阵列稀疏,因此浪费了大量磁盘空间。

HDF5 是否提供对稀疏数组的任何支持?

0 投票
4 回答
818 浏览

cuda - 是否有任何使用CUDA解决稀疏矩阵线性方程的有效实现?

是否有任何使用CUDA解决稀疏矩阵线性方程的有效实现?

0 投票
2 回答
967 浏览

tsql - T-SQL:SELECT INTO 稀疏表?

我正在将大量空表迁移到 SQL Server 2008 中。

这些表是一个大逻辑表的垂直分区。

问题是这个逻辑表有超过 1024 列。

鉴于大多数字段为空,我计划使用稀疏表。

到目前为止,对于我所有的表,我一直在使用 SELECT...INTO,它运行得非常好。

但是,现在我有“创建表失败,因为表 'MyBigTable' 中的列 'xyz' 超过了 1024 列的最大值。”

有什么办法可以做 SELECT...INTO 以便它创建具有稀疏支持的新表?

0 投票
4 回答
874 浏览

java - Java 矩阵处理时间

我需要所有大师的简单意见!

我开发了一个程序来做一些矩阵计算。它适用于小矩阵。但是,当我开始计算大千列行矩阵时。它杀死了速度。

我正在考虑对每一行进行处理并将结果写入文件中,然后释放内存并开始处理第二行并写入文件,依此类推。

对提高速度有帮助吗?我必须做出很大的改变来实现这个改变。这就是为什么我需要你的意见。你怎么看?

谢谢

PS:我知道 colt 和 Jama 矩阵。由于公司规定,我不能使用这些包。


已编辑

在我的程序中,我将所有矩阵存储在二维数组中,如果矩阵很小,那很好。但是,当它有数千列和行时。然后将所有这些矩阵存储在内存中进行计算会导致性能问题。矩阵包含浮动值。对于处理,我读取内存中的所有矩阵存储,然后开始计算。计算后我将结果写入文件。