Определение векторного подпространства Sage путем изменения основы другого подпространства дает неожиданные результаты.Python

Программы на Python
Ответить
Anonymous
 Определение векторного подпространства Sage путем изменения основы другого подпространства дает неожиданные результаты.

Сообщение Anonymous »

Я чувствую, что схожу с ума, поэтому вполне ожидаю, что это результат какой-то ужасной ошибки пользователя с моей стороны. Тем не менее:
Я пытаюсь написать код, чтобы определить, являются ли определенные векторные подпространства инвариантными относительно действия определенных матриц. В частности, для этого необходимо определить подпространства, воздействовать на эти подпространства с помощью матрицы и проверить, равно ли новое подпространство старому подпространству. К сожалению, похоже, что это ведет себя не так, как я ожидал.
Рассмотрим следующий код Sage, который определяет двумерное векторное пространство над конечным полем GF(2) и парой подпространств:

Код: Выделить всё

F = GF(2)
V = VectorSpace(F,2)
u = matrix(F, [[1, 1], [0, 1]])
v1 = vector(F, [0,1])
V1 = V.subspace([v1])
uV1 = V.subspace([u*v for v in V1.basis()])
print(uV1.basis(), uV1 == V1)
Я ожидаю, что это напечатает [(1,1)] False, потому что uV1 должно быть векторным подпространством с базисом [(1,1)]. Действительно, когда я заменяю последнюю строку приведенного выше кода на print([u*v for v in V1.basis()]), Sage печатает [(1,1)].
Однако, когда я выполняю код, как написано выше, Sage вместо этого печатает [(0,1)] True.
Что здесь происходит? Почему подпространство uV1 определяется неправильно, и как я могу изменить код, чтобы это исправить?
(Если это актуально, когда я вручную определяю uV1 = V.subspace([(1,1)]), то все работает так, как ожидалось; в частности, uV1.basis() — это [(1,1)], а uV1 == V1 — это Ложь.)

Подробнее здесь: https://stackoverflow.com/questions/798 ... pace-gives
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»