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

| 在符号矩阵上执行Mathematica的NullSpace命令时,Mathematica对变量进行了一些假设,我想知道它们是什么。 例如,
In[1]:= NullSpace[{{a, b}, {c, d}}]

Out[1]= {}
但未阐明的假设是
a d != b c.
如何确定NullSpace命令使用哪些假设?     
已邀请:
        可以说,基本假设是通过内部使用
PossibleZeroQ
来强制执行的。如果该函数不能认为表达式为零,则它将被视为非零,因此有资格用作行缩减的枢轴(通常用于符号NullSpace)。 - -编辑 - - 提出了关于在符号线性代数的零测试中可能看到的内容的问题。默认情况下,对“ 2”的呼叫会通过内部路由。
PossibleZeroQ
后来在此之上构建。 在Mathematica内核代码开发中始终存在一个问题,即应通过主评估程序循环的内容以及应短路的内容(例如,出于速度目的)。只有前者很容易被追查。 通过指定非默认的零检验,可以影响符号线性代数中的处理。可能是
myTest[ee_]:= (Print[zerotesting[ee]]; PossibleZeroQ[ee])
然后在
NullSpace
中使用
ZeroTest->myTest
。 ---结束编辑---     
        发现了这一点: 在这种情况下,如果将矩阵扩展一列,则会显示假设:
NullSpace[{{a, b, 1}, {c, d, 1}}]

{{-((-b+d)/(-b c+a d)),-((a-c)/(-b c+a d)),1}}
在某些情况下可能有用     

要回复问题请先登录注册