How does one find the systole of the $2$-manifold?

122 Views Asked by At

The minimal length of a non-contractible loop on a surface is known as the systole.

I'm trying to find the systole of a $2$-manifold. This $2$-manifold is constructed by revolving the piece of the arc of $x^2+y^2=1$ passing through the unit square, and then making $3$ more copies of that surface of revolution and placing these $4$ copies inside a unit cube, such that all cusps touch the corners of the cube. The minimal non-contractible loops are highlighted in blue.

enter image description here

My guess is that the systole can be found by finding the length of an equation of the form $x^4+y^4=k$ but I can't prove this.

I perused the Wikipedia page on systolic geometry and it was helpful but I still couldn't get the answer. If someone can give me a few hints, I think I can figure it out.

1

There are 1 best solutions below

0
On BEST ANSWER

Let's make your cube $[-1,1]^3$ to be more symmetric. That is twice the size of the unit cube, so the curve in that setup will be twice as long as the one you asked for.

For reasons of symmetry, the non-contractible loops you showed have to lie in the planes of symmetry. I'll pick the one at $z=0$. So we need the intersection of that plane with your surface of revolution, say the one between $(-1,-1,-1)$ and $(1,1,1)$. The vector from the center to any point

$$v := \begin{pmatrix}x\\y\\z\end{pmatrix}$$

not on that diagonal can be divided into a component parallel to the diagonal and one perpendicular to the diagonal. The perpendicular part is

$$w := \begin{pmatrix}x\\y\\z\end{pmatrix}-\frac{x+y+z}3\begin{pmatrix}1\\1\\1\end{pmatrix}$$

In the case of the square, the center of the circle is $\frac1{\sqrt2}$ away from the center of the diagonal. For the cube of edge length $2$ you'd get $2\frac{\sqrt3}{\sqrt2}=\sqrt6$ times that distance, i.e. $\frac{\sqrt6}{\sqrt2}=\sqrt3$. For a point on the surface of revolution, the center would be at a point in direction $-w$ at distance $\sqrt3$. So its position would be

$$c:=-\frac{\sqrt3}{\lVert w\rVert}w$$

and the initial point $v$ lies on the surface of revolution iff

$$\lVert c-v\rVert=\sqrt6$$

I like algebraic formulations, so I wrote this as two polynomials in $x,y,z,t$:

$$c := tw\qquad \lVert c-v\rVert^2-6=0\qquad t^2\,\lVert w\rVert^2-3=0$$

Using resultants you can eliminate $t$ from these equations. As we intersect with one symmetry plane you may also set $z=0$. Assuming the non-degeneracy condition $x^2 - xy + y^2\neq 0$ (which is satisfied over the reals except at $x=y=0$), the only remaining factor in the resulting equation is

$$x^4 + 2x^2y^2 + y^4 - 14x^2 + 8xy - 14y^2 + 9 = 0$$

So your intersection with a single surface of revolution is a quartic (degree 4) curve (apparently in line with what you expected). And for the rubber band length you'd need to consider this curve overlayed with a copy rotated by $90°$ (i.e. $-8xy$ instead of $+8xy$).

Intersection figure

You'd compute points of horizontal or vertical tangents (marked in yellow), then try to determine the arc length between these. I don't know of a good generic way to compute arc length of quartic curves symbolically. So I would revert to numeric solutions here. But perhaps someone else has a better idea.

The point with the horizontal tangent in the first quadrant has coordinates which satisfy the following equations (found using the discriminant of the equation above). All others can be obtained from this by swapping coordinates or signs.

\begin{align*} 4x^8 - 28x^6 + 157x^4 - 126x^2 + 9 &=0&x&\approx 0.281282507207201384956955908281 \\ 4y^8 - 84y^6 + 481y^4 - 1512y^2 + 900 &=0&y&\approx 0.867516724951460671203331372882 \end{align*}

Doing a bit of high-precision numeric computation, I believe the total length of the rubber band in my model should be

$$\approx 5.987380306888167235779636957413172898595572570363095685558809252275371$$

Keep in mind that with the $[0,1]^3$ unit cube, the length would be half that number. I did some basic sanity checking: a piecewise linear approximation in the above figure ends up roughly around that same number. Here is how I got it:

from mpmath import mp

def p(x, y):
    x2 = x*x
    y2 = y*y
    return (x2 + y2)**2 - 14*(x2 + y2) + 8*x*y + 9

def ds_dx(x):
    y = mp.findroot(lambda y: p(x,y),
                    (mp.mpf(0.7), mp.mpf(0.87)), solver="anderson")
    dp_dx = 4*x**3 + 4*x*y**2 - 28*x + 8*y
    dp_dy = 4*y**3 + 4*x**2*y - 28*y + 8*x
    return -mp.sqrt(dp_dx**2 + dp_dy**2)/dp_dy

def curve():
    x1 = mp.findroot(lambda x: 4*x**8 - 28*x**6 + 157*x**4 - 126*x**2 + 9,
                     (mp.mpf(0.281), mp.mpf(0.282)), solver="anderson")
    x2 = mp.sqrt(mp.mpf(0.5))
    arc = mp.quad(ds_dx, (x1, x2), method="gauss-legendre")
    return mp.mpf(8)*(x1 + arc)

print("")
for dps in range(20, 500, 10):
    mp.dps = dps
    print(curve())