18
$\begingroup$

For $d=3$, vertex coordinates of a regular simplex have a simple expression since vertices correspond to four vertices of a cube. Is there a simple expression for higher dimensions? In particular I'm interested in $d=2^n-1$, integer $n$.

Edit: by coordinates I mean points in $\mathbb{R}^d$. Every $d$-simplex has a simple expression for coordinates in $\mathbb{R}^{d+1}$, as Mariano shows below

$\endgroup$
1

7 Answers 7

15
$\begingroup$

It is known that there is a regular simplex of side length $\sqrt{(d+1)/2}$ whose vertices are vertices of the cube $[-1,1]^d$ in $\Bbb{R}^d$ if and only if there exists a Hadamard matrix of order $d+1$; this is a square matrix of $\pm 1$-entries with pairwise orthogonal columns.

In particular, there exist Hadamard matrices of order $2^n$, one of which can be constructed using the recursive Sylvester's construction as explained on the above linked wikipedia page:

Let $H_0=[1]$ and $H_{n+1}=\left[\array{H_n & H_n \\\\ H_n & -H_n}\right].$

Note that the first column of $H_n$ consists only of ones. Delete it to obtain $2^n$ row vectors in $\Bbb{R}^{2^n-1}$. These are the coordinates of a regular simplex.

$\endgroup$
3
  • $\begingroup$ Actually, I was already looking at Hadamard matrices in relation to this problem because such matrix is a common design matrix for exponential families, somewhat special in that it gives a transformation that decorellates components of a uniform multinomial random variable. So now, in addition to decorrelating components, it maps the variable (which lies in $2^n-1$ simplex embedded in $d=2^n$ space since variable l_1 norm is fixed) into d=2^n-1 dimensions with nice expression for extreme points, neat! $\endgroup$ Commented Sep 14, 2010 at 22:14
  • $\begingroup$ Do you have a reference or a place where I can read more about this simplex in cube<->hadamard connection ? $\endgroup$ Commented Sep 20, 2010 at 2:16
  • $\begingroup$ There is also an equivalence with inscribing cross polytopes in cubes. A nice reference to this and more is Adams, Zvengrowski and Laird, Vertex embeddings of regular polytopes, Expo. Math. 21 (2003), no. 4, 339--353. I can't find an open version on the web, but the link to the published version is dx.doi.org/10.1016/S0723-0869(03)80037-3 . $\endgroup$ Commented Sep 20, 2010 at 9:17
14
$\begingroup$

One interesting problem is to determine the $n$ such that there is a regular simplex in $\mathbb{R}^n$ with rational/integer coordinates. This is a well-known old problem which I discussed in this 1998 usenet thread, and is a nice application of the Hasse-Minowski theory of rational quadratic forms. The answer is yes iff $n+1$ is the sum of one, two, four or eight odd squares.

$\endgroup$
9
$\begingroup$

The $d$ points $(0,\dots,0,1,0,\dots,0)$ are the vertices of a regular $(d-1)$-simplex. If you want it to be centered at the origin, just substract their barycenter from them.

$\endgroup$
8
  • 1
    $\begingroup$ Yes, this seems to work to get a $(d-1)$-simplex in $\mathbb{R}^d$, but the question is I think about a $d$-simplex in $\mathbb{R}^d$. $\endgroup$ Commented Sep 14, 2010 at 19:00
  • $\begingroup$ that gives coordinates in d+1 dimensions, but it's not clear when it corresponds to easy expression in d dimensions (like it does for 3-simplex) $\endgroup$ Commented Sep 14, 2010 at 19:01
  • 1
    $\begingroup$ You may want to add the detail that you want the points to be in some specific space to the question, Yuraslov. $\endgroup$ Commented Sep 14, 2010 at 19:04
  • 2
    $\begingroup$ I've done this recently, you just add in a point at $$ (-t, -t, \ldots, -t) $$ and figure out what $t$ needs to be. Then shift if it needs to be centered at the origin. $\endgroup$
    – Will Jagy
    Commented Sep 14, 2010 at 19:18
  • 2
    $\begingroup$ In $R^n,$ all coordinates of the final point are $$ \frac{1 - \sqrt{1 + n}}{n} \; \; = \;\; \frac{-1}{1 + \sqrt{1 + n}} $$ $\endgroup$
    – Will Jagy
    Commented Sep 14, 2010 at 21:08
9
$\begingroup$

Compute the full Q matrix from the QR decomposition of a column vector of ones, and drop the first column.

eg in R+

simplex <- function(n) {
    qr.Q(qr(matrix(1,nrow=n)),complete=T)[,-1]
}
$\endgroup$
3
  • $\begingroup$ This is amazing! So clever $\endgroup$
    – pharmine
    Commented Oct 20, 2016 at 7:51
  • $\begingroup$ Neat trick! ${}$ $\endgroup$ Commented Apr 8, 2017 at 14:33
  • $\begingroup$ Matlab n=10;[q,r] = qr(ones(n,1)); q=q(:,2:end). The 10 rows are the 10 vertices of a 9 dimensional simplex. $\endgroup$
    – Pushpendre
    Commented May 3, 2018 at 3:09
1
$\begingroup$

Since this question is back on the front page, I wanted to mention the simplex code. For $b\ge 2$, and $n\ge1$, the code consists of $b^n$ code words, each of which is a $b$-ary string of length $s=(b^n-1)/(b-1)$. The Hamming distance between any two codewords is $b^{n-1}$. Therefore, if you write the $(b-1)$-simplex using your favorite coordinates in $\mathbf{R}^{b-1}$, then substituting these $b$ vertices for the $b$ digits in your codewords and concatenating the resulting words into vectors in $\mathbf{R}^{(b-1)s}$ gives you a nice set of coordinates for the $(b^n-1)$-simplex.

For example, taking $b=2$ and $n=2$ gives the 4 alternating vertices of the 3-cube.

$\endgroup$
1
$\begingroup$

The coordinates of the vertices of a regular ''n''-dimensional simplex can be obtained from these two properties,

  1. For a regular simplex, the distances of its vertices to its center are equal.
  2. The angle subtended by any two vertices of an ''n''-dimensional simplex through its center is $\arccos\left(\tfrac{-1}{n}\right)$

If we initialize our first vertex to be along the first dimension, we can iteratively find the subsequent vertices by following the criteria above. Here's the code in Julia:

function regular_simplex(ndims, radius)
  verts = [zeros(ndims) for i in 1:(ndims+1)];
  for i in 1:(ndims+1)
    if i > 1
      for j in i:(ndims+1)
        verts[j][i-1] = (-dot(verts[i-1], verts[j]) - 1 / ndims) / verts[i-1][i-1];
      end
    end
    if i <= ndims
      verts[i][i] = sqrt(1 - sum(verts[i].^2))
    end
  end
  return verts .* radius;
end
$\endgroup$
0
$\begingroup$

We can orient and list the n+1 n-simplex unit vectors u{0:n} in such a way that the 0th simplex unit vector u{0} is equivalent to the 0th dimensional unit vector x{0}, the 1st simplex unit vector u{1} is a linear combination of the 0th and 1st dimensional unit vectors x{0} and x{1}, the 2nd simplex unit vector u{2} is a linear combination of the 0th through 2nd dimensional unit vectors, x{0}, x{1}, and x{2}, etc.

Always using a new dimensional unit vector in describing the next simplex unit vector. The pattern is broken in describing the final simplex unit vector u{n}, because there can be only n different dimensional unit vectors, but n+1 simplex unit vectors.

n+1 total vertices for regular n-simplex with unit radius n-circumsphere given as unit vectors oriented such that the jth simplex vector u{0<=j<=n-1} is a function of dimensional unit vectors x{0:j} and the final vector u{n} a function of x{0:n-1}

for 0<=j<=n-1
u{j} = sqrt((n+1)(n-j-1)/(n(n-j))) x{j} - sum{0<=k<=j}(sqrt((n+1)/(n(n-k)(n-k-1))) x{k})

and final vector

u{n} = -sum{0<=k<=n-1}(sqrt((n+1)/(n(n-k)(n-k-1))) x{k})

n+1 simplex vectors, u, as a function of n dimensional vectors, x, oriented such that u(j) is a function of only x(k<=j)

Matrix picture

$\endgroup$

You must log in to answer this question.

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