1 | initial version |
First introduce the coordinate transformation as a new chart Y
on M
, with some transition map from chart X
:
Y.<t,r,ph> = M.chart(r't r:(0,+oo) ph:\phi')
X_to_Y = X.transition_map(Y, (t, sqrt(5*p^2 + 4*t^2), ph))
X_to_Y.set_inverse(t, sqrt(r^2 - 4*t^2)/sqrt(5), ph)
X_to_Y.display()
X_to_Y.inverse().display()
Then simply write
g.display(Y)
to get the expression of the metric $g$ in terms of the coordinates $(t, r, \phi)$. To get the component $g_{00}$ in the associated coordinate frame, write
g[Y.frame(), 0, 0, Y]
Finally, the Christoffel symbols of g
with respect to the chart Y
= $(t, r, \phi)$ are accessible via
g.christoffel_symbols_display(Y)
Note that only the non-zero and non-redundant components are displayed. To get all non-zero components, including the redundant ones (i.e. those that can be deduced from the symmetry on the last two indices), write
g.christoffel_symbols_display(Y, only_nonredundant=False)
To get an individual Christoffel symbol, like $\Gamma^r_{\ t r}$, type
g.christoffel_symbols(Y)[[1,0,1]].expr(Y)
More details in the documentation.