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:
Yes this claim is correct.
Explanation:
The shear stress at any point is proportional to the velocity gradient at any that point. Since the fluid that is in contact with the pipe wall shall have zero velocity due to no flow boundary condition and if we move small distance away from the wall the velocity will have a non zero value thus a maximum gradient will exist at the surface of the pipe hence correspondingly the shear stresses will also be maximum.
C my friend 20 characters suck
Can u be more clear with the question plsss?