Да, это возможно, вы можете попробовать это, если вы хотите полагаться исключительно на вложение.
x = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
result = []
for k in range(len(x)):
temp = []
for i in range(len(x)):
tempSum = 0
for j in range(len(x[0])):
tempSum += x[k][j]*x[i][j]
temp.append(tempSum)
result.append(temp)
print(result)
Выход:
[[14, 38, 62], [38, 126, 214], [62, 214, 366]]
вы можете проверить это с помощью numpy :
>>> x = np.arange(12).reshape(3,4)
>>> x@x.T
array([[ 14, 38, 62],
[ 38, 126, 214],
[ 62, 214, 366]])