matrix func to multiply with float int

This commit is contained in:
Sirin Puenggun 2022-12-05 17:16:30 +07:00
parent 80eb514d30
commit d710d1becd

View File

@ -54,16 +54,27 @@ class Matrix:
>>> m3 = m1 * m2 >>> m3 = m1 * m2
>>> m3.array >>> m3.array
[[7, 10], [15, 22]] [[7, 10], [15, 22]]
>>> m1 = Matrix([[1, 2], [3, 4]])
>>> m2 = 2
>>> m4 = m1 * m2
>>> m4.array
[[2, 4], [6, 8]]
""" """
if self.column == other.row: if isinstance(other, int) or isinstance(other, float):
new_matrix = Matrix([[0 for i in range(other.column)] for k in range(self.row)]) for row in range(self.row):
for row_index in range(self.row): for col in range(self.column):
for col_index in range(self.column): self.array[row][col] = self.array[row][col] * other
for k in range(other.row): return self
new_matrix.array[row_index][col_index] += self.array[row_index][k] * other.array[k][col_index]
return new_matrix
else: else:
raise ValueError("Can't multiply these matrix") if self.column == other.row:
new_matrix = Matrix([[0 for i in range(other.column)] for k in range(self.row)])
for row_index in range(self.row):
for col_index in range(self.column):
for k in range(other.row):
new_matrix.array[row_index][col_index] += self.array[row_index][k] * other.array[k][col_index]
return new_matrix
else:
raise ValueError("Can't multiply these matrix")
def copy_matrix(self): def copy_matrix(self):
""" """
@ -130,6 +141,7 @@ class Matrix:
return new_matrix return new_matrix
def inverse(self): def inverse(self):
det = self.determinant()
pass pass
def __str__(self): def __str__(self):