What is a good way to simplicize the integer lattice?

456 Views Asked by At

I have a function $f$ defined on the positive integer lattice in $\mathbb{R}^n$ (i.e. the vectors in $\mathbb{R}^n$ whose coordinates are all nonnegative integers). I want to extend the domain of $f$ to all of $\mathbb{R}^n_{\ge 0}$ in such a way that $f$ is continuous. I think the best way to do this is by coming up with some simplicization of the integer lattice, then expressing each point by its barycentric coordinates in its simplex and using this to compute a weighted average of the value of the function at the vertices of the simplex.

What is a good, simple way to simplicize the integer lattice, so that when I take a point on input I can quickly determine which $n+1$ lattice points define the simplex containing my point?

2

There are 2 best solutions below

2
On BEST ANSWER

A good way to do the simpex division can be based on the ordering of the coordinates. In the unit hypercube with coordinates $(x_1,...,x_n)$ with each $x_i \in \{ 0,1 \}$, define a simplex for each ordering of the list of coordinates to be that sequence obtained by only using the vertices of the hypercube which are in that ordering. Then on taking a given input point, you only need check the ordering of (fractional parts of) its coordinates to see which of these simplices to use, and what are the vertices for that simplex. Note that there are (as expected) $n!$ such simplices making up each $n$-cube.

Of course this must be done "modulo the integer lattice", that is, one must first take integer and fractional parts of the given point $P$ in $n$-space, and then get its simplex (using the ordering of its fractional parts) in the unit hypercube whose origin is at the point given by the floors of the coordinates of $P$.

For example in the 3-space unit cube with the ordering $x_2 \le x_3 \le x_1$ our four vertices will be $$[1]\ \ (0,0,0),\ (1,0,0),\ (1,0,1),\ (1,1,1),$$ these being all the $0,1$ triples whose coordinates satisfy $x_2 \le x_3 \le x_1$.

This means for example that the data point $(4.7,9.2,16.4)$ would be associated to the hypercube based at $(4,9,16),$ and then since the fractional parts satisfy $.2 <.4<.7$ we are in the case $x_2 \le x_3 \le x_1$ mentioned above and use the simplex with vertices mentioned in [1].

0
On

there are many ways to obtain a simplicial subdivision of $R^n$ that will include the integer lattice points. Without further knowledge of the properties of the extension you seek it is very hard to give a good answer (notice that just to obtain a continuous extension (or even infinitely differentiable one) of a function defined on a set of isolated points can be done quit trivially).

Any way, for a simplicial subdivision, you can just consider each hypercube of adjacent lattice vertices, add the point in the middle, and connect it to all the vertices in the hypercube. Then consider each face of the hypercube and connect all the dots there. Then connects all the dots in any face of a face, and so on.