import random
import numpy as np
num = random.randint(1,25)
nums1 = []
nums2 = []
# generate random numbers
for i in range(0,8):
nums1.append(random.randint(1,25))
nums2.append(random.randint(1,25))
# populate matrices
m1 = np.array([[nums1[0],nums1[1]],
[nums1[2],nums1[3]],
[nums1[4],nums1[5]],
[nums1[6],nums1[7]]])
m2 = np.array([[nums2[0],nums2[1]],
[nums2[2],nums2[3]],
[nums2[4],nums2[5]],
[nums1[6],nums2[7]]])
print(m1,"\n")
print(m2,"\n")
res = []
# compute dot products between columns
for i in range(0,2):
row = []
for j in range(0,2):
row.append(m1.transpose()[i].dot(m2.transpose()[j]))
res.append(row)
# print result
res = np.array(res)
print(res)
[[11 1] [15 20] [ 2 24] [11 18]] [[ 7 13] [19 8] [10 8] [11 17]] [[503 466] [825 671]]