我在wikipedia上读到python是一种实现行主顺序的语言。但是我试图用两个矩阵相乘,我使用row major方法和column major方法访问。但是当我执行代码时,column major方法总是更快。
我将在这里发布我的代码片段:class Matrix:
#flag indicates the type of matrix
def __init__(self, num_lines, num_cols, flag):
self.num_lines = num_lines
self.num_cols = num_cols
if flag == 0:
# First Matrix
self.matrix = [1]*num_lines*num_cols
elif flag == 1:
# Second Matrix
self.matrix = [0]*num_lines*num_cols
for i in range(num_lines):
for j in range(num_cols):
self.matrix[i*num_cols+j] = i+1
elif flag == 2:
# Result Matrix
self.matrix = self.matrix = [0]*num_lines*num_cols
def setMatrixValue(self, line, column, value):
self.matrix[line*self.num_cols + column] = value
def getMatrixValue(self, li