Dear Alexei, On Wed, 13 Dec 2006, Sheplyakov Alexei wrote:
ex H1 = color_f(a, c, e)*color_f(b, d, e) + color_f(a, d, e)*color_f(b, c, e);
ex test = (H1*H1).expand(expand_options::expand_indexed); cout << test << endl; // 2*f.e.b.d*f.e.b.c*f.e.a.c*f.e.a.d+f.symbol8.b.c*f.symbol8.a.d*f.e.b.c*f.e.a.d+f.symbol7.b.d*f.symbol7.a.c*f.e.b.d*f.e.a.c // inconsistent indices!
cout << test.simplify_indexed() << endl; // prints 288, should be 216
At my place this prints 144-2*f.c.a.symbol8*f.a.d.e*f.d.symbol8.b*f.c.e.b. Strange??? @dummy index renaming: yes, this has been much improved in HEAD. In principle I think it would be possible to move the class make_flat_inserter into the *.cpp files. But that would be code duplication. Not so nice. Besides that, new functions were added to indexed.cpp and these need to be called from indexed.h. Fixing all this in a binary compatible way would get way too messy IMO. Maybe we should release 1.4 and claim proudly that we now can rename dummy indices. Good thing that we don't keep an accurate NEWS file. That way we can can announce it like it is new. :-o ;-) Best wishes, Chris