Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
0 votes

Hi. As always, many thanks for Cadabra.

Please consider the following code snippet:

{a,b,c,d}::Indices(flat, position=fixed).
V^{a}_{\mu}::Vielbein.
V_{a}^{\mu}::InverseVielbein.
ex := g^{\mu\nu} = \eta^{a b} V_{a}^{\mu} V_{b}^{\nu};
eliminate_vielbein(ex);

You will notice that the result is that one vielbein is eliminated.

How would I tell the algorithms that \eta^{a b} is a minkowski metric and therefore will not "swallow" a vielbein?

I know this is a contrived example but the issue shows up in less contrived (more complex) examples as well.

Thank you GPN

in General questions by (2.0k points)

1 Answer

0 votes
 
Best answer

In the hope it helps someone else:

I found no way to tell Cadabra that the Minkowski metric is "special". In the case I gave above, "swallowing" the Vielbein into the metric is just the Cadabra behavior.

In cases where I needed to eliminate Vielbein with each other, I could use eliminate_vielbein:

{a,b,c,d}::Indices(flat, position=fixed).

V^{a}_{\mu}::Vielbein.
V_{a}^{\mu}::InverseVielbein.
V^{a}_{b}::KroneckerDelta.
V_{a}^{b}::KroneckerDelta.

ex := V_{a}^{\rho} V^{c}_{\rho} V_{c}^{\sigma};
eliminate_vielbein(ex);
eliminate_kronecker(ex);
by (2.0k points)
...