Sparse matrix multiplication (credit: Pochmann)
def multiply(self, A, B):
cols = [[(j, b) for j, b in enumerate(col) if b]
for col in zip(*B)]
return [[sum(row[j]*b for j, b in col)
for col in cols]
for row in A]