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