Loading [MathJax]/jax/output/CommonHTML/jax.js
iterated geodesic triangles

Heisenberg group in Virtual Reality

The Heisenberg group is R3 with an interesting metric structure. Usually one denotes points in the Heisenberg-Group by (x,y,t)R3. It is an active area of research with many open questions, some for a long time.

This project aims at visualizing and learning about the Heisenberg group in Virtual Reality. The main topics are structure and shapes of geodesics.

This is part of undergraduate research projects in progress with

  • Celine Cui
  • Isaiah Glymour
  • Divya Guwalani
  • Caroline Kulczycky
  • Brian Popeck
  • Matthew Snyder
  • Amy Waughen
  • Joshua Ascher

An Introduction to the Heisenberg group

The horizontal space at a point (x,y,t) tells us the permissible directions. Usually it is described as a kernel of a one-form α=dt+2(xdyydx). At a point (x,y,t) the horizontal vectors v=(v1,v2,v3) are exactly those which satisfy 0=v3+2(xv2yv1) The horizontal vectors form a two-dimensional vector space in R3 with basis (X,Y) where X:=(1,0,2y),Y:=(0,1,2x) and v=(v1,v2,v3) is horizontal if and only if v=v1X+v2Y The lenght of a (horizontal!) vector v is defined as |v1|2+|v2|2

A horizontal curve γ:[a,b]R3 with derivative ˙γ(t) satisfies 0=˙γ3(t)+2(γ1(t)˙γ2(t)γ2(t)˙γ1(t))

Observe that this means in particular that if we know the projection into R2 of γ, i.e. first two entries of the curve γ1(t) and γ2(t) then we can compute γ3(t)=γ3(0)t02(γ1(s)˙γ2(s)γ2(s)˙γ1(s))ds

The lenght of a (horizontal!) curve is defined as L(γ):=ba|˙γ1(t)|2+|˙γ2(t)|2dt

A curve of (locally) shortest lenght is called a geodesic.

Isometries of the Heisenberg group

There are three ``isometries” for the Heisenberg group:

  • scaling: for a point p=(x,y,z) and a scale r>0 we define δr(p):=(rx,ry,r2t). If γ:[a,b]R3 is a horizontal curve, then so is η(t):=δrγ(t), and we can compute the lenght L(η)=rL(γ).

  • translation: this is typically referred to as the group structure: (x,y,t)(x,y,t):=(x+x,y+y,t+t+2(xyxy)) If γ:[a,b]R3 is a horizontal curve and pR3, then so is η(t):=pγ(t); The lenght does not change, L(η)=L(γ).

  • rotations: Let P be a rotation (orientation preserving) in R2, that is PSO(2), or equivalently for some rotation angle α P=(cos(α)sin(α)sin(α)cos(α)). We denote by for vR3 let ˜v=(v1,v2) be the projection into the (x,y)-plane. We then can rotate via P in the (x,y)-plane, leaving the z-component untouched. rot(v,P):=(P˜v,v3). Let γ:[a,b]R3 is a horizontal curve and PSO(2) a rotation. Then so is η(t):=rot(γ(t),P); The lenght does not change, L(η)=L(γ).

Equivalently, for α(0,2π) and vR3 we have

rot(v,α):=(cos(α)sin(α)0sin(α)cos(α)0001)v

Horizontal straight lines

The simples horizontal lines from a point p=(p1,p2,p3) in the direction of a vector VH0H1, i.e. V=(V1,V2,0) is given by γ(t):=ptV=(p1+tV1,p2+tV2,p3+2t(V1p2V2p1)) Indeed then γ(t)=(V1,V2,2(V1p2V2p1)) which is indeed horizontal at the point γ(t) for each t.

Computing geodesics of the Heisenberg group

By the isometries for the Heisenberg group we only need to compute geodesics of the following type:

See also geogebra-applet

  • Geodesics between (0,0,0) and (4π,0,0): These are the easiest ones, they are unique, and equal the two-dimensional shortest curves in Euclidean space: γ(t):=(t,0,0),t[0,1].

  • Geodesic between (0,0,0) and (0,0,1): the isoperimetric inequality implies that the first two entries of the geodesics γ(t), i.e. ˜γ(t):=(γ1(t),γ2(t)) has to parametrize a once-covered circle which (as one can compute from the horizontality condition) must have the area 1. The geodesic is thus not unique, but any R2-rotation of γ(t):=(1cos(t),sin(t),2(tsin(t))),t[0,2π]

  • Geodesic between (0,0,0) and (1,0,T), T>0. This geodesic is unique and a subarc of the geodesic (0,0,0) to (0,0,τ) for some unknown τ>T (ref). After projection into the (x,y)-plane all circles going through (0,0) and (1,0) can be derived from the standard circle γ(t):=(1cos(t)sin(t)) by a scaling radius R, a rotation P. Then the point (1,0) is parametrized for exactly one s(0,2π).
    That is, we need to find a rotation PSO(2), one time s(0,2π) and one radius R>0 such that (P11P120P21P220001)(R(1cos(s))Rsin(s)2R2(ssin(s)))=(10T) This equations can be simplified, namely we have 2R2(ssin(s))=T. and P(R(1cos(s))Rsin(s))=(10) PSO(2) is a rotation matrix which means that multiplying a vector v with P does not change the length of v, |Pv|=|v|vR2. Thus, |R(1cos(s))Rsin(s)|=|10| That is, 2R2(1cos(s))=1 But then P is the rotation that rotates the vector v:=(R(1cos(s)),Rsin(s)) into (1,0). Both vectors are of length one, so P is given by P=(v1v2v2v1). Set f(s):=ssin(s)1cos(s)=T We have to compute s[0,2π) such that s:=f1(T) – observe that f is monotone increasing on [0,2π), see a plot here. Then our geodesic is a sub-geodesic of the geodesic between (0,0,0) and (0,0,τ) where τ:=4πR2. Observe that we can write v=(12RT2RRs). which means that the geodesic is given by γ(t)=(12RT2RsR0T2R+sR12R0001)η(t) where η(t) is the geodesic from (0,0,0) to (0,0,4πR2), s[0,2π) is the solution of ssin(s)1cos(s)=T and R=122cos(s)

Computing the inverse of f(s):=ssin(s)1cos(s)=T For large s>0 it seems that by setting s=4arctan(x) we find almost a straight line with slope π/4. g(x):=4arctan(x)sin(4arctan(x))1cos(4arctan(x)) with g(x)π/4for x1 f(x) = ((4*arctan(x))-sin(4*arctan(x)))/(1-cos(4*arctan(x))) + x*pi/4+ ((4*arctan(a))-sin(4*arctan(a)))/(1-cos(4*arctan(a)))where a=3

An equivalent metric

The Koranyi-metric on the Heisenberg group for p=(p1,p2,p3) and q=(q1,q2,q3) is given by

(d(p,q))=((|p1q1|2+|p2q2|2)2+|p3q3+2(p2q1p1q2)|2)14. It is not the same as the Carnot-Caratheodori-metric, but it is equivalent to it.

Now assume we are an object at position p=(p1,p2,p3) wanting to move towards position q=(q1,q2,q3) in a horizontal way, as quickly as possible. If we don’t want to compute the full geodesic (thats expensive), in which direction should we move?

Infimitesimally we can only move in horizontal direction, i.e. we move from p into pδV where V=(V1,V2,0) – and we want to know how to choose V optimal. We use the method of gradient descent.

Set for V=(V1,V2,0) f(V):=(d(pV,q))4 That is f(V):=|p1+V1q1|4+|p2+V2q2|4+|p3q3+2(p2q1p1q2)+2(V2q1V1q2)|2 The gradient descent method (analytically this is first order Taylor) tells us that the locally best way to make f smalles is to choose V as δf(0) for small δ>0.

We have V1f(0)=4(p1q1)3+2(p3q34q2(p2q1p1q2))

and V2f(0)=4(p2q2)3+2(p3q3+4q1(p2q1p1q2)) So δf=δ(4(p1q1)3+2(p3q34q2(p2q1p1q2)),4(p2q2)3+2(p3q3+4q1(p2q1p1q2)),0)

Surface filling with geodesics

It is an open question – often referred to as the Gromov conjecture – how regular a surface embedded into the Heisenberg Group can be. Hajlasz suggested the following method to find a possibly optimal: draw a square with geodesics in the Heisenberg group, then connect midpoints on opposite sides of these squares to fill the square into a surface.

Here are some pictures of how this could look if we do this ``fractal” process for a triangle. In every iteration the midpoints are connected via a geodesic.

Triangle 1 Triangle 1 Triangle 1 Triangle 1 Triangle 1 Triangle 1 Triangle 1 Triangle 1

The last picture contains most likely a numerical error…

The square version looks like this

Square 1 Square 2

more…

References

Acknowledgment

  • Equipment partially financed by Daimler-Benz foundation
  • This is part of the NSF Career project DMS-2044898 (2021-2026)