如何在没有舍入的情况下在python中进行矩阵计算?

时间:2011-10-16 22:18:18

标签: python numpy

我有一些中等大小的整数矩阵(几百行)。我需要求解Ax = b形式的方程式,其中b是标准基矢量,A是我的矩阵之一。我一直在使用numpy.linalg.lstsq来实现此目的,但舍入错误最终会变得非常重要。

如何进行精确的符号计算?

(PS我真的不需要代码有效;我更关心编码的简易性。)

3 个答案:

答案 0 :(得分:2)

如果您唯一的选择是使用用python编写的免费工具,sympy可能会有效,但使用mathematica可能更简单。

答案 1 :(得分:1)

请注意,如果你认真对待你的评论,你需要你的解决方案向量是整数,那么你正在寻找一个叫做“整数最小二乘问题”的东西。这被认为是NP难的。有一些启发式解算器,但都变得非常复杂。

答案 2 :(得分:0)

mpmath库支持任意精度浮点数,并支持矩阵代数:http://mpmath.googlecode.com/svn/tags/0.17/doc/build/matrices.html

然后使用sympy进行精确计算是第二种选择。