# Derivatives depend on index position

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