python - Python中的快速整数矩阵零空间?

标签 python numpy matrix scipy linear-algebra

我有一个 Python 程序,它接受系数只能为 -1、0 和 1 的矩阵。我需要计算这些矩阵的零空间。这些矩阵可能非常庞大(数百万个条目),并且性能至关重要。

Scipy's null_space具有可接受的性能,但问题是它将零空间作为正交矩阵返回。我希望生成的矩阵具有整数系数。

Sympy's nullspace返回我想要的矩阵,但是因为它是纯Python(也可能是因为它使用高斯消除而不是更快的算法),所以性能非常差。

还有什么我可以尝试的吗?如果解决方案可以轻松并行化,那就太好了。

最佳答案

您可以尝试 QR 分解。 Scipy 使用 SVD 来处理零空间。原则上,QR 速度更快。

编辑:对 mathoverflow 的简短搜索揭示了这个 https://mathoverflow.net/questions/61861/fast-algorithms-for-computing-nullspace-of-a-positive-semidefinite-matrix-over-z

关于python - Python中的快速整数矩阵零空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54844121/

相关文章:

r - 我需要在矩阵的每一列中找到第一个负数

r - 优雅的索引到向量/矩阵的末尾

python - Matplotlib:绘图函数 plt.contourf() 无法从颜色图 jet 绘制超过 9 种颜色

python - 在 Pandas 中,在 groupby 之后分组的列消失了

python - 如何运行子进程命令以在后台 Python 中启动 nodejs 服务器

python - 如何添加将显示来自 2 个不同子图的数据的单个 colobar

python - 导入 pandas.rpy.common 时 Python 中的段错误 11

python - 使用日期数据进行 Sklearn 线性回归

python - 避免在 numpy 操作中隐式转换为矩阵

r - 尝试根据 R df 中的给定对在 Excel 单元格中查找值