У меня есть случайные 2d массивы, которые я использую с помощью
import numpy as np
from itertools import combinations
n = 50
A = np.random.randint(2, size=(n,n))
Я хотел бы определить, имеет ли матрица две пары пар строк, которые суммируются с одним и тем же вектором строки. Я ищу быстрый способ сделать это. Мой текущий метод просто пытается использовать все возможности.
for pair in combinations(combinations(range(n), 2), 2):
if (np.array_equal(A[pair[0][0]] + A[pair[0][1]], A[pair[1][0]] + A[pair[1][1]] )):
print "Pair found", pair
Метод, который работал для n = 100
, был бы действительно большим.