在符号矩阵上执行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])

然后在ZeroTest->myTest中使用NullSpace

---结束编辑-

关于math - Mathematica的NullSpace符号矩阵命令的假设,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6179454/

10-11 18:01