Здравствуйте. Мне нужно проверить матрицу допустим на рефлексивность (матрицей называют рефлексивной, если на главной диагонали у неё все 1). Мне как-то нужно с индексами поработать, только не понимаю как, в интернете читал, но не получается.
import random
import numpy
A = set(random.sample(range(-10, 10), 5))
print('Множество A =',sorted(A))
r1 = lambda x, y: int(y % x == 0)
m1 = list(list(r1(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица a отношения R");
for a in m1:
print(*a)
r2 = lambda x, y: int(y % x != 0)
m2 = list(list(r2(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица b дополнения R отношения R");
for b in m2:
print(*b)
r3 = lambda x, y: int(y % x == 0)
m3 = list(list(r3(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица c обращения R^-1 отношения R");
for c in zip(*m3):
print(*c)
r4 = lambda x, y: numpy.dot(a,b)
m4 = list(list(r4(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица d произведение отношений Rп=R*-R");
for d in m4:
print(*d)
r5 = lambda x, y: int(y % x != 0)
m5 = list(list(r5(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица e двойственного отношения Rп^d");
for e in zip(*m5):
print(*e)
r6 = lambda x, y: int(y % x == 0)
m6 = list(list(r6(x, y) for y in sorted(A)) for x in sorted(A))
print("Матрица f отношение R&Rп");
for i in m6:
f = numpy.bitwise_and(a,d)
print(*f)
print("")
row_count = len(m1)
col_count = len(m1[0])
for i in range(0, row_count):
for j in range(0, col_count):
print('value at [{}, {}]: {}'.format(i, j, m1[i][j]))