def test_simplify_lines(): i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12 = tensor_indices( 'i0:13', G.LorentzIndex) s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16 = \ tensor_indices('s0:17', DiracSpinorIndex) g = G.LorentzIndex.metric Sdelta = DiracSpinorIndex.delta t = G(i1, s1, -s2) * G(i2, s2, -s1) * G(i3, s4, -s5) * G(i4, s5, -s6) * G( i5, s7, -s8) r = G.simplify_lines(t) assert r.equals(4 * G(i5, s7, -s8) * G(i3, s4, -s0) * G(i4, s0, -s6) * g(i1, i2)) t = G(i1, s1, -s2) * G(i2, s2, -s1) * G(i3, s4, -s5) * G(-i3, s5, -s6) * G( i5, s7, -s8) r = G.simplify_lines(t) assert r.equals(16 * G(i5, s7, -s8) * Sdelta(s4, -s6) * g(i1, i2)) t = G(i1, s1, -s2) * G(i2, s2, -s1) * G(i3, s4, -s5) * G(i4, s5, -s6) * G( i5, s7, -s8) r = G.simplify_lines(t) assert r.equals(4 * G(i5, s7, -s8) * G(i3, s4, s0) * G(i4, -s0, -s6) * g(i1, i2)) t = G(i5, s7, -s8) * G(i6, s9, -s10) * G(i1, s1, -s2) * G(i3, s4, -s5) * G( i2, s2, -s1) * G(i4, s5, -s6) * G(-i6, s10, -s9) r = G.simplify_lines(t) assert r.equals(64 * G(i5, s7, -s8) * G(i3, s4, s0) * G(i4, -s0, -s6) * g(i1, i2)) t = G(i5,s7,-s8)*G(i6,s9,-s10)*G(i1,s1,-s2)*G(i7,s12,-s11)*G(i3,s4,-s5)*\ G(i2,s2,-s1)*G(i4,s5,-s6)*G(-i6,s10,-s9)*G(-i7,s11,-s13) r = G.simplify_lines(t) assert r.equals(256*G(i5, s7, -s8)*G(i3, s4, s0)*G(i4, -s0, -s6)*\ g(i1, i2)*Sdelta(s12,-s13))
def test_simplify_lines(): i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 = tensor_indices('i0:13', G.LorentzIndex) s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16 = \ tensor_indices('s0:17', DiracSpinorIndex) g = G.LorentzIndex.metric Sdelta = DiracSpinorIndex.delta t = G(i1,s1,-s2)*G(i2,s2,-s1)*G(i3,s4,-s5)*G(i4,s5,-s6)*G(i5,s7,-s8) r = G.simplify_lines(t) assert r.equals(4*G(i5, s7, -s8)*G(i3, s4, -s0)*G(i4, s0, -s6)*g(i1, i2)) t = G(i1,s1,-s2)*G(i2,s2,-s1)*G(i3,s4,-s5)*G(-i3,s5,-s6)*G(i5,s7,-s8) r = G.simplify_lines(t) assert r.equals(16*G(i5, s7, -s8)*Sdelta(s4, -s6)*g(i1, i2)) t = G(i1,s1,-s2)*G(i2,s2,-s1)*G(i3,s4,-s5)*G(i4,s5,-s6)*G(i5,s7,-s8) r = G.simplify_lines(t) assert r.equals(4*G(i5, s7, -s8)*G(i3, s4, s0)*G(i4, -s0, -s6)*g(i1, i2)) t = G(i5,s7,-s8)*G(i6,s9,-s10)*G(i1,s1,-s2)*G(i3,s4,-s5)*G(i2,s2,-s1)*G(i4,s5,-s6)*G(-i6,s10,-s9) r = G.simplify_lines(t) assert r.equals(64*G(i5, s7, -s8)*G(i3, s4, s0)*G(i4, -s0, -s6)*g(i1, i2)) t = G(i5,s7,-s8)*G(i6,s9,-s10)*G(i1,s1,-s2)*G(i7,s12,-s11)*G(i3,s4,-s5)*\ G(i2,s2,-s1)*G(i4,s5,-s6)*G(-i6,s10,-s9)*G(-i7,s11,-s13) r = G.simplify_lines(t) assert r.equals(256*G(i5, s7, -s8)*G(i3, s4, s0)*G(i4, -s0, -s6)*\ g(i1, i2)*Sdelta(s12,-s13))
index1 = tensor_indices('index1', G.LorentzIndex) GMH(index1) index1 = tensor_indices('index1', GammaMatrix.LorentzIndex) GM(index1) GammaMatrix.LorentzIndex.metric p, q = tensorhead('p, q', [G.LorentzIndex], [[1]]) index0,index1,index2,index3,index4,index5 = tensor_indices('index0:6', G.LorentzIndex) ps = p(index0)*GM(-index0) qs = q(index0)*GM(-index0) GM.gamma_trace(GM(index0)*GM(index1)) GM.gamma_trace(ps*ps) - 4*p(index0)*p(-index0) GM.gamma_trace(ps*qs + ps*ps) - 4*p(index0)*p(-index0) - 4*p(index0)*q(-index0) p, q = tensorhead('p, q', [GM.LorentzIndex], [[1]]) index0,index1,index2,index3,index4,index5 = tensor_indices('index0:6', G.LorentzIndex) ps = p(index0)*G(-index0) qs = q(index0)*G(-index0) GM.simplify_gpgp(ps*qs*qs) index0,index1,index2,index3,index4,index5 = tensor_indices('index0:6', GammaMatrix.LorentzIndex) spinorindex0,spinorindex1,spinorindex2,spinorindex3,spinorindex4,spinorindex5,spinorindex6,spinorindex7 = tensor_indices('spinorindex0:8', DiracSpinorIndex) GM = GammaMatrix t = GM(index1,spinorindex1,-spinorindex2)*GM(index4,spinorindex7,-spinorindex6)*GM(index2,spinorindex2,-spinorindex3)*GM(index3,spinorindex4,-spinorindex5)*GM(index5,spinorindex6,-spinorindex7) GM.simplify_lines(t)