Clustering vectors which values are probabilities (summing to 1) I have an n-by-m array, where every column sums to 1, in other words I have m probability vectors of size n. I would like to cluster them into several categories. 
I will appreciate, if somebody points me to a robust method that can be used for this purpose. 
The crucial point here is that these are probability vectors. So I am reluctant to use anything that is based on Euclidean distance. 
 A: Appropriate distance functions for probability distributions include:


*

*Histogram Intersection distance

*Chi² distance

*Jensen Shannon divergence (in some symmetrical form, I don't remember the name of that)

*Hellinger distance


There may be some more in ELKI. These are the ones I have played around with.
A: Each of your n-dimensional vectors lies on the surface of a bounded n-1 dimensional plane. A simple example is in two dimensions, where $x+y=1$ and $0 \le x,y \le 1$. One possible metric would be the cosine similarity:
$similarity = cos(\theta) = \frac{\mathbf{x}\cdot \mathbf{y}}{\vert \vert x \vert \vert \,\ \vert \vert y \vert \vert}$
which gives the angle made between the vectors. This is a similarity metric, which is 1 if $\mathbf{x}$ and $\mathbf{y}$ are equal. For a distance, use $\theta$. 
I don't think there's anything wrong with using the Euclidean distance in this case though. I would try both, and see how the results compare. If your data is not too large, I'd recommend density-based clustering, like DB-scan.
