[GiNaC-devel] Clifford extension

Thu Dec 2 16:22:03 CET 2004

```>>>>> "CB" == Christian Bauer <Christian.Bauer at 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 at 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);

```