$n$-dimensional cylindrical coordinates

806 Views Asked by At

Prerequisites

I am working on a numerical integration routine VAMP [Ohl 1998] specializing on finding narrow peaks in smooth integrand. This works by using multiple instances of the adaptive Monte Carlo VEGAS [Lepage 1978] algorithm in different coordinate systems, each fit adapt to one peak of the function. In the end the different results are combined to compute the final integral.

To test it, I am constructing normalized function $f: \mathbb{R}^3 \mapsto \mathbb{R}$ with peaks in cartesian, polar, cylindrical and spherical coordinates. It consists of Lorentzian peaks (not normalized, as they cannot be normalized in higher dimensions) $$ L_{x_0}^b = \frac{b}{(x-x_0)^2 + b^2}, \qquad \int\mathrm dx\, L_{x_0}^b(x) = \arctan\left(\frac{x-x_x}{b}\right) $$ for radial components of the different coordinate systems added up and normalized so $\int_{-1}^{1}\mathrm dx^3\,f(x) \equiv1$. (The radial Jacobian determinants of the coordinate systems are cancelled out, so only the Lorentzians remain, as the angular parts can be integrated to the full solid angle.) $$ f(x) = \frac{b}{24\pi\arctan\left(\frac{1}{2b}\right)}\left( \frac{\Theta(r_3<1)}{r_3^2\left(\left(r_3-\frac{1}{2}\right)^2+b^2\right)} + \frac{\Theta(r_2<1,|x_3|<1)}{r_2^2\left(\left(r_2-\frac{1}{2}\right)^2+b^2\right)} + \frac{2\pi\Theta(-1<x_1,x_2,x_3<1)}{x_1^2+(2b)^2} \right) $$ where $r_2:=\sqrt{x_1^2+x_2^2}$ and $r_3:=\sqrt{x_1^2+x_2^2+x_3^2}$, and $\Theta(\cdot)$ is the Heaviside function which is $1$ if the argument is true and $0$ otherwise. This makes it easy to vary the parameter $b$, the width of the Lorentzian, and therefore the difficulty of numerical integration. For two dimensions (just dropping the $r_3$-term), the function looks like this:

2d Lorentzian test function

As you can see, it has peaks around the radius $\frac{1}{2}$ and the $x_1$-axis. Therefore it will be hard to sample efficiently with pure VEGAS, but in VAMP we use polar and cartesian coordinates, making it possible to sample both peaks efficiently.


Question

I now want to benchmark the algorithm in higher dimensions (as this is important for the physical application), and therefore construct a similar function for $n$ dimensions, consisting of $n$ terms with Lorentzians in $r_n,\,r_{n-1},\,\ldots,\,r_2,\,x_1$. But I also need $n$-dimensional cylindrical coordinates.

In 3D, cylindrical coordinates are constructed by using polar coordinates on one plane and just adding the $x_3$ coordinate orthogonally to that, thereby reducing the radial dimension by 1 (compared to full spherical coordinates), as can be seen in their respective Jacobains $r$ vs $r^2\sin\theta$.

I would like to stack up Lorentzians in the radial components of one hyperplanes for each dimenion (I hope this is the correct way of expressing it): One along one axis, one in $r_2$, one in $r_3$ and so on until $r_n$. Then I want to equip my algorithm with coordinate systems suitable to sample each peak efficiently, aka having a coordinate system where that $r_i$ is one of the coordinate axis. As I am in $n>2$ dimensions, I cannot use polar coordinates for the $r_2$, but I can use cylindrical coordinates, which "embed" polar coordinates.

For spherical coordinates there is a well defined generalization to $n$ dimensions, consisting of $1$ radius and $n-1$ angles. The formula for mappings and Jacobians is relatively straight forward and easy to implement for variable dimension.

My Question: Is there a something like generalized cylindrical coordinates for $n$ dimensions?

Is it possible to just use spherical coordinates in $m$ dimensions and just attach $n-m$ orthogonal cartesian coordinates to it? Like in 4D:

  • Full Sphercial $r,\,\phi_1,\,\phi_2,\,\phi_3$ $$\begin{eqnarray} x_1 & = & r\cos\phi_1\\ x_2 & = & r\sin\phi_1\cos\phi_2\\ x_3 & = & r\sin\phi_1\sin\phi_2\cos\phi_3\\ x_4 & = & r\sin\phi_1\sin\phi_2\sin\phi_3\\ \end{eqnarray}$$
  • 4,3 cylindrical $r\equiv r_3,\,\phi_1,\,\phi_2,\,x_4$ (embedded 3D spherical) $$\begin{eqnarray} x_1 & = & r\cos\phi_1\\ x_2 & = & r\sin\phi_1\cos\phi_2\\ x_3 & = & r\sin\phi_1\sin\phi_2\\ x_4 \end{eqnarray}$$
  • 4,2 cylindrical $r\equiv r_2,\,\phi,x_3,\,x_4$ (embedded 2D cylindrical aka polar) $$\begin{eqnarray} x_1 & = & r\cos\phi\\ x_2 & = & r\sin\phi\\ x_3 \\ x_4 \end{eqnarray}$$

Would this be a valid coordinate system? Is this as easily generalizable as it seems? Are there pitfalls that I didn't think of? What about the domains? Is there literature on this and where can I find it?