0
$\begingroup$

I'm looking for a function that maps n variables to points on the surface of an n+1-dimensional cross polytope. For example, given one variable, the function would return a point on the perimeter of a square. Given two variables, it would return a point on the surface of an octahedron. Given three variables, it would return a point on one of the facets of a 16-cell. And so on.

Failing that, does anyone know a formula or algorithm for random point picking on the surface of a unit n-ball in the L1-norm? (These are also cross polytopes.) There are formulas for picking uniformly distributed random points within a ball, but I haven't been able to find one for picking points on its facets.

This is for an agent-based simulation in which the points on these objects represent a player's legal moves. A continuous function that does one of the above things would make it fairly easy to search for optimal moves.

$\endgroup$
2
  • 1
    $\begingroup$ You have to be more specific on what conditions of the map you seek. Must it be surjective? Can I map all points to a corner? Based on your last paragraph, I think you seek a continuous parametrization of the surface. But this should be straightforward to do from a sphere: Just take the vector and project onto the surface by normalization... $\endgroup$ Commented Oct 6, 2015 at 1:34
  • 1
    $\begingroup$ Do you need uniform distribution on the surface? $\endgroup$ Commented Oct 6, 2015 at 5:44

1 Answer 1

2
$\begingroup$

To expand on my comment: the surface of the cross polytope is given by $\{x : \vert x \vert_1 = 1 \}$.

Thus, the map $f(x_1,\dots,x_n) = (x_1,\dotsc,x_n)/(x_1+\dots+x_n)$, almost does the job, but it requires a different number of input variables. By composing this with a map that sends a parametrization of the $n-1$- dimensional sphere $S^{n-1}$ to $\mathbb{R}^n$, you get such a map you seek.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged .