"CB" == Christian Bauer <Christian.Bauer@uni-mainz.de> writes:
CB> Ok, but this would cause any metric tensors arising from CB> contractions etc. to have no (specified) symmetry, thereby CB> possibly preventing simplifications if the metric was in fact CB> symmetric. Maybe GiNaC needs to also store the symmetry of the CB> metric somewhere. A user can specify a symmetry explicitly if its presents. I added a note on it into documentation. Please see the attached patch which accumulate the discussion. -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk -- www: http://maths.leeds.ac.uk/~kisilv/ Index: doc/tutorial/ginac.texi =================================================================== RCS file: /home/cvs/GiNaC/doc/tutorial/ginac.texi,v retrieving revision 1.159 diff -r1.159 ginac.texi 3179,3180c3179,3181 < @samp{e~i e~j + e~j e~i = B(i, j)} for some symmetric matrix (@code{metric}) < @math{B(i, j)}. Such generators are created by the function ---
@samp{e~i e~j + e~j e~i = B(i, j)} for some matrix (@code{metric}) @math{B(i, j)}, which may be non-symmetric. Such generators are created by the function 3193a3195,3203
If the matrix @math{B(i, j)} is in fact symmetric you may prefer to create the Clifford algebra units with a call like that
@example ex e = clifford_unit(mu, indexed(B, sy_symm(), i, j)); @end example
since this may yield some further automatic simplifications. Index: ginac/clifford.h =================================================================== RCS file: /home/cvs/GiNaC/ginac/clifford.h,v retrieving revision 1.53 diff -r1.53 clifford.h 194c194 < * @param metr Metric (should be of class tensmetric or a derived class, or a symmetric matrix)
* @param metr Metric (should be of class tensmetric or a derived class, or a matrix) 291c291 < * @param metr Metric (should be of class tensmetric or a derived class, or a symmetric matrix)
* @param metr Metric (should be of class tensmetric or a derived class, or a matrix) Index: ginac/clifford.cpp =================================================================== RCS file: /home/cvs/GiNaC/ginac/clifford.cpp,v retrieving revision 1.82 diff -r1.82 clifford.cpp 158c158 < return indexed(metric, symmetric2(), i, j);
return indexed(metric, i, j);