Hello,
with sage manifold i tried the folowing commands (in a sage 9.1 notebook)
M = Manifold(4, 'M', structure='Lorentzian')
-----------------------
Mani.<t,x,rh,ph> = M.chart(r"t X:(-oo,+oo) rh:(0,+oo):\rho ph:(0,2*pi):\phi")
---------------------
B = function('B')(X,rh,ph) d_Ph_X = function('d_Ph_X')(X,rh,ph) d_Ph_rh = function('d_Ph_rh')(X,rh,ph) d_Ph_ph = function('d_Ph_ph')(X,rh,ph)
--------
g = M.metric()
g[0,0] = (-1+B2* ((d_Ph_X/B2)2 +(d_Ph_rh/B2)2 +((1/rhd_Ph_ph/B2)*2 )))
g[1,1] = B2 g[2,2] = B2 g[3,3] = rh2*B2
g[0,1] = B2(d_Ph_X/B2) g[0,2] = B2( d_Ph_rh/B2) g[0,3] = B2*( d_Ph_ph/B2)
-----------------
g.christoffel_symbols_display()
the line "g.christoffel_symbols_display()" makes the notebook overflow... i really don't understand why..
the computation even if it is rather tedious seems straightforward to me...
Any idea ? Any help would be greatly appreciated. Have a good day,