Транспонирование матрицы, numpy, выдаёт один столбец

Здравствуйте. Не получается транспонировать матрицу через модуль numpy.
Вот полный код. Скажите как нужно сделать. Транспонирую матрицу a.

import random
import numpy as np 
 
A = set(random.sample(range(-10, 10), 5))
print('Множество A =',sorted(A))
r1 = lambda x, y: y % x == 0
m1 = tuple(tuple(int(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: y % x != 0
m2 = tuple(tuple(int(r2(x, y)) for y in sorted(A)) for x in sorted(A))
print("Матрица b дополнения R отношения R");
for b in m2:
    print(*b)
print("")
arr1 = np.array(a)
temp = arr1.transpose()
for c in temp:
    print(*c)

Так а что именно не получается, что выдает?

Вообще как минимум тут

нет переменной с именем а, о чем подсказывает например PyCharm.

(точнее если это от цикла выше, то это будет последняя строка m1, а не матрица)

Код работает, но он выдаёт мне один столбец, а не всю матрицу.

Так тут и нет транспонирования матрицы.
Вы ж даже сами написали в коде

массив1.транспонировать()

и

Кр сделал вот так

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)