Dear Chris,
"CD" == Chris Dams <Chris.Dams@mi.infn.it> writes: CD> I have another question for Vladimir: at some places in CD> clifford.cpp locally within some functions a varidx is CD> created. But now that clifford objects can also carry indices CD> without variance, is this still correct? Maybe it should depend CD> on the kind of index that wat supplied to such a function?
Thanks for pointing this, I have overseen it. Now I try to look on it, but.... CD> I have improved the dummy index renaming. Now dummy indices are (if CD> necessary) also renamed after mul::map is called. I made the code a bit CD> nicer. ... it seems to be a problem with dummy renaming in combination of indexes without variance and non-commutative products. Here is the example: #include <stdexcept> #include <sstream> using namespace std; #include <ginac/ginac.h> using namespace GiNaC; int main() { try { idx i(symbol("i"),4); realsymbol t("t"), x("x"), y("y"), z("z"); matrix M(4,1), M1(4,1); M= t, x,y,z; M1= 1,2,3,4; ex e=clifford_unit(i,diag_matrix(lst(1,-1,1,-1))); ex a=indexed(M,i)*e; ex a1=indexed(M1,i)*e; cout << (a+dirac_ONE())*a1 << endl; //-> [[1],[2],[3],[4]].i*((ONE+[[t],[x],[y],[z]].symbol8*e.symbol8)*e.symbol8) } catch (exception &p) { cerr << "Got problem: " << p.what() << endl; } } Have you got any idea how to fix it? Best wishes, Vladimir -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk -- www: http://maths.leeds.ac.uk/~kisilv/