Question: I need help with this python homework, all is included in the screenshot Operator overloading is a desirable feature in programming languages that allows the
I need help with this python homework, all is included in the screenshot


Operator overloading is a desirable feature in programming languages that allows the programmer to introduce his own semantic for the various built-in operators, this makes working with user-dened data types feel and look more like a natural extension to the language. In this exercise, you are asked to overload a few operators to support matrix operations. Please, review matrix operations as dened in Mathematics and use the below starter code to complete the assignment. Make sure to throw appropriate exception when passed in 2D matrices are not compatible for the operation, for example, for A * B to be valid, the number of columns in A must equal to number of rows in B. class Matrix: def __init__(self, m, n): #create an (m by n) dummy 2D matrix with all zeros self._mat = [[O]*n]*m #Given that A, B and C are matrices defined as follows # A = Matrix(3, 4) # B = Matrix(3, 4) # C = Matrix(4, 2) # overload the necessary operators to support the following: # 1- matrix addition: should handle A+B and returns a 3 by 4 matrix # 2 matrix substraction : should handle A-B and returns a 3 by 4 matrix # 3- matrix multiplication: should handle A * C and returns a 3 by 2 matrix # 4- test for equality: should handle A == , returns True if A and B are equal, otherwise returns False
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
