In general, please try to boil down your problem to something that can be displayed here, because dropbox files tend to have a short lifetime.
product_rule
only works when you have a derivative acting on a product. It does not work when you have a derivative acting on a sum of products. In those cases, you first need to distribute
the derivative over the terms in the product.
Thanks for spotting the second issue. eliminate_metric
should by default act at an arbitrary level in the expression, but has deep=False
as default argument, and hence does not go into the individual terms of the sum which forms your expression. You can work around this bug for the time being by using
eliminate_metric(_, deep=True);