My goal is to uniformly sample from a convex polytope. I know that for the simpler case, where I have to uniformly sample from a simplex, I can use Bayesian Bootstrap, discussed in these posts:
https://cs.stackexchange.com/questions/3227/uniform-sampling-from-a-simplex
Therefore, I'm very interested in this approach. But I don't really know how to use Delaunay Triangulation here. What I have is a linear equation Ax = b and a linear inequation Cx <= b, and I want to sample x uniformly. Can someone tell me how to do the Delaunay Triangulation here? Thanks in advance!
The basic idea is to chop up the convex polytope into a bunch of simplices, then to pick one simplex at random (fairly) and then to sample within the simplex. The hardest part is determining the vertices of the polytope (which you need to triangulate it), since you have a facet-based description (inequalities) rather than a vertex-based description, and the conversion between them is well studied problem.
Assuming you have the convex polytope in a form that can be triangulated, then with the triangulation, you can pick one simplex at random weighted by its volume, then perform sampling within the simplex using Bayesian Bootstrap.
In light of all the difficulties here, depending on how many points you need to sample and the likely shape of the polytope, it may be easier to just use rejection sampling within a hypercube-like bounding volume.