Progress so far…

Over the last two weeks, PR #512 was finalized and merged into EinsteinPy. With it, the big refactor of the metric module is over. As I had mentioned in my last blog, this PR adds a core structure to the metric module, with the metric.BaseMetric class, and adds some new functionalities, like support for Kerr-Schild Perturbations. Also, 7 issues, big and small, were fixed in this PR, ranging from purely semantic issues to mathematical inaccuracies. One of the important ones was Issue #514, the distinction between Rotational Length Parameter, $\alpha $ and Dimensionless Spin Parameter, $a$, which has had a cascade effect across the codebase. It is worth a discussion, as it has led to many changes across the numerical side of EinsteinPy.


What’s all the fuss about?

The expressions for the Rotational Length Parameter, $ \alpha$, and Spin Parameter, $a$, are as follows: \(\alpha = \frac{J}{Mc}\) \(a = \frac{J}{J_{Max}} = \frac{Jc}{GM^2}\) which give us: \(\boxed{\alpha = \frac{GM}{c^2}a}\) Here, $J, M$ denote the angular momentum and mass of the gravitating body (for example, black holes), respectively, while $G, c$ denote the Gravitational Constant and speed of light in vacuum, respectively. As the expression for $a$ tells us, it is a constraint on the body’s angular momentum. It might seem arbitrary at first, as in classical physics, we do not bother with such constraints and $J$ is not limited. However, in General Relativity, especially in the context of how black holes are formed, or more appropriately, how we hypothesize their formation, we find that, for certain solutions to the Einstein Field Equations, like the Kerr solutions (rotating black hole), a maximum limit needs to be placed on the black hole angular momentum. This is a direct consequence of the efforts to contain the causality-breaking nature of black hole singularities, especially a naked singularity. As the name suggests, naked singularities are not covered by an Event Horizon and so, they would be observable from outside the black hole. This breaks the framework of GR, as no deterministic predictions about the future evolution of spacetime can be made near a singularity. Note that, GR breaks for covered singularities as well, but causality remains intact, because the spacetime within the event horizon is not viewable or approachable from outside. To complicate things further, GR, as is, does not preclude the existence of naked singularities. All of this led to much deliberation on this issue and ultimately, in 1969, Sir Roger Penrose postulated the (Weak) Cosmic Censorship Hypothesis. This hypothesis aims to alleviate the issue with physical singularities by claiming that naked or observable singularities cannot exist in the universe, as the deterministic nature of general relativity will fall apart otherwise. It is worth mentioning that, while this is still a conjecture, we are yet to detect naked singularities through astronomical observations. Also, in order to work in the theoretical framework of GR and make physical predictions using GR, one needs to circumvent the problem of naked singularities and this is where $a$ comes in for rotating black holes, like in the Kerr solution. To ensure that, the black hole singularity has an event horizon, we must constrain $J$ and this is done by the spin parameter, $a$. Here, for $|J| \leq \frac{GM^2}{c}$, the solution has an event horizon, while for $|J| > \frac{GM^2}{c}$, the solution possesses naked singularities, which we must exclude, due to reasons discussed above. This condition is obtained by solving for singularities in the Kerr solutions.

As for $\alpha$, it is a convenient length parameter, that helps in making equations shorter to write.

Physics aside, the issue, as mentioned in #514, was that the modules in EinsteinPy do not differentiate between $\alpha$ and $a$. This is due to the intermixing of Geometrized quantities with that in SI units. In geometrized units, $G = c = 1$, making $\alpha = a = \frac{J}{M}$. However, in SI, this is not the case. EinsteinPy works purely in SI and this issue is an artifact from the changes around unit conversions. This issue has been fixed now, after #512, with $a$ being one of the defining parameters in rotating spacetimes, while $\alpha$ is calculated using $a$.

As I mentioned earlier, this issue has caused a ripple effect across the numerical side of EinsteinPy. It has highlighted some problems, around systems of unit, in the definition of a few core methods in the metric classes, as well as the coordinates module.

Until next time…

I am currently working on fixing the aforementioned issues, as well as refactoring the coordinates module. To be specific, I am working on adding support for 4-Vector calculations and Kerr-Schild coordinates to the coordinates module. The latter would make use of the Kerr-Schild perturbation functionality of the metric module and help in modularizing the definition of new metric classes. I will discuss Kerr-Schild perturbations and the so-called Kerr-Schild form of the metric tensor in my next blog.


In the meantime, here’s a piece of trivia, related to the Cosmic Censorship Hypothesis.

In 1991, John Preskill and Kip Thorne bet against Stephen Hawking that the hypothesis was false. Hawking conceded the bet in 1997, due to the discovery of some special situations, that violated the hypothesis, which he characterized as “technicalities”. Hawking later reformulated the bet to exclude those technicalities. The revised bet is still open, with the prize being “clothing to cover the winner’s nakedness”.

The description of the original bet can be found here, while that of the new bet can be found here.