Uzun bir beyin fırtınasından sonra işe yarayacak(ını düşündüğüm) bir şeyler kodlayabildim.
class Matrix:
def __init__(self):
self.matrix = []
def add(self, list):
self.matrix.append(list)
def get_matrix(self):
return self.matrix
def transpoze(self):
local_matrix = []
row_count = len(self.matrix)
column_count = len(self.matrix[0]) # IndexError alınmayacak herhangi bir sayı ile hesaplanabilir.
for a in range(row_count):
local_matrix.append([])
for b in range(column_count):
local_matrix[a].append(self.matrix[b][a])
return local_matrix
def multiplication(self, second_matrix):
local_matrix1 = []
local_matrix2 = []
row_count = len(self.matrix)
column_count = len(self.matrix[0]) # IndexError alınmayacak herhangi bir sayı ile hesaplanabilir.
for a in range(row_count):
for b in range(column_count):
local_matrix1.append([])
for c in range(row_count):
local_matrix1[len(local_matrix1) - 1].append(self.matrix[a][b] * second_matrix[b][c])
column_count2 = len(local_matrix1)
n = 0
for d in range(0, column_count2, 2):
local_matrix2.append([])
for e in range(row_count):
local_matrix2[n].append(local_matrix1[d][e] + local_matrix1[d + 1][e])
n += 1
return local_matrix2
A = Matrix()
A.add([9, 8])
A.add([7, 6])
print(A.get_matrix())
B = Matrix()
B.add([5, 4])
B.add([3, 2])
print(B.get_matrix())
B = B.transpoze()
print(B)
C = A.multiplication(B)
print(C)