in python3/frodokem.py [0:0]
def __matrix_mul(self, X, Y):
"""Compute matrix multiplication X * Y mod q"""
nrows_X = len(X)
ncols_X = len(X[0])
nrows_Y = len(Y)
ncols_Y = len(Y[0])
assert ncols_X == nrows_Y, "Mismatched matrix dimensions"
R = [[0 for j in range(ncols_Y)] for i in range(nrows_X)]
for i in range(nrows_X):
for j in range(ncols_Y):
for k in range(ncols_X):
R[i][j] += X[i][k] * Y[k][j]
R[i][j] %= self.q
return R