Mathematica 的 NullSpace 命令中符号矩阵的假设



在符号矩阵上执行Mathematica的NullSpace命令时,Mathematica会对变量进行一些假设,我想知道它们是什么。

例如,

In[1]:= NullSpace[{{a, b}, {c, d}}]
Out[1]= {}

但未说明的假设是

a d != b c.

如何确定NullSpace命令使用的假设?

可以说,基本假设是由PossibleZeroQ的内部使用强制执行的。如果该函数不能将表达式视为零,那么它将被视为非零,因此有资格用作行缩减中的枢轴(通常用于符号NullSpace)。

---编辑---

有人提出了一个问题,即在符号线性代数的零测试中可能看到什么。默认情况下,对PossibleZeroQ的调用通过内部路由。PossibleZeroQ后来建立在这些之上。

在Mathematica内核代码开发中,总是有一个问题,即什么应该通过主求值器循环,什么应该短路(例如,为了速度的目的)。只有前者易于追踪。

可以通过指定非默认零测试来影响符号线性代数中的过程。可能是例如

myTest[ee_]:= (Print[zerotesting[ee]]; PossibleZeroQ[ee])

然后在CCD_ 5中使用CCD_。

---结束编辑---

发现这个:

在这种情况下,如果将矩阵扩展一列,则会显示以下假设:

NullSpace[{{a, b, 1}, {c, d, 1}}]
{{-((-b+d)/(-b c+a d)),-((a-c)/(-b c+a d)),1}}

在某些情况下可能有用

相关内容

  • 没有找到相关文章

最新更新