0
$\begingroup$

I am attempting to find a generalised formula for the normal of a simplex facet in n-dimensions.

For example if I had the 2 dimensional simplex formed by the vertices ABC below. Then I want to find the normal for the facet formed by the vertices BC. The reason I want the normal is because I'm trying to find the hyperplane that intersects vertices BC, and is equal to 1 at vertex A. Is there a nice way of doing this?

One way I thought of would be to find D. and then use the formulas: $$W = \frac{A-D}{||A-D||_2}$$ $$b = -D\cdot{W}$$ for the plane: $$xW + b = y$$ However, I don't know how to find D for an n-dimensional simplex facet either.

I'm not very knowledgeable in linear algebra or geometry, so any help would be great.

Example

$\endgroup$
1
$\begingroup$

Let $x_0,\ldots,x_n$ be the vertices of the $n$-dimensional simplex.

You can find all normals of the facets using the inverse of the following matrix: $$ \begin{pmatrix} \;\; & x_0^T & \;\; & 1 \\ \;\; & x_1^T & \;\; & 1 \\ \;\; & \vdots & \;\; & \vdots \\ \;\; & x_n^T & \;\; & 1 \\ \end{pmatrix} $$ Note that this matrix is invertible unless the simplex is degenerate. The determinant of this matrix is $\pm n!$ times the volume of the simplex.

Let's compose the inverse of the matrix of vectors $y_0,\ldots,y_n \in\mathbb{R}^n$ and numbers $c_0,\ldots,c_n\in\mathbb{R}$ as follows: $$ \begin{pmatrix} \;\; & x_0^T & \;\; & 1 \\ \;\; & x_1^T & \;\; & 1 \\ \;\; & \vdots & \;\; & \vdots \\ \;\; & x_n^T & \;\; & 1 \\ \end{pmatrix} \begin{pmatrix} \; & & & \; \\ y_0 & y_1 & \cdots & y_n \\ \; & & & \; \\ -c_0 & -c_1 & \cdots & -c_n \end{pmatrix} = \begin{pmatrix} 1 & & & 0 \\ & 1 & & \\ & & \ddots & \\ 0 & & & 1 \end{pmatrix} $$ Then you get $\langle x_i\, ,\,y_i\rangle = 1+c_i$ and $\langle x_i\, ,\,y_k\rangle = c_k,\;i\neq k.$ This means $$ i\neq k,\,j\neq k\; \Rightarrow \; \langle x_i-x_j\, , \,y_k \rangle =\langle x_i\, , \,y_k \rangle - \langle x_j\, , \,y_k \rangle = c_k - c_k = 0 $$ which shows that $y_k$ is perpendicular to the facet opposite to $x_k.$

Note that the vectors $y_k$ are not necessarily unit vectors. You might have to scale them.

$\endgroup$
2
  • $\begingroup$ That is just what I was looking for, thank you so much! $\endgroup$ – Michael Murray May 21 '20 at 11:25
  • $\begingroup$ You are welcome! $\endgroup$ – Reinhard Meier May 21 '20 at 11:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.