Sampling from intersection of sphere and simplex

106 Views Asked by At

I need to isotropically sample vectors in $\mathbb{R}^d$ of given Euclidean norm $C$ with a restriction that components are positive and add up to 1. Can someone suggest a method to do it?

I tried sampling from sphere/plane intersection and rejecting points outside of the positive orthant, but the efficiency is bad. Unless $d$ is very low, this has almost 100% probability of rejection. Visualized below for $d=3$.

enter image description here