| Hosted by CoCalc | Download
n=120
A=n.divisors();A
[1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60, 120]
r={} for a in A: r[a]=filter(lambda b:(b%a==0)and (b//a).is_prime(),A) r
{1: [2, 3, 5], 2: [4, 6, 10], 3: [6, 15], 4: [8, 12, 20], 5: [10, 15], 6: [12, 30], 8: [24, 40], 10: [20, 30], 12: [24, 60], 15: [30], 40: [120], 20: [40, 60], 24: [120], 120: [], 60: [120], 30: [60]}
DiGraph(r).plot()
R=DiGraph(r).adjacency_matrix();R
[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0] [0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0] [0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0] [0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0] [0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0] [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
R*R
[0 0 0 1 0 2 0 2 0 2 0 0 0 0 0 0] [0 0 0 0 0 0 1 0 2 0 2 0 2 0 0 0] [0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0] [0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2] [0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
R + R*R+R*R*R
[0 1 1 1 1 2 1 2 3 2 3 0 6 0 0 0] [0 0 0 1 0 1 1 1 2 0 2 3 2 3 6 0] [0 0 0 0 0 1 0 0 1 1 0 1 2 0 3 0] [0 0 0 0 0 0 1 0 1 0 1 2 0 2 2 6] [0 0 0 0 0 0 0 1 0 1 1 0 2 1 3 0] [0 0 0 0 0 0 0 0 1 0 0 1 1 0 2 3] [0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 2] [0 0 0 0 0 0 0 0 0 0 1 0 1 1 2 3] [0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 2] [0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
DiGraph(r).transitive_closure().show()