我为什么遇到"大"圣人的矩阵?

时间:2014-08-07 13:51:40

标签: python matrix indexoutofboundsexception sage

我试图用鼠标中的22x22矩阵进行一些计算。这似乎不应该那么糟糕,特别是因为矩阵非常稀疏。但是,当我尝试对矩阵做任何事情时,我得到一个" IndexError:字符串索引超出范围"或无意义的计算。是什么给了什么?

即使非常简单,如果我尝试以下代码:

  

M =矩阵(ZZ,20);中号

这应显示20x20的零矩阵。但是,它会提供相同的IndexError,其中

  

M =矩阵(ZZ,19);中号

没有,并且完全按照您的期望给出。

有趣的是,输入我的矩阵后,任何显示它的尝试都会产生IndexError。然而,尽管我对他们的正确性持怀疑态度,但仍然有一些我可以做的事情可以给出答案"答案。例如,我可以做像

这样的事情
  

M.parent()

这似乎有道理。然而,

  

M.determinant()

吐出一个数字,但我大约99%确定它给我的数字与我所投入的矩阵的决定因素关系不大。

那是什么?圣人是不是无法处理大于19x19的矩阵?

编辑:这是在Mac OS X 10.9.4上,我的sage版本是5.10。这是在重新启动鼠尾草之后,这给了我同样的错误。但是,似乎我应该更新圣人,看看它是否能跟上问题....

1 个答案:

答案 0 :(得分:3)

这是一个已知且已修复的错误,请参阅门票#14785#14579 Sage's trac,我们在那里得知这个bug是在Python中, 请参阅issue 17526 Python's bug tracker, 在上游进行了重新调整,从版本5.11.beta3开始,这在Sage中运行良好。

我同意John Palmieri对更新的鼓励。贤者变得越来越好,所以就是这样 总是值得使用最新版本。目前Sage 6.2已经淘汰,而Sage 6.3.rc1则是 出来并运作良好,所以Sage 6.3应该很快就会发布。

关于行列式,如果计算不正确,我会感到非常惊讶,但是 为什么不通过在另一个计算机代数系统中计算它来检查?如果确实如此 不正确,请报告错误。在网上搜索“wims determinant”在线 行列式计算器。

编辑(2014-08-10): Sage 6.3 is out!

在我编辑的时候,我会链接到 wims matrix tool, 只是为了完整。 我也承认我没有检查Wims和Sage是谁要求计算这样的 决定因素;它可能最终成为相同的软件,因此不会太多 一张支票。你用另一种方式检查它是件好事。