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

Hi,

I noticed recently that
- the dependence of an object only includes the given position of the index
and also that
- objects with derivatives cannot change their index-position
if the index position is given as fixed.

For example, the Exp in the following gives zero, because only A with an upper index depends on the derivative:

{\mu,\nu}::Indices(position=fixed);
{\mu,\nu}::Integer(0..3);
\partial{#}::PartialDerivative;
A^\mu::Depends(\partial{#});

Exp:= \partial^{\mu}{A_\nu};
unwrap(_);

Of course I could just make A dependent on \partial for lowercase indices as well or just for every index position via

A{#}::Depends(...);

but it still strikes me as odd.

Secondly, once I have defined objects with derivatives, the index position does not change through the use of canonicalise. So for example

Exp:= \partial_{\mu}{A^\mu} - \partial^{\mu}{A_\mu};
canonicalise(_);

gives not zero as expected. And even if I derive a scalar, its index is fixed, so

Exp:= A^\mu \partial_{\mu}{B} - A_\mu \partial^{\mu}{B};
canonicalise(_);

does not give zero.

I usually don't want to think about the position of dummy indices. So if it would be possible to give the index positions of derivatives a bit more freedom I would be very grateful!

Cheers,
Karim

asked in Bug reports by (290 points)

Please log in or register to answer this question.

...