Eliminate metric acts on non-tensors.
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@...> |
2010-02-06 15:33 GMT | Kasper Peeters <kasper.peeters@...> |