Thanks for all the help. Another newbie question: I have read the doc carefully but `asym(..., ..., antisymmetric=False)`

did not solve the following question.

Consider please the two expressions:

```
ex1 := g_{\mu\kappa} \partial_{\nu}{g^{\rho\kappa}} ->
-g^{\rho\kappa} \partial_{\nu}{g_{\mu\kappa}};
ex2 := g_{\mu\kappa} \partial_{\nu}{g^{\kappa\rho}} ->
-g^{\rho\kappa} \partial_{\nu}{g_{\mu\kappa}};
```

They are identical except for a change of order `ρκ <--> κρ`

in `g^{\rho\kappa}`

. I find this change does make a differnce in some substitutions, so that's why I need it.

Is there a way to make that change of order programmatically, without writing out the expression by hand? `asym()`

will (anti-)symmetrize but then when I canonicalise I get back the original order rather than the order I want.

Many thanks as always GPN