我试图在Maxima中的复杂字段上获得矩阵的无效性和内核。 不过,我得到了奇怪的结果。
我可以定义矩阵A:
M : matrix([0, 1, 1, 0], [-1, 0, 0, 1], [0, 0, 0, 1], [0, 0, -1, 0]);
A : M + %i * ident(4);
...供参考,看起来像这样:
%i 1 1 0
-1 %i 0 1
0 0 %i 1
0 0 -1 %i
如果我用nullity(A)
计算无效,我得到3。
如果我用rank(A)
计算排名,我也得到3。
如果我用nullspace(A)
计算零空间,我得到:
span([-1, %i, 0, 0], [-%i, -1, 0, 0], [2%i, 2, 0, 0])
但这很奇怪,因为-%i * second(...)
是[-1, %i, 0, 0]
,这是第一个向量。
事实上,当我在Mathematica中NullSpace[{{i, 1, 1, 0}, {-1, i, 0, 1}, {0, 0, i, 1}, {0, 0, -1, i}}]
时,我得到的是,nullspace具有基础[%i, 1, 0, 0]
并且是1维(而不是3维)。
我做错了什么?
答案 0 :(得分:2)
就我所知,你正在做的一切正确。问题是Maxima中的一个错误,我已经报告过:https://sourceforge.net/p/maxima/bugs/3158/
我没有看到任何简单的解决方法。我正在努力解决这个问题。