Uniform Sampling on Intersection of Simplices I'm trying to sample uniformly on the intersections of faces of several simplicies, with all coordinates being non-negative. That is, given constraints
$$A\vec{w}=\vec{b} \ \ and \ \ \vec{w} \geq \vec{0} \ \ and \ \ \sum w_i = 1,$$
I want to sample $\vec{w}$ uniformly. $A$'s dimension is about $100 \times 10000$. A concrete example will be: 
$$A = \begin{bmatrix} 
    1 & 1 & 1 \\
    0 & 1 & 2
\end{bmatrix}, \ 
b=\begin{bmatrix} 
    1  \\
    0.7
\end{bmatrix}$$,
sample $\vec{w}$ uniformly from $Aw=b$ subject to $\vec{w} \geq \vec{0}$ and $\sum w_i = 1$ (This makes the sampling space bounded). Below is a graphical representation of the problem -- to sample uniformly from the red intersection line.

I am well aware that rejection-sampling and MCMC sampling can theoretically solve this problem. However, I have already implemented both approaches in programming, and neither of these two methods performs well enough. This is because the dimension of my sampling space usually goes up to 10000, and rejection sampling simply throws away too many points and MCMC is taking forever to converge. Therefore, I'm desperate to try new methods. Many thanks in advance!! (please do not provide answers using rejection sampling; methods that already have open-source programming implementations are favored)
 A: I am replying to Miller Zhu's comment (2nd comment to question), but the comment box doesn't have enough space.
I'm only using the inscribed ellipsoid to get a sense of the principal axes of the polytope. Since you don't have access to the vertices of the polytope, computing the inscribed ellipsoid is the only computationally tractable problem (the circumscribing ellipsoid needs vertices). With the ellipsoid, you can use the SVD of its quadratic form to get the principle directions, and then solve $O(n)$ linear programs to get the orthogonal bounding box aligned with those directions. This is assuming that your polytope is "skinny" and "non-aligned" with respect to the coordinate axes, in some sense; in this case rejection sampling is terrible since most of the time you will reject your points.
I'm assuming that it is only easy to sample in parallelopipeds (orthogonal boxes), so then you'd want to translate, rotate, and scale your polytope so that it "fills and makes best use" of an orthogonal box. The primary problem is finding its axes and center. By computing the inscribed ellipsoid, you are getting an idea of which axes are most principle (the eigenvectors of the ellipsoid's quadratic form). From that you can sample more intelligently in a more tightly fitting box.
I am not blind to the fact that in high dimensions, most of the volume of a convex set lies near its surface, so even using a rotated box may not reduce your rejection rate sufficiently, since you are essentially rejecting anything near the surface of the box. I just think that this is worth trying since it is (a) computationally tractable, (b) has some small chance of working, and (c) likely much easier than what you are asking for.
