Hello, Alexei, On 10/16/07, Alexei Sheplyakov <varg@theor.jinr.ru> wrote:
I've tried to fix them in the same way as mul::expand (see the patch in the end of this mail), but this somehow breaks the clifford class,
Actually, the patch introduces problems which are not specific to clifford.cpp. In the self-check errors start from color.cpp, see the relevant portion of check/exams.out file below. Could your patch breaks simplification of indexed object somehow? By the way, I failed to apply your patch through the command patch -p1 < p.diff What is the correct way to apply it? Best wishes, Vladimir ----------indexed objects: (no output) ----------color objects: simplify_indexed(T.a*T.b*T.c*T.k*T.a*T.k*T.c*T.b)--1/162*ONE erroneously returned -7/18*ONE instead of 0 ----------clifford objects: (-4*D*ldotq+8*ldotq) - (-4*D*ldotq+4*D*m^2+8*ldotq-4*l^2*D+8*l^2) erroneously returned -4*D*m^2+4*l^2*D-8*l^2 instead of 0 (4*ldotq*q^2) - (4*m^2*q^2+8*ldotq^2-4*l^2*q^2+4*ldotq*q^2) erroneously returned -4*m^2*q^2-8*ldotq^2+4*l^2*q^2 instead of 0 (4*D*eta~rho~lam*eta~sig~nu-4*D*eta~rho~nu*eta~sig~lam-8*eta~nu~lam*eta~sig~rho+8*eta~rho~lam*eta~sig~nu-8*eta~rho~nu*eta~sig~lam-4*D*eta~nu~lam*eta~sig~rho) - (0) erroneously returned 4*D*eta~rho~lam*eta~sig~nu-4*D*eta~rho~nu*eta~sig~lam-8*eta~nu~lam*eta~sig~rho+8*eta~rho~lam*eta~sig~nu-8*eta~rho~nu*eta~sig~lam-4*D*eta~nu~lam*eta~sig~rho instead of 0 (16*eta~sig~rho-8*D*eta~sig~rho) - (0) erroneously returned 16*eta~sig~rho-8*D*eta~sig~rho instead of 0 (4*D^2*eta~sig~rho+16*eta~sig~rho) - (0) erroneously returned 4*D^2*eta~sig~rho+16*eta~sig~rho instead of 0 simplify_indexed(e~mu*e~nu*e.nu*e.mu) - (4*ONE) erroneously returned 2*(e~mu*e~nu)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].mu.nu instead of 0 simplify_indexed(e~mu*e~nu*e.mu*e.nu) - (2*(e~mu*e~nu)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].mu.nu-4*ONE) erroneously returned -8*ONE instead of 0 simplify_indexed(e.mu*e~nu*e~mu*e.nu) - (-4*ONE+2*(e.mu*e.nu)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~nu~mu) erroneously returned -8*ONE instead of 0 simplify_indexed((4*ONE+2*(e~nu*e~rho)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu.rho)*e~mu+2*(e~nu*e~rho*e~mu)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu.rho-4*e.nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu~nu) - (-4*e~rho*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.rho+4*e~nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.rho*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu~rho+4*e~mu-4*e~nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.nu) erroneously returned 8*e.1 instead of 0 for mu=1 simplify_indexed((4*ONE+2*(e~nu*e~rho)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu.rho)*e~mu+2*(e~nu*e~rho*e~mu)*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu.rho-4*e.nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu~nu) - (-4*e~rho*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.rho+4*e~nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.rho*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]].nu~rho+4*e~mu-4*e~nu*[[-1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]~mu.nu) erroneously returned 8*e.1 instead of 0 for mu=1