# 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:

• 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

### This is part of undergraduate research projects in progress with

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