2016-05-10 6 views
0

Я пытался получить значение nullity и ядро ​​матрицы над сложным полем в Maxima. Я получаю странные результаты.Поиск nullity и nullspace в 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 с 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] и является одномерным (не трехмерным).

Что я делаю неправильно?

ответ

2

Вы все делаете правильно, насколько я могу судить. Проблема заключается в ошибке в Maxima, о которой я сообщил: https://sourceforge.net/p/maxima/bugs/3158/

Я не вижу никакого простого способа обойти его. Я работаю над исправлением ошибки.

+0

Спасибо за внимание! Я очень ценю это. Будет внимательно следить за ошибкой. –

+0

@JonathanChan эта ошибка теперь исправлена ​​фиксацией c9375b3, которая должна содержаться в следующей версии Maxima (5.39, которая должна произойти в ближайшее время). Извините за задержку, спасибо за отчет об ошибке, и я надеюсь, что это поможет. –

 Смежные вопросы

  • Нет связанных вопросов^_^