我正在寻找可用于计算极大(数百万个元素,不一定是方形)矩阵的零空间的最快算法/包。任何语言都可以,最好是Python / C / C ++ / Java。非常感谢您的帮助!
答案 0 :(得分:2)
避免废弃CPU缓存的方式很大程度上取决于矩阵的存储/加载/传输方式,这一点你没有解决。
有一些通用建议:
将问题划分为工作线程,解决每个线程的连续行数
增加指针(在C中)以遍历行并在每个线程的基础上保持计数
在所有工作线程结束时合并每线程结果。
如果矩阵单元由位(而不是字节,整数或数组)组成,则可以读取words
(在32位/ 64位平台上为4字节或8字节)加快计数。
问题描述中有太多问题未解答,无法为您提供进一步的指导。
答案 1 :(得分:-1)
您的矩阵代表什么样的数据结构? 如果使用元素列表来表示矩阵,即一个矩阵元素的“列,行,值”元组,则解决方案将只计算元组的数量(减去矩阵大小)