Saturday, November 29, 2025

5 formulation for the hyperbolic metric


The earlier publish described a metric for the Poincaré higher half airplane. The event is geometrical fairly than analytical. There are additionally analytical formulation for the metric, no less than 4 that I’ve seen.

It’s under no circumstances apparent that the 4 equations are equal, or that any of them matches the expression within the earlier publish.

There are equations for expressing arcsinh, arccosh, and arctanh when it comes to logarithms and sq. roots. See the underside of this publish. You could possibly use these identities to point out that the metric expressions are equal, however I don’t know of a cleaner method to do that than a number of tedious algebra.

Earlier than diving into the calculations, you may want some assurance that you just’re making an attempt to show the suitable factor. Right here’s some Python code that generates random pairs of advanced numbers and reveals that the 4 expressions give he identical distance.

import numpy as np

def d1(z1, z2):
    return 2*np.arcsinh( abs(z1 - z2) / (2*(z1.imag * z2.imag)**0.5) )
def d2(z1, z2):
    return np.arccosh(1 + abs(z1 - z2)**2 / (2*z1.imag * z2.imag) )
def d3(z1, z2):
    return 2*np.arctanh( abs( (z1 - z2)/(z1 - np.conjugate(z2)) ) )
def d4(z1, z2):
    return 2*np.log( (abs(z2 - z1) + abs(z2 - np.conjugate(z1)))/(2*np.sqrt(z1.imag * z2.imag)) )

np.random.seed(20251127)
for n in vary(100):
    z1 = np.random.random() + 1j*np.random.random()
    z2 = np.random.random() + 1j*np.random.random()
    assert( abs(d1(z1, z2) - d2(z1, z2)) < 1e-13 )
    assert( abs(d2(z1, z2) - d3(z1, z2)) < 1e-13 )
    assert( abs(d3(z1, z2) - d4(z1, z2)) < 1e-13 )

Maybe you’re satisfied that the 4 expressions are equal, however why ought to any of them be equal to the definition within the earlier publish?

The earlier publish identified that the metric is invariant underneath Möbius transformations. We will apply such a change to maneuver any pair of advanced numbers to the imaginary axis. There you may see that the cross ratio reduces to the ratio of the 2 numbers.

Extra usually, if two advanced numbers have the identical actual half, the space between them is the log of the ratio of their imaginary elements. That’s, if

begin{align*} z_1 &= x + iy_1  z_2 &= x + iy_2 end{align*}
then

d(z_1, z_2) = log frac{y_2}{y_1}

if x, y1, and y2 are actual and y2 > y1 > 0.

Right here’s a little bit Python code that empirically reveals that this offers the identical distance as one of many expressions above.

def d5(z1, z2):
    assert(z1.actual == z1.actual)
    return abs( np.log( z1.imag / z2.imag ) )

for n in vary(100):
    x = np.random.random()
    z1 = x + 1j*np.random.random()
    z2 = x + 1j*np.random.random()
    assert( abs(d1(z1, z2) - d5(z1, z2)) < 1e-13 )

So now now we have 5 expressions for the metric, all of which look completely different. You could possibly slug out a proof that they’re equal, or get a CAS like Mathematica to point out they’re equal, however it could be extra fascinating to seek out a chic equivalence proof.

Replace: Though the 4 expressions on the high of the publish are analytically equal, they don’t seem to be all equally correct for numerical analysis. I did a little bit testing and located the arctahn methodology to be the least correct and the remaining roughly equally correct.

Related Articles

Latest Articles