SAGE возвращает неправильный минимальный полином?

sage: A

[    t     1     1     0 t + 1     1]
[    t     t     0 t + 1     t     1]
[    0     1 t + 1     0     t     0]
[    t     t     0     0     0     0]
[    0     1     0     1     1     1]
[    t     1     t     t     t     1]
sage: A.base_ring()
Finite Field in t of size 2^2
sage: A.minpoly()
x^5 + (t + 1)*x^4 + t*x^3
sage: A.minpoly()(A)

[1 1 1 1 1 1]
[1 1 1 1 1 1]
[1 1 1 1 1 1]
[1 1 1 1 1 1]
[1 1 1 1 1 1]
[1 1 1 1 1 1]

Результатом последней команды, разумеется, должна была стать нулевая матрица. Я понятия не имею, почему это не удалось. Так что вопрос в том, что пошло не так.


person Gadi A    schedule 05.04.2012    source источник


Ответы (1)


Я не могу воспроизвести это в OS X 10.6.8:

sage: version()
'Sage Version 4.8, Release Date: 2012-01-20'
sage: R.<t> = GF(4)
sage: R
Finite Field in t of size 2^2
sage: A = Matrix(R, [[t, 1, 1, 0, t+1, 1], [t,t,0,t+1,t,1,],[0,1,t+1,0,t,0],[t,t,0,0,0,0,],[0,1,0,1,1,1,],[t,1,t,t,t,1]])
sage: A
[    t     1     1     0 t + 1     1]
[    t     t     0 t + 1     t     1]
[    0     1 t + 1     0     t     0]
[    t     t     0     0     0     0]
[    0     1     0     1     1     1]
[    t     1     t     t     t     1]
sage: s = """
....: [    t     1     1     0 t + 1     1]
....: [    t     t     0 t + 1     t     1]
....: [    0     1 t + 1     0     t     0]
....: [    t     t     0     0     0     0]
....: [    0     1     0     1     1     1]
....: [    t     1     t     t     t     1]"""
sage: 
sage: str(A) == s.strip()
True
sage: A.minpoly()
x^6 + (t + 1)*x^5 + t*x^4
sage: A.minpoly()(A)
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]

Обратите внимание на дополнительный множитель x. Вы не опубликовали номер своей версии или какую-либо информацию о своей архитектуре, поэтому я не знаю, является ли это ошибкой линейной алгебры, зависящей от архитектуры, которая все еще присутствует или уже исправлена. Относительно скоро выйдет Sage 5.0 (сейчас это бета-версия 12), и настоятельно рекомендуется обновить ее.

Две мета-примечания: пожалуйста, опубликуйте код, который можно скопировать и вставить, чтобы воспроизвести проблему. Кроме того, вы всегда можете протестировать свой фрагмент на sagenb.org (или даже на test.sagenb.org), чтобы увидеть, присутствует ли ваша проблема в основной ветке и за ее пределами. Оба, кажется, дают правильный ответ.

person DSM    schedule 05.04.2012