Количество линейных независимых подмножеств с количеством элементов 4 - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть список векторов в векторном пространстве Q с размером 5, который я хочу упорядочить в списке и использовать комбинации (список, 4), чтобы получить все подсписки с 4 элементами.Затем я хочу проверить, сколько из этих подсписков являются линейно независимыми в векторном пространстве с зависимостью V.linear (vs) == [].

Я сталкиваюсь с ошибкой при запуске моего кода:

V = VectorSpace(QQ,5) V.list = ([2, 2, 2,-3,-3],[2, 2,-3,2,-3],[2,2,-3,-3,2],[2,-3,2,2,-3],[2,-3,2,-3,2],[2,-3,-3,2,2],[-3,2,2,2,-3],[-3,2,2,-3,2],[-3,2,-3,2,2],[-3,-3,2,2,2]) C = Combinations(list, 4) V.linear_dependence(C) == []

"ValueError: vector [[2, 2, 2, -3, -3], [2, 2, -3, 2, -3], [2, 2, -3, -3, 2], [2, -3, 2, 2, -3]] не является элементом векторного пространства измерения 5 над Rational Field "

Кто-нибудь получил какие-либо подсказки относительночего мне не хватает?

1 Ответ

0 голосов
/ 07 декабря 2018

Вы просите его просто взять список (или на самом деле кортеж) и поместить его в векторное пространство, но я думаю, что Sage не делает этого автоматически.Попробуйте это.

V = VectorSpace(QQ,5)
list = ([2, 2, 2,-3,-3],[2, 2,-3,2,-3],[2,2,-3,-3,2],[2,-3,2,2,-3],[2,-3,2,-3,2],[2,-3,-3,2,2],[-3,2,2,2,-3],[-3,2,2,-3,2],[-3,2,-3,2,2],[-3,-3,2,2,2])
C = Combinations(list, 4)
for c in C:                                                               
    if V.linear_dependence([V(x) for x in c]) == []: print c 

Причина двойного списка состоит в том, что ни одна из этих вещей по своей природе не находится в векторном пространстве.

Небольшая модификация этого, замена print c на z+=1 (имеющая предопределенный z=0) говорит о том, что 185 из ваших 210 комбинаций кажутся линейно независимыми.

Кстати,сравнение с пустым списком может быть не таким эффективным, как другие опции .

...