"Surface Area" of $k$ simplex in $\mathbb{R}^{k}$?

2.7k Views Asked by At

Consider the $k+1$ vertices $(x_1,\ldots,x_{k+1})$ with $x_i\in\mathbb{R}^k,i=1,\ldots,k+1$. I know that the "volume" of the $k$-dimensional simplex formed by these vertices is proportional to

$$\left|\det\left( \begin{array}{ccc} 1 & \ldots & 1 \\ x_1^{\top} & \ldots & x_{k+1}^{\top} \end{array} \right)\right|$$

My question is: what is the formula to compute surface "area" of the simplex formed by $(x_1,\ldots,x_{k})$ in terms of determinant of these vertices?

Edit:

An example to make this more intuitive.

If suppose $k=3$, then I am looking for the area of the triangle with vertices $(x_1,x_2,x_3)$ (which is one of the 4 faces of the tetrahedron with vertices $(x_1,x_2,x_3,x_4)$ whose volume is proportional to:

$$\left|\det\left( \begin{array}{ccc} 1 & 1 & 1 & 1 \\ x_1^{\top} & x_2^{\top} & x_3^{\top} & x_{4}^{\top} \end{array} \right)\right|$$

)

4

There are 4 best solutions below

0
On BEST ANSWER

If the question is about the area of a single facet, you can find it by using Gram determinant, as already noted in one of the answers.

For the total surface area, you could calculate Gram determinants for each facet, but this is not the most computationally efficient approach.

Alternatively, you can first find the normals to each facet. This can be done via inverting a single $(k + 1) \times (k + 1)$ matrix, as explained here.

Let $F_i$ be the facet that does not contain vertex $x_i$. Find $n_i$, the unit normal vector to $F_i$. Then $h_i = \left| n_i^T(x_i - x_j) \right|$ for any $j \neq i$ is the height of the simplex, and $A_i = kV/h_i$ is the area of $F_i$. The simplex volume $V$, as you noted, can be found via a determinant. Then you just sum over $i$ to get the total surface area.

The most computationally intensive steps here are matrix inversion and determinant calculation, which are done only once and cost $\mathcal{O}(k^3)$ operations. In the straightforward approach, you would have to calculate Gram determinant $k + 1$ times, so the total cost would be $\mathcal{O}(k^4)$ operations.

4
On

The surface area is just the sum of the $k-1$ dimensional volumes of the faces. If you think in three space, the surface of a tetrahedron is the sum of the 2-volumes (areas) of the faces. So the surface area is $$\sum\left|\det\left( \begin{array}{ccc} 1 & \ldots & 1 \\ x_1^{\top} & \ldots & x_{k+1}^{\top} \end{array} \right)\right|$$ where there are $k+1$ terms in the sum. Each term deletes one of the $x_i$, so the determinant is of order $k$. For each term of the sum, you need to find a hyperplane of dimension $k-1$ that the face lives in, then find coordinates for the corresponding points in that hyperplane, then take the determinant.

4
On

Suppose that $v_1,\ldots,v_m\in\mathbb{R}^k$. The $m$-dimensional volume of the parallelepiped spanned by these vectors can be computed form their Gram-determinant.

The volume of the parallelepiped is $$ \sqrt{\det\begin{pmatrix} v_1\cdot v_1 & \dots & v_1\cdot v_m \\ \vdots & \ddots & \vdots \\ v_m\cdot v_1 & \dots & v_m\cdot v_m \\ \end{pmatrix}}. $$

The volume of the simplex that is the convex hull of $0,v_1,\ldots,v_m$ is $$ \frac1{m!} \sqrt{\det\begin{pmatrix} v_1\cdot v_1 & \dots & v_1\cdot v_m \\ \vdots & \ddots & \vdots \\ v_m\cdot v_1 & \dots & v_m\cdot v_m \\ \end{pmatrix}}. $$

0
On

The problem with the formula you're using is that it can only compute the volume of the $k$-simplex in $k$-dimensional space. There are other, more appropriate options, for example the Cayley-Menger determinant. It gives the volume of the simplex in terms of its edge lengths and thus is independent of the dimension of the space. Simply use that for computing the "volumes" of the sides of your simplex.