EliminateMetrics eliminates contractions with metric tensors and Kronecker deltas in any part of expression.EliminateMetrics eliminates metrics for all types of indices, for who metric is defined. EliminateMetrics eliminates Kroneckers for all types of indices (even if no metric is defined for this type). Eliminate metric tensor and Kronecker delta:
println EliminateMetrics >> 'g_nm*A^m*d^n_a'.t
> A_a
Eliminate metric tensors in D dimensions:
def t = ('g^mn*g^ab*g^gd*(p_g*g_ba + p_a*g_bg)*(p_m*g_dn + p_n*g_dm)').t
//eliminate metrics in D dimensions
println ((EliminateMetrics & 'd_a^a = D'.t) >> t)
> 2*(1+D)*p^{d}*p_{d}
Eliminate metric tensors for different types of indices:
def t = 'g_mn*A^mn + g_\\alpha\\beta*B^\\alpha\\beta + g_AB*C^AB'.t println EliminateMetrics >> t
> A_{n}^{n}+B_{\beta}^{\beta}+C_{B}^{B}