Interview Guides
Given two 2D NumPy arrays a and b, implement matrix multiplication from scratch without using np.matmul, the @ operator, or np.dot. Return a new 2D NumPy array containing the product. If the inner dimensions do not match, raise a ValueError.
a and b are 2D NumPy arrays1 <= a.shape[0], a.shape[1], b.shape[0], b.shape[1] <= 200a.shape[1] == b.shape[0] for valid multiplicationnp.matmul, np.dot, or the @ operator