Heisenberg group in Virtual Reality

The Heisenberg group is $\mathbb{R}^3$ with an interesting metric structure. Usually one denotes points in the Heisenberg-Group by $(x,y,t) \in \mathbb{R}^3$. 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.

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 $$ \alpha = dt + 2\left (x^1dx^2-x^2dx^1 \right ). $$ At a point $(x,y,t)$ the horizontal vectors $v=(v^1,v^2,v^3)$ are exactly those which satisfy $$ 0 = v^3 + 2(x v^2-y v^1) $$ The horizontal vectors form a two-dimensional vector space in $\mathbb{R}^3$ with basis $(X,Y)$ where $$ X := (1, 0, 2y) ,\quad Y:= (0, 1, -2x) $$ and $v = (v^1,v^2,v^3)$ is horizontal if and only if $$ v = v^1 X + v^2 Y $$ The lenght of a (horizontal!) vector $v$ is defined as $\sqrt{|v_1|^2+|v_2|^2}$

A horizontal curve $\gamma: [a,b] \to \mathbb{R}^3$ with derivative $\dot{\gamma}(t)$ satisfies $$ 0=\dot{\gamma}^3(t) + 2(\gamma^1(t)\, \dot{\gamma}^2(t)-\gamma^2(t)\, \dot{\gamma}^1(t)) $$

Observe that this means in particular that if we know the projection into $\mathbb{R}^2$ of $\gamma$, i.e. first two entries of the curve $\gamma^1(t)$ and $\gamma^2(t)$ then we can compute $$ \gamma^3(t) = \gamma^3(0) - \int_0^t 2(\gamma^1(s)\, \dot{\gamma}^2(s)-\gamma^2(s)\, \dot{\gamma}^1(s)) ds $$

The lenght of a (horizontal!) curve is defined as $$ \mathcal{L}(\gamma) := \int_a^b \sqrt{|\dot{\gamma}^1(t)|^2 + |\dot{\gamma}^2(t)|^2}\, dt $$

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 $$\delta_r(p) := (rx,ry,r^2t).$$ If $\gamma: [a,b] \to \mathbb{R}^3$ is a horizontal curve, then so is $\eta(t) := \delta_r \gamma(t)$, and we can compute the lenght $\mathcal{L}(\eta)=r\mathcal{L}(\gamma)$.

  • translation: this is typically referred to as the group structure: $$ (x,y,t) \ast (x’,y’,t’) := \left (x+x’,y+y’,t+t’+2(x’y-xy’)\right ) $$ If $\gamma: [a,b] \to \mathbb{R}^3$ is a horizontal curve and $p \in \mathbb{R}^3$, then so is $\eta(t) := p \ast \gamma(t)$; The lenght does not change, $\mathcal{L}(\eta)=\mathcal{L}(\gamma)$.

  • rotations: Let $P$ be a rotation (orientation preserving) in $\mathbb{R}^2$, that is $P \in SO(2)$, or equivalently for some rotation angle $\alpha$ $$ P = \left (\begin{array}{cc}\cos(\alpha) & -\sin(\alpha) \\\sin(\alpha) & \cos(\alpha) \end{array} \right ).$$ We denote by for $v \in \mathbb{R}^3$ let $\tilde{v} = (v^1,v^2)$ 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\tilde{v},v^3).$$ Let $\gamma: [a,b] \to \mathbb{R}^3$ is a horizontal curve and $P \in SO(2)$ a rotation. Then so is $\eta(t) := rot(\gamma(t),P)$; The lenght does not change, $\mathcal{L}(\eta)=\mathcal{L}(\gamma)$.

Equivalently, for $\alpha \in (0,2\pi)$ and $v \in \mathbb{R}^3$ we have

$$ rot(v,\alpha) := \left (\begin{array}{ccc}\cos(\alpha) & -\sin(\alpha) & 0\\\sin(\alpha) & \cos(\alpha) & 0\\ 0 & 0 & 1\end{array} \right ) v$$

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\pi$,0,0): These are the easiest ones, they are unique, and equal the two-dimensional shortest curves in Euclidean space: $$ \gamma(t) := (t,0,0), \quad t \in [0,1]. $$

  • Geodesic between (0,0,0) and (0,0,1): the isoperimetric inequality implies that the first two entries of the geodesics $\gamma(t)$, i.e. $\tilde{\gamma}(t) := (\gamma_1(t),\gamma_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 $\mathbb{R}^2$-rotation of $$ \gamma(t) := (1-\cos(t),\sin(t), 2(t - \sin(t))), \quad t \in [0,2\pi] $$

  • 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,\tau)$ for some unknown $\tau > 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 $$ \gamma(t) := \left ( \begin{array}{c} 1-\cos(t) \\ \sin(t) \end{array} \right ) $$ by a scaling radius $R$, a rotation $P$. Then the point $(1,0)$ is parametrized for exactly one $s \in (0,2\pi)$.
    That is, we need to find a rotation $P \in SO(2)$, one time $s \in (0,2\pi)$ and one radius $R > 0$ such that $$ \left (\begin{array}{ccc} P_{11}&P_{12}&0\\ P_{21}&P_{22}&0\\ 0&0&1 \end{array} \right ) \left ( \begin{array}{c} R(1-\cos(s))\\ R \sin(s)\\ 2R^2(s-\sin(s)) \end{array} \right ) = \left ( \begin{array}{c} 1\\ 0\\ T \end{array} \right ) $$ This equations can be simplified, namely we have $$ 2R^2(s - \sin(s)) = T. $$ and $$ P \left ( \begin{array}{c} R(1-\cos(s))\\ R \sin(s)\\ \end{array} \right )= \left ( \begin{array}{c} 1\\ 0\\ \end{array} \right ) $$ $P \in SO(2)$ is a rotation matrix which means that multiplying a vector $v$ with $P$ does not change the length of $v$, $$ |Pv| = |v| \quad \forall v \in \mathbb{R}^2. $$ Thus, $$ \left | \begin{array}{c} R(1-\cos(s))\\ R \sin(s)\\ \end{array} \right | = \left | \begin{array}{c} 1\\ 0\\ \end{array} \right | $$ That is, $$ 2R^2(1-\cos(s))=1 $$ But then $P$ is the rotation that rotates the vector $v:= (R(1-\cos(s)),R\sin(s))$ into $(1,0)$. Both vectors are of length one, so $P$ is given by $$ P = \left (\begin{array}{cc} v^1 & v^2\\ -v^2 & v^1\\ \end{array} \right ). $$ Set $$ f(s) := \frac{s-\sin(s)}{1-\cos(s)} = T $$ We have to compute $s \in [0,2\pi)$ such that $s := f^{-1}(T)$ – observe that $f$ is monotone increasing on $[0,2\pi)$, see a plot here. Then our geodesic is a sub-geodesic of the geodesic between $(0,0,0)$ and $(0,0,\tau)$ where $$ \tau := 4 \pi R^2. $$ Observe that we can write $$ v = \left ( \begin{array}{c} \frac{1}{2R}\\ \frac{T}{2R}-Rs \end{array} \right ). $$ which means that the geodesic is given by $$ \gamma(t) = \left ( \begin{array}{ccc}\frac{1}{2R} & \frac{T}{2R}-sR & 0\\ -\frac{T}{2R}+sR & \frac{1}{2R} & 0\\ 0 & 0& 1\\ \end{array} \right )\eta(t) $$ where $\eta(t)$ is the geodesic from $(0,0,0)$ to $(0,0,4 \pi R^2)$, $s \in [0,2\pi)$ is the solution of $$ \frac{s-\sin(s)}{1-\cos(s)} = T $$ and $$ R = \sqrt{\frac{1}{2-2\cos(s)}} $$

Computing the inverse of $$ f(s) := \frac{s-\sin(s)}{1-\cos(s)} = T $$ For large $s>0$ it seems that by setting $s = 4 \arctan(\sqrt{x})$ we find almost a straight line with slope $\pi/4$. $$ g(x) := \frac{4\arctan(\sqrt{x}) - \sin(4\arctan(\sqrt{x}))}{1 - \cos(4\arctan(\sqrt{x}))} $$ with $$ g’(x) \approx \pi/4 \quad \text{for }x \gg 1 $$ 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

more…

References

This is part of undergraduate research projects in progress with

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

Acknowledgment