I have a List of N items, each of d dimensions (so essentially a N x d list). For each of the items, I want to find the product of item transposed with itself, So, x.xT for each of the N items. This will give me a N x d x d array. How can I do it efficiently in numpy. At this moment, I am looping through each of the items and finding the transpose separately.
for i in range(len(mu)): current_mu = mu[i] # list of d elements distances =  for index in range(len(samples)): distance = np.asarray(current_mu - samples[index])[:, None] # list of d elements distances.append(distance * distance.T) # each becomes d x d
Can I remove the second nested loop or is it required?