I'm trying to re-derive the results of Bondi-Sachs formalism. The metric is given in the form

\begin{array}{c}g_{a b} d x^{a} d x^{b}=-\frac{V}{r} e^{2 \beta} d u^{2}-2 e^{2 \beta} d u d r+r^{2} h_{A B}\left(d x^{A}-U^{A} d u\right)\left(d x^{B}-U^{B} d u\right) \\ g_{A B}=r^{2} h_{A B} \quad \text { with } \quad \operatorname{det}\left[h_{A B}\right]=\mathfrak{q}\left(x^{A}\right),\end{array} where where $\mathfrak{q}\left(x^{A}\right)$ is the determinant of the unit sphere metric $q_{A B}$ associated with the angular coordinates $x^{A}$, e.g. $q_{A B}=\operatorname{diag}\left(1, \sin ^{2} \theta\right)$ for standard spherical coordinates $x^{A}=(\theta, \phi)$

The Bondi-Sachs coordinates $x^{a}=\left(u, r, x^{A}\right)$ are based on a family of outgoing null hypersurfaces $u=$ const (you can see a better description here Bondi-Sachs Formalism )

My problem is: I don't know where to start? I'm using this bject-oriented general relativity package since it's more intuitive. But I don't know how to incorporate yet another summed-part, namely $g_{AB}$, into my definition? Besides, functions $U^A$, $\beta$ , and $V$ are general functions of the coordinates which I want to derive the form from EFEquations. But how should I represent them to the machine so that it can evaluate Christoffle symbols and curveture tensors?

Forgive me for my lack of experience

EDIT: I haven't started to code it because I don't know where to start. We have the explicit matrix form of $h_{AB}$ which is messy and not needed to be represented explicitly. My $ds^2$ becomes unnessecarily messy too if I want to insert every single term. I'm looking for a way to avoid that.

  • $\begingroup$ please show your try code ! $\endgroup$
    – nufaie
    Jun 3, 2021 at 14:16

1 Answer 1


I'm the author of OGRe, the Mathematica package you mentioned.

You can certainly calculate the Christoffel symbols and curvature tensors of the Bondi-Sachs metric in OGRe. Simply define the coordinate system $(u, r, \theta, \phi)$ using TNewCoordinates and the metric using TNewMetric. The components should, of course, be entered as abstract Mathematica functions of the coordinates, i.e. functions of the form f[u, r, \[Theta], \[Phi]].

It is not possible (at the moment) to use abstract tensors in OGRe, they must have concrete components. Therefore, you must take the conformal 2-metric $h_{AB}$ to have specific components, such as those in Eq. (6) of the ScholarPedia article.

Once you defined the coordinates and the metric, you can use the TCalc* modules to calculate any curvature tensors you want.

As for $g_{AB}$, you will have to define it as a separate metric using a separate set of 2D coordinates. Unfortunately OGRe does not currently support defining tensors on hypersurfaces, although I plan to add that functionality in a future update.

Please let me know if you have any further questions!

  • 1
    $\begingroup$ What a bliss to have your response! Now I see it better. Of course, I'm a noobie on the field, but I did have progress to work it out given the more clear understanding. Sorry I got tangled in my own thoughts. Much appreciated Dr. Shoshany $\endgroup$
    – hamid
    Jul 4, 2021 at 10:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.