Eliminate metric acts on non-tensors.

« cadabra project page

Calling eliminate_metric on expressions which are not actually tensors still raises/lowers the indices, e.g.

{m,n,o}::Indices. \partial{#}::PartialDerivative. g_{m n}::Metric. g^{m n}::InverseMetric.

\partial_{i}{g_{m n}} g^{n o}; @eliminate_metric!(%);

Fix requires associating a metric wrt. a derivative, e.g.

\partial{#}::PartialDerivative(metric=g). \nabla{#}::Derivative(metric=g).

etc.

Edit: can also fix this by adding a Depends, which looks less clumsy and requires no additional notation:

g_{m n}::Depends(\partial).

That way we can even handle special cases in which the metric does not depend on coordinates even though in general it would.

Details

Id: db53ba8697972d02ee83a31fb26a798f4ef0a7d0
Type: bugfix
Creation time: 2010-02-06 15:33 GMT
Creator: Kasper Peeters <kasper.peeters@...>
Release: unassigned
Component: cadabra
Status: unstarted

Issue log

2010-04-06 14:10 GMT Kasper Peeters <kasper.peeters@...> edited description
2010-02-06 15:33 GMT Kasper Peeters <kasper.peeters@...> created