def testeps(self): mu=g.varidx(g.symbol("mu"),4) nu=g.varidx(g.symbol("nu"),4) rho=g.varidx(g.symbol("rho"),4) sig=g.varidx(g.symbol("sig"),4) lam=g.varidx(g.symbol("lam"),4) bet=g.varidx(g.symbol("bet"),4) e=g.lorentz_eps(mu,nu,rho,sig)*g.lorentz_eps(mu.toggle_variance(), nu.toggle_variance(),lam,bet) g.simplify_indexed(e) i=g.idx(g.symbol("i"),3) j=g.idx(g.symbol("j"),3) k=g.idx(g.symbol("k"),3) A=g.symbol("A") B=g.symbol("B") e=g.epsilon_tensor(i,j,k)*g.indexed(A,j)*g.indexed(B,k) self.assertNotEqual(g.simplify_indexed(e),0) e=g.epsilon_tensor(i,j,k)*g.indexed(A,j)*g.indexed(A,k) self.assertEqual(g.simplify_indexed(e),0)
def testsimplify(self): i=g.idx(g.symbol("i"),3) j=g.idx(g.symbol("i"),3) A=g.symbol("A") B=g.symbol("B") C=g.symbol("C") sp=g.scalar_products() sp.add(A,B,0) sp.add(A,C,0) sp.add(A,A,4) e=g.indexed(A+B,i)*g.indexed(A+C,i) self.assertEqual(e.expand(g.expand_options.expand_indexed). simplify_indexed(sp),4+g.indexed(C,i)*g.indexed(B,i)) self.assertEqual(g.simplify_indexed(e.expand(g.expand_options. expand_indexed),sp),4+g.indexed(C,i)*g.indexed(B,i)) self.assertNotEqual(g.simplify_indexed(e.expand(g.expand_options. expand_indexed)),4+g.indexed(C,i)*g.indexed(B,i)) self.assertNotEqual(g.simplify_indexed(e.expand(g.expand_options. expand_indexed),sp),5+g.indexed(C,i)*g.indexed(B,i)) self.assertNotEqual(g.simplify_indexed(e.expand(g.expand_options. expand_indexed),sp),4+g.indexed(C,i)*g.indexed(B,j))