2016-05-10 4 views
0

私はMaximaの複雑なフィールド上に行列の無効とカーネルを取得しようとしていました。しかし、私は奇妙な結果を得る。Maximaでnullityとnullspaceを見つける

私は、行列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)でNULLかどうかを計算した場合、私は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]であるため、これはかなり変です。私はNullSpace[{{i, 1, 1, 0}, {-1, i, 0, 1}, {0, 0, i, 1}, {0, 0, -1, i}}]Mathematicaで行うとき

そして実際には、私はゼロ空間は、基礎[%i, 1, 0, 0]を持っており、1次元(3次元ではない)であることを取得します。

私は間違っていますか?

答えて

2

私が知る限り、あなたはすべて正しいことをしています。問題は私が報告したMaximaのバグです:https://sourceforge.net/p/maxima/bugs/3158/

私はそれを回避する簡単な方法はありません。私はバグの修正に取り組んでいます。

+0

ありがとうございます!ほんとうにありがとう。バグを徹底的に追跡します。 –

+0

@JonathanChanこのバグは、次のMaximaリリース(5.39、まもなくリリース予定)に含まれるべきコミットc9375b3によって修正されました。遅れて申し訳ありません、バグ報告のおかげで、これが助けてくれることを願っています。 –