Рассмотрим следующий код 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)
Однако, когда я выполняю код, как написано выше, Sage вместо этого печатает [(0,1)] True.
Что здесь происходит? Почему подпространство uV1 определяется неправильно, и как я могу изменить код, чтобы это исправить?
(Если это актуально, когда я вручную определяю uV1 = V.subspace([(1,1)]), то все работает так, как ожидалось; в частности, uV1.basis() — это [(1,1)], а uV1 == V1 — это Ложь.)
Подробнее здесь: https://stackoverflow.com/questions/798 ... pace-gives
Мобильная версия