我有一个Python程序,该程序接受系数只能为-1、0和1的矩阵。我需要计算这些矩阵的空空间。这些矩阵可能很大(数百万个条目),并且性能至关重要。
Scipy's null_space
的性能可以接受,但是问题在于它会返回空空间作为正交矩阵。我希望结果矩阵具有整数系数。
Sympy's nullspace
返回我想要的矩阵,但是,因为它是纯Python(也可能是因为它使用高斯消除法而不是更快的算法)所以性能很差。
还有什么我可以尝试的吗?如果解决方案可以轻松并行化,那就太好了。
答案 0 :(得分:0)
您可以尝试QR分解。 Scipy正在将SVD用于空空间。 QR原则上更快。
编辑:对mathoverflow的简短搜索显示了此https://mathoverflow.net/questions/61861/fast-algorithms-for-computing-nullspace-of-a-positive-semidefinite-matrix-over-z