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])

然后在NullSpace中使用ZeroTest-> myTest.

—结束编辑—

翻译自:https://stackoverflow.com/questions/6179454/assumptions-in-mathematicas-nullspace-command-for-symbolic-matrices

转载注明原文:Mathematica的符号矩阵NullSpace命令的假设