[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