Replaced * operation by np.dot to enhance performance of SVD