[GiNaC-devel] Clifford patch (cumulative)
Vladimir Kisil
kisilv at maths.leeds.ac.uk
Mon Feb 7 12:37:03 CET 2005
Hi,
I discovered that clifford_moebius_map() function was ignorant
of representative labels for Clifford numbers, which generates
misbehaviour. I include the cumulative patch which this issue along
with the previous one.
Best wishes,
Vladimir
--
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
3194a3196,3204
> 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.
>
3336c3346,3347
< const ex & d, const ex & v, const ex & G);
---
> const ex & d, const ex & v, const ex & G, unsigned char rl = 0);
> ex clifford_moebius_map(const ex & M, const ex & v, const ex & G, unsigned char rl = 0);
3341c3352
< (av+b)/(cv+d)} defined by the matrix @samp{[[a, b], [c, d]]}. The last
---
> (av+b)/(cv+d)} defined by the matrix @samp{M = [[a, b], [c, d]]}. The
Index: ginac/clifford.h
===================================================================
RCS file: /home/cvs/GiNaC/ginac/clifford.h,v
retrieving revision 1.53
diff -r1.53 clifford.h
318,319c318,320
< * @param G Metric of the surrounding space */
< ex clifford_moebius_map(const ex & a, const ex & b, const ex & c, const ex & d, const ex & v, const ex & G);
---
> * @param G Metric of the surrounding space
> * @param rl Representation label*/
> ex clifford_moebius_map(const ex & a, const ex & b, const ex & c, const ex & d, const ex & v, const ex & G, unsigned char rl = 0);
326,327c327,329
< * @param G Metric of the surrounding space */
< ex clifford_moebius_map(const ex & M, const ex & v, const ex & G);
---
> * @param G Metric of the surrounding space
> * @param rl Representation label*/
> ex clifford_moebius_map(const ex & M, const ex & v, const ex & G, unsigned char rl = 0);
Index: ginac/clifford.cpp
===================================================================
RCS file: /home/cvs/GiNaC/ginac/clifford.cpp,v
retrieving revision 1.82
diff -r1.82 clifford.cpp
1163c1163
< ex clifford_moebius_map(const ex & a, const ex & b, const ex & c, const ex & d, const ex & v, const ex & G)
---
> ex clifford_moebius_map(const ex & a, const ex & b, const ex & c, const ex & d, const ex & v, const ex & G, unsigned char rl)
1178c1178
< x = lst_to_clifford(v, mu, G);
---
> x = lst_to_clifford(v, mu, G, rl);
1184c1184
< ex clifford_moebius_map(const ex & M, const ex & v, const ex & G)
---
> ex clifford_moebius_map(const ex & M, const ex & v, const ex & G,unsigned char rl)
1188c1188
< ex_to<matrix>(M)(1,0), ex_to<matrix>(M)(1,1), v, G);
---
> ex_to<matrix>(M)(1,0), ex_to<matrix>(M)(1,1), v, G, rl);
More information about the GiNaC-devel
mailing list