Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Contracting with Christoffel symbols

MM = Manifold(4, 'MM', latex_name=r'\mathcal{M}', start_index=0)  
chartt.<t,x,y,z> = MM.chart()

gg = MM.lorentzian_metric('gg')
gg[0,0] = -1
gg[1,1] = 1
gg[2,2] = 1
gg[3,3] = 1

some_tensor = MM.tensor_field(1,1)
christoffel = gg.christoffel_symbols()
some_contraction = some_tensor['^i_j'] * christoffel['^j_kl']

The above code doesn't work and crashes with the following error:
ValueError: wrong number of indices: 3 expected, while 4 are provided

I know that the Christoffels are only a CompWithSym and not a real tensor, but shouldn't one still be able to generate some contracted quantities?