Java中的并发访问稀疏矩阵

问题描述

| 我正在寻找Java中的矩阵/线性代数库,该库提供可从不同线程并发写入的稀疏矩阵。我遇到的大多数库都根本不提供稀疏矩阵,或者1.)用开放的寻址哈希图支持它们,或者2.)然后以CSR或CSC格式存储,这根本不适合多线程构造。现在,我正在使用并发哈希图并行收集条目,并从单个线程填充稀疏矩阵,但这似乎浪费资源(存储并发哈希图的空间以及实质上需要填充的时间)矩阵两次)。     

解决方法

        您不仅可以神奇地使稀疏矩阵代数例程可缩放地并行化。解决这些问题涉及一些最复杂的数值分析算法,并且仍然是深入研究的主题。 您没有说要对这些矩阵做什么,但我想您想对线性方程组进行求解。如果要并行进行操作,则需要第3方库,非常大的矩阵并可能需要花钱。 组装稀疏矩阵的最常见方法是将它们组装为三元组格式,然后转换为压缩的行或列格式。组装可能很昂贵,但很容易并行进行。只需让每个线程拥有其自己的三元组列表,然后将它们拼接在一起,然后再转换为压缩格式即可。     ,        我记得并行柯尔特矩阵是线程安全的。该库是colt的多线程版本。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...