[R] Re : Generate a random bistochastic matrix
Rolf Turner
rolf at erdos.math.unb.ca
Mon Oct 16 17:50:24 CEST 2006
I don't think this idea has been suggested yet:
(1) Form all n! n x n permutation matrices,
say M_1, ..., M_K, K = n!.
(2) Generate K independent uniform variates
x_1, ..., x_k.
(3) Renormalize these to sum to 1,
x <- x/sum(x)
(4) Form the convex combination
M = x_1*M_1 + ... + x_K*M_K
M is a ``random'' doubly stochastic matrix.
The point is that the set of all doubly stochastic matrices
is a convex set in n^2-dimensional space, and the extreme
points are the permutation matrices. I.e. the set of all
doubly stochastic matrices is the convex hull of the the
permuation matrices.
The resulting M will *not* be uniformly distributed on this
convex hull. If you want a uniform distribution something
more is required. It might be possible to effect uniformity
of the distribution, but my guess is that it would be a
hard problem.
cheers,
Rolf Turner
rolf at math.unb.ca
More information about the R-help
mailing list