如何在PARI库中使用qflll()?

时间:2014-07-29 12:57:44

标签: python cygwin pari mathematical-lattices

我想在python中使用PARI库中的函数qflll,所以我下载了pari-python-cygwin-0.1.zip,但是当我尝试在python中使用qflll时,即

qflll([[1,0,0],[0,1,0],[0,0,1]])

我收到此错误消息

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Too few parameters provided: 1

所以我如何在python中正确调用函数qflll而没有任何错误?

1 个答案:

答案 0 :(得分:1)

正如您在these docs中看到的那样,qflll函数将PARI矩阵作为输入。因此,您必须执行以下操作:

sage: M = Matrix([[1,0,0],[0,1,0],[0,0,1]])
sage: p = pari(M)
sage: p.qflll()
[1, 0, 0; 0, 1, 0; 0, 0, 1]

或者,如果您愿意,可以使用一句话:

sage: pari(Matrix([[1,0,0],[0,1,0],[0,0,1]])).qflll()
[1, 0, 0; 0, 1, 0; 0, 0, 1]