strassen算法
strassen算法是矩阵相乘的算法,这个算法降低了时间复杂度,通常暴力破解法的时间复杂度为O(),这种方法的时间为O(
)
Python3实现
#strassen.py
#python3
#Yanglin Tu
def matrix_add(matrix_a,matrix_b):
rows = len(matrix_a)
columns = len(matrix_a[0])
matrix_c = [list() for i in range(rows)]
for i in range(rows):
for j in range(columns):
matrix_c_temp = matrix_a[i][j] + matrix_b[i][j]
matrix_c[i].append(matrix_c_temp)
return matrix_c
def matrix_minus(matrix_a,matrix_b):
rows = len(matrix_a)
columns = len(matrix_a[0])
matrix_c = [list() for i in range(rows)]
for i in range(rows):
for j in range(columns):
matrix_c_temp = matrix_a[i][j] - matrix_b[i][j]
matrix_c[i].append(matrix_c_temp)
return matrix_c
def matrix_divide(matrix_a,row,column):
length = len