A simplex (plural: simplices) is the generalisation, to arbitrary dimension,
of triangles in two dimensions and tetrahedra in three. It most prominently has
vertices, edges joining its vertices and further kindred structures as we go to
higher dimension, generically termed faces

. What follows is a rather
concrete model of a fairly general description of simplices.

The canonical n-simplex, for some given natural n, is the collection S(n) =
{({positives}: p :1+n): sum(p) = 1}. A topological n-simplex is any topological
space topologically isomorphic to S(n). A geometric n-simplex is any image of
S(n) under a linear map; I shall describe it as voluminous

precisely if it preservess linear independence of the vectors from any one
vertex of S(n) to each of the others. (A voluminous geometric simplex of
maximal dimension in any linear space has edges, out of each vertex, that form a
basis for the space.)

Note that I have not constrained p in S(n) to accept all members of 1+n =
{0,…,n} as input; but, for its sum to be 1, it must accept at least one
input. For all practical purposes, if p ignores some i in 1+n, one may treat it
as if p(i) were 0; however, allowing p to ignore i in this case enables me to
insist on all of p's outputs being positive. It also requires the definition of
addition to be of form: p+q maps i to p(i)+q(i) if both accept i, to p(i) if
only p does and to q(i) if only q does; p+q ignores i if both p and q do so.
This way, (p:i←i:), the collection of inputs p accepts, is
the support

of p – those i in 1+n for which p(i) is positive.

The above definition can be applied to any positively-ordered ringlet (including the {positives} of any ringlet of characteristic 0, although the rest of the ringlet is ignored by the simplices). Below I shall mainly focus on the case of a division ringlet, whose {positives} are apt to be {positive reals} or {positive ratios}. In particular, because {positives} forms a multiplicative group, for any positive p the collection {({positives}: f :1+n): sum(f) = p} is simply the result of scaling S(n)'s members by p; so the particular value we require each member of S(n) to sum to makes no material difference to the simplices we obtain. The story is quite different for a ringlet such as {naturals} in whose {positives} the multiplicative identity is the only unit.

For this eccentric little sub-section, in which
the naturals 0 = {} and 1 = {0} shall be
prominent, I'll distinguish from them the multiplicative identity of {positives}
as one

and, if the ringlet whose positives those are has an additive
identity, that shall be zero

; words name scalars, digits identify
naturals. So the n-simplex is, briefly, S(n) = {({positives}: f :1+n): sum(f) =
one}.

Pause to wind S(2), S(1), … backwards and we find: S(n) is the
canonical n-simplex; there are n degrees of freedom of movement within it; S(2)
is a triangle with three sides, each of which is a 1-simplex; S(1) is a line
with two ends, each of which is a 0-simplex. We have S(0) = {mapping
({positives}:f:1): sum(f) = one}, but a mapping (:f:1) is either [] or [f(0)];
only the latter can have sum one, and that only when f(0) = one; so S(0) =
{[one]} has exactly one member, the list with a single entry, whose value is
one. So our canonical point (i.e. 0-simplex) is a set with one member, as one
might expect. If the pattern we saw for S(2) and S(1) is followed, it should
have a boundary

with a single component; but what would that component
be ?

The definition of S(0) is as a subset of {mappings ({positives}: f :1)}; so
we can naturally consider {mappings ({positives}: f :0)} as the next space down,
within which to look for a boundary for S(0). However, 0 = empty, so the only
mapping ({positives}: f :0) is in fact empty itself, the unique relation (: f
:{}), and its sum is the scalar zero (if one is available, but in any case), not
one; so no mapping ({positives}: f :0) has sum(f) = one. Thus {mapping
({positives}: f :0): sum(f) = one} = {} may be construed as a sort
of S(−1)

; and the boundary of S(0) is just exactly one of it
– the empty set.

How about a boundary for that ? Fortunately the pattern we've seen
from higher dimensions tells us how many components this has: 0 of them, so we
don't need to ask what those components are, because there are none of them.
That makes sense, of course: empty has nothing in it for anything to be the
boundary of. So we're saved the need to invent a meaning for
a (−2)-simplex

– which is good, because I can't contrive any
notion at all of what one of those would be.

As S(−1) is empty, and any n-simplex is isomorphic to S(n), every
(−1)-simplex is empty, i.e. there *is* only one (−1)-simplex;
the empty simplex is the boundary of every 0-simplex; and, as a
(−1)-simplex, it has no boundary. This is largely irrelevant, but makes
some inductive proofs later on easier to kick-start.

The fact that we go down to −1 and no further matches
the fact that the naturals go down to 0 and no further; we've used a space of
dimension 1+n in which to specify the n-simplex, which introduces
an off-by-one

complication; one might more cleanly index simplices by
their number of vertices, so that they are simply labelled by the naturals
without having to go down to −1. However, in actual use of simplices to
understand other things, it is most convenient to index them by the number of
independent directions of movement within the simplex; which, furthermore,
matches orthodoxy, so we must just live with the minor quirk of the base

being off by one. In any case, the boundary of a vertex is not of much
interest, so seldom intrudes into the discussion other than as a formality.

Consider the function:

- towards = (: (: (: t.q +(1−t).p ← p :S(n)) ←t :{positives ≤ 1}) ←q :S(n))

for any point q of S(n), towards(q) is a linear deformation of the whole of S(n) away to q: for each positive t ≤ 1, towards(q, t) is a mapping from S(n) into itself; for each p in S(n), (: towards(q, t, p) ←t :) is a linear trajectory in S(n) from p at t = 0 to q at t = 1.

Any notion of continuity for relations
with {positives} naturally induces one for relations with S(n), generated by
taking the mappings ({positives}: p(i) ←p |S(n)), for each i in 1+n, to be
continuous. For this sense of continuity, any output of towards deforms any
path in S(n) continuously onto a constant path

– i.e. a single
point – even if the path is periodic and the deformation is constrained to
preserve this.

An alternative way of reading S(n) is as the collection of propability
distributions on the collection 1+n = {0,1,…,n}, i.e. the collection of
positive measures on 1+n having total measure 1. For any type of number in use,
that I'll refer to as scalars

, a measure on N is a linear map from, for
each linear domain U, {mappings (U: |N)} to U; the total of such a measure is
its output when given, as input, ({scalars}: 1←i |N), which maps each
member of N to the fixed value 1. When N is finite, as is 1+n above, we can
define summation over N and represent any measure on N by a mapping ({scalars}:
m :N); the measure is then (U: sum(m.p) ← p :{mappings (U::N)}), wherein
m.p = (U: m(i).p(i) ←i :N) with (:m.p|) equal to the intersection of (:m|)
and (:p|), as is usual
for pointwise multiplication.
That this is linear in p follows trivially,
using pointwise addition on
mappings (U:q:N), so that (:q+p|) is the union of (:q|) and (:p|).

Describe a measure on a finite collection, N, as positive

if it can
be written, in terms of some ({positives}: m :N), as sum(m.p) ←p; then sum
gives us a one-to-one correspondence between members of S(n) and positive
measures on 1+n with total measure 1. (It might be better to call these
non-negative, since some such positive

measures still map some genuine
mappings ({positives}::N) to zero.)

A general n-simplex is continuously isomorphic to S(n); identify, as its vertices, the positions corresponding to vertices of S(n), namely {({1}:|{i}): i in 1+n}, where the whole sum is concentrated on one member of 1+n; on S(n) we have the scalar functions of position ({positives}: p(i) ← p |S(n)) for each i in 1+n, which we can compose with our isomorphism to obtain, for each i, a mapping ({positives}: |n-simplex); identifying i with its vertex, we thus obtain a mapping from vertices to continuous non-negative scalar functions of position, within the simplex; each vertex's scalar function is 1 at that vertex; the sum of all these functions, at any given position, is 1; so one vertex's scalar function, evaluated at another vertex, either gives 0 or rejects the input. Each scalar function is positive throughout the interior of the simplex.

We can equally construe this as a mapping from positions in the simplex to
positive measures on the vertices of the simplex. When the vertices of S(n) are
considered as vectors in {mapping ({positive scalars}::1+n)} and the measure
associated with position p is applied to ({vectors}: ({1}:|{i}) ←i :1+n),
the vector it produces is simply sum(: p(i).({1}:|{i}) ← i :1+n). Now,
p(i).({1}:|{i}) maps j to p(i) if j is i and ignores j, or maps it to 0,
otherwise; so summing over i, we get a mapping which maps j to p(j); which is to
say, the mapping p. Thus the measure on the simplex's vertices associated with
a position within the simplex may sensibly be thought of as describing the given
position as the average

of the vertices, using positive weightings with a
total weight of 1.

Now, for any subset M of 1+n, there's a corresponding subset of S(n), namely those f in S(n) for which (:f:M) = f, i.e. M subsumes (:f|); since sum(f) is one, there is no such f when M is empty, so this subset of S(n) is empty if M is. Otherwise, let 1+m be the number of members M has; m is at most n and our subset of S(n) is an m-simplex; it's described as an m-face of S(n); likewise, a continuum isomorphism (i.e. a continuous isomorphism with continuous inverse) between S(n) and an n-simplex maps this face to an m-face of the n-simplex. An n-simplex has i-faces for i in 1+n; its only n-face is itself, its 0-faces are its vertices, its 1-faces are its edges. [In principle, at least, the (−1)-simplex boundary of every 0-face can also be counted as a (−1)-face. As empty is unique, each simplex has exactly one (−1)-face.] The number of i-faces of an n-simplex is simply the number of subsets of 1+n that have 1+i members, chose(1+n, 1+i) = (1+n)!/(1+i)!/(n−i)!

Let K be M's complement

in 1+n, i.e. K and M have empty intersection
and their union is 1+n; K = {i in 1+n: i not in M}. This corresponds to
partitioning the vertices of a simplex: each part yields a face, on which the
scalar functions associated with the other part's vertices are all zero; if 1+k
is K's number of members, so 1+k+1+m=1+n or 1+k+m=n; we get two opposite
faces

, a k-face and an m-face with 1+k+m = n.

Given K, M et al. as above, we have scalar functions on S(n) defined by (: sum(:p:K) ←p :S(n)) and (: sum(:p:M) ←p :S(n)); clearly, these add up to 1 throughout S(n); the former is zero, and the latter is one, on the m-face {mapping ({positive}: p :M): sum(:p:M) = 1}; and conversely for the k-face with K in M's place.

One example of a linear map from an n-simplex is the linear map that forgets
a single co-ordinate: for example, the last, (: (:f:n) ←f :{({positives}: p
:1+n): sum(p) = 1}). This maps our canonical n-simplex to {({positives}: p :n):
sum(p) ≤ 1}; for any f in this image set, the forgotten

f(n) can be
recovered by requiring sum(f) to be 1 – if sum(:f:n) is 1, f does not
accept n as an input; otherwise, sum(:f:n) < 1 and there is some positive
which, when added to sum(:f:n), gives 1; so we extend f to map n to this
positive. So there is a natural isomorphism between the n-simplex and
the corner

, {({positives}: f :n): sum(f) ≤ 1}, enclosed between the
(n-1)-simplex and the origin of its linear space. Furthermore, we get such an
isomorphism for each natural j ≤ n, (: (:f:j)&unite;(: f(i+j+1) ←i+j :n)
←f :), and composing these isomorphisms with one another's inverses
provides a family of auto-isomorphisms of the n-simplex that correspond to
swapping two co-ordinates in {({positives}: :1+n)}; the group of
auto-isomorphisms generated by these correspond to co-ordinate
permutations.

In one dimension, we can measure the length of the line (one-simplex); in two dimensions, we can measure the area of a triangle (two-simplex); in three dimensions, we can measure the volume of a tetrahedron (three-simplex). At each dimension, we're using a measure (length, area, volume, …); if we use a higher dimension's measure on a lower dimension's simplex we get zero – each triangular face of a tetrahedron has zero volume; each side of a triangle has zero area (and volume); the end-points of a line have zero length (and …). The interesting value, then, is the n-measure of an n-simplex, for each natural n. We can address S(n) itself or any geometric n-simplex.

For the general geometric n-simplex, the measure is not affected by any translation; and any linear map transforms the n-measure by its determinant – or, more formally, by the determinant of the linear map's restriction to an n-dimensional subspace, parallel to our simplex, of the potentially >n-dimensional space in which we found our n-simplex. In particular, if we scale a face of a (1+n)-simplex by some factor t between zero and one, the n-measure of the scaled face is simply power(n, t) times the n-measure of the unscaled face. This enables us to obtain the (1+n)-measure, V, of a (1+n)-simplex from the n-measure, A, of one of its n-faces, an n-simplex, and the length, h, of the line, perpendicular to this face, from the opposive vertex to this face or its extension along vectors within it:

- V
- = integral(: A.power(n, t).h.dt ←t; t<1 :{positives}}
- = A.h/(1+n)

which simply generalises the relevant formulae for the triangle (half base times height) and tetrahedron (one third base area times height) in an entirely unsurprising manner. Note that the n = 0 case, where we know the measure of our 1-simplex to be simply its length, V = h, gives h = V = A.h/1, so the 0-measure of the 0-simplex at either end must be A = 1; i.e. every 0-simplex has 0-measure 1. That makes sense: the 0-measure just counts how many points it sees. (For the remaining step down, 1+n = 0, V is the 0-simplex's measure, V = 1. The extent of that 0-simplex is zero, no matter what direction you want to look at it from; so, whatever its interpretation, h = 0 is the only possibility; whence (1+n).V = h.A is fatuously satisfied, 0.1 = 0.A, without telling us anything about the measure A of the −1-simplex; it is left indeterinate, which seems fair enough – I have no conception of what a −1-measure would be.)

This suffices to determine the n-measure of our canonical S(n) for each
natural n, given the relevant lengths, using the usual root mean square

length in {mapping ({positives}::1+n)}. S(0) has measure 1. For each natural
n, the line from vertex ({1}||{1+n}) of S(1+n) at right angles to the opposite
face, S(n), meets the latter at its mid-point, ({1/(1+n)}:|1+n), so the square
of its length (a sum of 1 from co-ordinate 1+n of the difference, plus 1+n
terms, each 1/power(2, 1+n), from co-ordinates 0 through n) is 1 +1/(1+n) =
(2+n)/(1+n). Let M(n) be the measure of the canonical n-simplex; we have M(0) =
1 and can now infer (1+n).M(1+n) = M(n).√((2+n)/(1+n)) for each natural n,
yielding n!.M(n) = √(1+n) for each natural n. In particular, M(1) =
√2 is the length of every side of every canonical simplex, so
M(n)/power(n/2, 2) is the measure of the n-simplex with unit sides. In any
case, no matter what the side-length, unless it increases with n, the measure of
the n-simplex tends rapidly towards zero as n increases, thnaks to the factor of
n! by which it divides √(1 +n).

For a given geometric n-simplex in some linear space V, we simply need to construct the linear (V:|{mapping ({positives}::1+n)}) whose images of the vertices of S(n) – whose position vectors form the standard basis of the linear map's input space – are the vertices of our geometric n-simplex. Then take the restriction of this linear map to the space {mapping ({reals}:f:1+n): sum(f) = 0} and compute its determinant. Interestingly, formulae attributed to Hero of Alexandria (60 AD) and to Niccolo Fontana Tartaglia (16th century) give the area and volume (respectively) of a general triangle and tetrahedron as square roots of determinants of (symmetric) matrices expressed entirely in terms of the lengths of the edges. It would be interesting to see how these generalise.

Written by Eddy.