计算大矩阵的零空间

时间:2012-08-28 14:12:03

标签: c++ python c algorithm matrix

我正在寻找可用于计算极大(数百万个元素,不一定是方形)矩阵的零空间的最快算法/包。任何语言都可以,最好是Python / C / C ++ / Java。非常感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

避免废弃CPU缓存的方式很大程度上取决于矩阵的存储/加载/传输方式,这一点你没有解决。

有一些通用建议:

  1. 将问题划分为工作线程,解决每个线程的连续行数

  2. 增加指针(在C中)以遍历行并在每个线程的基础上保持计数

  3. 在所有工作线程结束时合并每线程结果。

  4. 如果矩阵单元由位(而不是字节,整数或数组)组成,则可以读取words(在32位/ 64位平台上为4字节或8字节)加快计数。

    问题描述中有太多问题未解答,无法为您提供进一步的指导。

答案 1 :(得分:-1)

您的矩阵代表什么样的数据结构? 如果使用元素列表来表示矩阵,即一个矩阵元素的“列,行,值”元组,则解决方案将只计算元组的数量(减去矩阵大小)