Как эффективно выполнять итерацию по всем h по n массивам из 0s и 1s, где все строки и все столбцы различны? На данный момент я это делаю.Итерация над матрицами с различными строками
h = 10
n = 15
hxn = np.arange(h*n).reshape(h, -1)
for i in xrange(0, 2**(h*n)):
M = (i >> hxn) & 1
#DO WORK
Но это включает в себя множество 2-мерных массивов со строками или столбцами, которые являются одинаковыми. Я также не забочусь о порядке строк или столбцов.
Я не хочу, чтобы просто проверить каждый M, чтобы увидеть, если он имеет повторяющиеся строки или столбца и отбросить те, как это будет крайне неэффективна. Я хотел бы найти способ просто перебрать гораздо меньшее количество матриц без дублированных строк или столбцов.
Вы пытаетесь сначала определить, является ли или нет, различны строки и перевалы матрицы, а затем работать на них, или выполнить операцию на каждую отдельную строку и/или седловины в данной матрице? –
@ap Ни один из них. Я хочу перебрать подмножество всех h на n матриц. Это просто матрицы не имеют дублированных строк или столбцов. – marshall
Вы уверены, что это очень неэффективно? Какую форму матрицы вы ожидаете? – user2357112