Я пытаюсь сформировать матрицу, используя генераторный набор некоторых векторов (v1, v2, v3)
, где каждый элемент представляет двоичные данные.
Я хочу, чтобы код использовал векторы в наборе и создал матрицу с нулевым вектором, каждым из векторов строк и комбинациями v1+v2
, v1+v3
, v2+v3
и v1+v2+v3
, т.е. все возможные линейные комбинации с 0
и 1
в качестве коэффициентов.
Я пытался использовать циклы for, но в итоге получаю повторы. Я также был в состоянии сделать это, выполнив каждую из операций, но это неосуществимо для генерации множеств с несколькими векторами.
import numpy as np
A = np.matrix([[1,1,1,1,0,0,0,0],[0,0,1,1,1,1,0,0],[0,0,0,0,1,1,1,1]])
Я хочу создать новую матрицу из всех возможных линейных комбинаций векторов строк из вышеуказанной матрицы A.
Вывод должен содержать следующее:
[0,0,0,0,0,0,0,0],
[1,1,1,1,0,0,0,0],
[0,0,1,1,1,1,0,0],
[0,0,0,0,1,1,1,1],
[1,1,0,0,1,1,0,0],
[0,0,1,1,0,0,1,1],
[1,1,1,1,1,1,1,1],
[1,1,0,0,0,0,1,1]