Answer:
You can look it up
Explanation: if you don't know what it is look it up on .
The answer is B because it could be feasible but it’s not a need it and you got a time frame but it’s not a requirement and it doesn’t have to be unique.
Answer:
import numpy as np
import time
def matrixMul(m1,m2):
if m1.shape[1] == m2.shape[0]:
t1 = time.time()
r1 = np.zeros((m1.shape[0],m2.shape[1]))
for i in range(m1.shape[0]):
for j in range(m2.shape[1]):
r1[i,j] = (m1[i]*m2.transpose()[j]).sum()
t2 = time.time()
print("Native implementation: ",r1)
print("Time: ",t2-t1)
t1 = time.time()
r2 = m1.dot(m2)
t2 = time.time()
print("\nEfficient implementation: ",r2)
print("Time: ",t2-t1)
else:
print("Wrong dimensions!")
Explanation:
We define a function (matrixMul) that receive two arrays representing the two matrices to be multiplied, then we verify is the dimensions are appropriated for matrix multiplication if so we proceed with the native implementation consisting of two for-loops and prints the result of the operation and the execution time, then we proceed with the efficient implementation using .dot method then we return the result with the operation time. As you can see from the image the execution time is appreciable just for large matrices, in such a case the execution time of the efficient implementation can be 1000 times faster than the native implementation.
Answer:
a)- True
Explanation:
If two statements are inconsistent with each other it means that they are not telling the same, if they are not telling the same it means that only one of them COULD be true, but there is a third option where the two statements are wrong and non statement is telling the true...so:
If we have two statements inconsistent with each other, AT LEAST one of the statements is false.
Explanation:
commands to be and function arguments