Python генерация всех возможных комбинаций матрицы с диагональными записями ноль - PullRequest
0 голосов
/ 11 января 2020

Я теоретик графов и начинающий в Python.

Как и в следующем вопросе,

Python генерирует все возможные комбинации матрицы

Мне нужно сгенерировать все возможные комбинации матриц с -1 и 1, но здесь все диагональные элементы равны нулю . Кто-нибудь может помочь?

Большое спасибо.

1 Ответ

0 голосов
/ 11 января 2020

Возможно, есть более эффективный способ, но он должен работать.

import numpy as np
from itertools import product

sq_dim = 3

all_x = product([1, -1], repeat=sq_dim**2)
all_x = np.reshape(list(all_x), (-1, sq_dim, sq_dim))

for x in all_x:
    np.fill_diagonal(x, 0)

solution = np.unique(all_x, axis=0)
...